YELP NLP 文本信息提取项目

@YELP NLP

YELP NLP (文本信息提取)

为了做研究,进了Yelp这个大坑。自己选的题,哭着也得搞出来… 感觉边写代码边记录下心得体会、下一步的构想等等有的没的,是个很好的整理思路的过程。所以我接下来会长篇累牍地写自己在做这个项目的过程中所遇到的问题和可能的解决方法。
挑来挑去,还是觉得CSDN的写博界面最友好,所以就在这里扎根啦。
哦!我的NLP! I am coming!

写在前面

我从Yelp 上收集了一些用户评论,现在希望从这些评论中提取出我想要的信息,特别是与用户的位置和社会网络相关的信息。目前,我设想的是训练一个分类模型,输入用户评论,输出0-1变量,告诉我这个评论中是否有我想要的信息。如果有的话,当然我可以继续深入下去,最终从模型中提取出这些信息。但是我现在想先从最简单的情况入手,只要模型能够告诉我输入项里是否存在我感兴趣的信息即可。目前,我还不知道具体怎么定义信息存在或不存在。我有的只是一个大致的想法。我知道我想要最终找到的句子是下面两类:

  • 关于位置的:
  1. This place is close to my place/home/apartment/work.
  2. I live close by. I live close by.
  3. This is a local restaurant. This is a local restaurant.
  • 关于社会网络的:
  1. I came with people from my work.
  2. I came to celebrate my birthday with my family. I came to celebrate my birthday with my family.
  3. This place was recommended by my boss/coworker. This place was recommended by my boss/coworker.

简单点说,我希望判断用户提交的评论中是否包含这样的信息,让我能够据此推测出他的住址/工作地址或社交情况。有可能这可以简化成一个关键词提取问题,但是我初步想了一下,感觉只是判断关键词是否存在似乎太简单了一点,模型的准确度可能很低,不过如果我最终想做一个分类模型的话,这无疑可以作为其中一个特征传进去。在关键词的选择上,我可能也需要多考虑一下。因为我的直觉告诉我,像apartment, home, work, coworker这样的关键词可能是比local, live, close等要更relevant一点。名词似乎更重要,但是只有这些名词也不行,因为我还需要知道这些名词的使用情景,只是告诉我他家的情况并不够,我希望他告诉我的是,他家住在附近,所以word embedding无疑是有必要的。但是more than embedding of any word, 也许我需要赋予我所关注的那些关键词的embedding更多的权重?我还需要再想一下细节,但是问题的关键应该就是关键词定位,并确定它们的使用情景。我之前有想过,用语言模型的方法来formalize使用情景,但是我看了相关文献,感觉也许embedding的想法更容易实现、效果也可能更好一些,毕竟网上已经有成型的实现embedding的工具了,而具体要定义什么样的语言模型、怎么定义,我还需要自己去摸索。后一种方式感觉吃力不讨好,工作量大不说,还存在不确定性,不知道效果怎么样。

我现在关注的虽然有两组信息,但是其实只要做出来其中一组的分类模型,第二组就会很容易了。我决定从位置信息入手,集中精力建一个能够work的位置分类模型。

建这个模型碰到的第一个问题是,到底是以句子为单位还是以整个评论文本为单位。其实我关注的应该是句子,但是如果要建以句子为单位的模型的话,我就需要有一个非常快的sentence tokenizer。而我初步试验了一下spaCy,它的performance完全跟不上我的需求。因为这个package里面附属了太多其他的东西,虽然我一把文本传进它的nlp model,就可以得到一个sentence list, 但是它同时也返给我很多其他我暂时不想要的东西,这些附属的功能现在看来就成了一个累赘,不必要的占用了资源。
事实上,我刚刚做了一下试验,估算了一下如果要用spacy给我所有的文本断句的话,需要大概10,000秒, 也就是166分钟,大概3个小时。这个时间倒也不是完全不能接受,但是转念一想,我现在还只有大概30万的用户评论。30万就已经需要这么久了,可以预见,如果我以后扩大样本量的话,光断句这个最basic的步骤就要花天长地久那么久,实在不合理。

所以我需要迅速的figure out 怎么能又快

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值