情绪分析问题

goh*_*goh 3 python twitter machine-learning sentiment-analysis

关于情感分析,我有一个需要帮助的问题。

现在,我已经通过Twitter搜索api收集了一堆推文。因为使用搜索词,所以我知道要查看的主题或实体(人名)。我想知道别人对这些人的看法。

首先,我下载了具有已知价/情感分数的英语单词列表,并根据推文中这些单词的可用性来计算情感(+/-)。问题在于情绪是通过这种方式计算的-实际上,我更多地关注推文的语气,而不是关于此人。

例如,我有这条推文:

"lol... Person A is a joke. lmao!"
Run Code Online (Sandbox Code Playgroud)

该消息显然是正面的,但是人A应该得到负面的。

为了改善情绪分析,我可能可以考虑单词列表中的否定和修饰语。但是,我如何才能准确地进行情绪分析来查看消息的主题(甚至可能是讽刺)?

如果有人可以引导我获得一些资源,那就太好了。

mat*_*eek 5

在等待AI领域研究人员的答案时,我将为您提供一些有关您可以快速完成操作的线索。

即使该主题需要自然语言处理,机器学习乃至心理学的知识,您也不必从头开始,除非您绝望或对该领域的研究质量不信任。

情绪分析的一种可能方法是将其视为监督学习问题,其中您需要一些小型训练语料库,其中包括人工注释(稍后有此注释)和测试语料库,您可以在其上测试自己的方法/系统的执行情况。为了进行培训,您将需要一些分类器,例如SVM,HMM或其他一些分类器,但要保持简单。我将从二进制分类开始:好,坏。您可以对连续的意见范围(从肯定到否定)执行相同的操作,即获得像Google这样的排名,其中最有价值的结果排在首位。

首先,检查libsvm分类器,它既可以进行分类{good,bad}也可以进行回归(排名)。批注的质量将对您获得的结果产生重大影响,但从何处获得注释?

我找到了一个与餐厅有关的情绪分析项目。既有数据又有代码,因此您可以看到它们如何从自然语言中提取特征,以及哪些特征在分类或回归中得分较高。语料库由客户对他们最近访问过的餐馆的意见组成,并提供了有关食物,服务或氛围的一些反馈。关于他们的意见和数字世界的联系以他们给餐厅的星级数量来表达。您在一个网站上使用自然语言,而在另一个网站上使用餐厅的价格。

看这个例子,您可以设计出自己的解决问题的方法。也来看看nltk。使用nltk,您可以进行语音标记的一部分,也可以通过运气获得名称。完成后,您可以在分类器中添加一个功能,如果在n个字(跳过n-gram)内有表示意见(查看餐厅语料库)或使用您已经拥有的权重的字,则会为名称分配分数。最好依靠班主任来学习举重,这是他的工作。