关于情绪分析的问题

时间:2011-04-21 07:52:13

标签: python twitter machine-learning sentiment-analysis

我对需要帮助的情绪分析有疑问。

现在,我收到了一些我通过twitter搜索API收集的推文。因为我使用了我的搜索词,所以我知道我想要查看的主题或实体(人名)是什么。我想知道其他人对这些人的感受。

对于初学者,我下载了一个具有已知效价/情绪分数的英语单词列表,并根据推文中这些单词的可用性计算情绪(+/-)。问题在于情绪以这种方式计算 - 我实际上更多地关注推文的基调而不是关于这个人。

例如,我有这条推文:

"lol... Person A is a joke. lmao!"

该消息显然是积极的,但A人应该得到否定。

为了改善我的情绪分析,我可以考虑我的单词列表中的否定和修饰符。但是我怎样才能得到我的情绪分析来看待信息的主题(可能是讽刺)呢?

如果有人能引导我走向某些资源,那就太好了。

3 个答案:

答案 0 :(得分:5)

在等待AI领域研究人员的答案时,我会给你一些关于你能快速做些什么的线索。

即使这个主题需要自然语言处理,机器学习甚至心理学方面的知识,你也不必从头开始,除非你绝望或者不相信该领域正在进行的研究质量。 / p>

情感分析的一种可能方法是将其视为有监督的学习问题,其中您有一些小型培训语料库,其中包括人工注释(后来有关)和测试语料库,您可以在其上测试您的接近程度/系统正在执行。对于训练,您将需要一些分类器,如SVM,HMM或其他一些分类器,但要保持简单。我会从二进制分类开始:好,坏。您可以对连续的意见范围进行相同的操作,从正面到负面,即获得排名,如谷歌,其中最有价值的结果排在最前面。

对于开始检查libsvm classifier,它能够进行分类{好,坏}和回归(排名)。 注释的质量会对您获得的结果产生巨大影响,但是从哪里获得呢?

我发现one project about sentiment analysis涉及餐馆。有数据和代码,因此您可以看到他们如何从自然语言中提取特征以及在分类或回归中得分较高的特征。 该语料库包括客户对他们最近访问过的餐馆的意见,并提供有关食品,服务或氛围的一些反馈。 关于他们的意见和数字世界的联系以他们给餐馆的星星数量表示。您在一个网站上拥有自然语言,在另一个网站上拥有餐厅的价格。

查看此示例,您可以针对所述问题设计自己的方法。 看看nltk也是如此。使用nltk,您可以进行部分语音标记,并且运气也可以获得名称。完成后,您可以向分类器添加一个功能,如果在n个单词内(跳过n-gram),会有一个分数给一个名称,有表达意见的单词(查看餐馆语料库)或使用您已经拥有的权重,但它是最好依靠一个班主来学习重量,这是他的工作。

答案 1 :(得分:3)

在当前的技术状态下,这是不可能的。

英语(和任何其他语言)非常复杂,无法通过程序“解析”。为什么?因为一切必须是特殊的。说某人是个笑话是一个笑话的特例,这是你程序中的另一个例外。 Etcetera等等。

一个很好的例子(由ScienceFriction在这里发布的SO):

  

同样,情绪词“不可预测”在惊悚片的背景下可能是积极的,但在描述丰田的休息制度时则是否定的。

如果您愿意在这个问题上花费+/- 40年的时间,请继续,我们将非常感激:)

答案 2 :(得分:2)

我并不完全同意nightcracker所说的。我同意这是一个难题,但我们正朝着解决方案取得良好进展。

例如,“词性”可能会帮助您找出句子中的主语,动词和宾语。并且'n-gram'可以帮助你在丰田与惊悚的例子中找出背景。看看TagHelperTools。它建立在weka之上,提供词性和n-gram标记。

但是,很难得到OP想要的结果,但这不会花费40年。