Python 情绪分析问题

Python 情绪分析问题,python,twitter,machine-learning,sentiment-analysis,Python,Twitter,Machine Learning,Sentiment Analysis,我有一个关于情绪分析的问题需要帮助 现在,我通过twitter搜索api收集了一堆推特。因为我使用了搜索词,所以我知道我要查看的主题或实体(人名)是什么。我想知道其他人对这些人的看法 首先,我下载了一个已知配价/情感分数的英语单词列表,并根据推文中这些单词的可用性计算情感(+/-)。问题是情绪是这样计算的——我实际上更多地关注的是推特的语气,而不是那个人 例如,我有一条推特: 信息显然是用积极的语气传达的,但人a应该得到消极的语气 为了改进我的情绪分析,我可能需要考虑单词列表中的否定词和修饰词。

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

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

首先,我下载了一个已知配价/情感分数的英语单词列表,并根据推文中这些单词的可用性计算情感(+/-)。问题是情绪是这样计算的——我实际上更多地关注的是推特的语气,而不是那个人

例如,我有一条推特:

信息显然是用积极的语气传达的,但人a应该得到消极的语气

为了改进我的情绪分析,我可能需要考虑单词列表中的否定词和修饰词。但是,我怎样才能让我的情绪分析转而关注信息的主题(可能还有讽刺)


如果有人能告诉我一些资源,那就太好了……

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

英语(和任何其他语言)非常复杂,程序还不能“解析”。为什么?因为每件事都必须特殊处理。说某人是笑话是笑话的特例,这是程序中的另一个例外。等等

一个很好的例子(由ScienceFromiction在此处某处发布):

类似地,“不可预测”这个词在惊悚片中可能是积极的,但在描述丰田汽车的刹车系统时可能是消极的


如果你愿意在这个问题上花费+/-40年的时间,那么就开始吧,我们会非常感激:)

在等待人工智能领域研究人员的答案时,我会给你一些线索,告诉你可以快速做些什么

尽管这个主题需要自然语言处理、机器学习甚至心理学方面的知识,但除非你绝望或对该领域正在进行的研究质量不信任,否则你不必从头开始

情绪分析的一种可能方法是将其视为一个有监督的学习问题,在这个问题上,你有一些小的训练语料库,其中包括人工标注(稍后将介绍),还有一个测试语料库,你可以在上面测试你的方法/系统的表现。对于训练,你需要一些分类器,比如SVM、HMM或其他一些,但要保持简单。我将从二进制分类开始:好的,坏的。你可以对连续的意见范围做同样的事情,从正面到负面,也就是获得排名,就像谷歌一样,最有价值的结果排在首位

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

我发现这是和餐馆打交道的。有数据和代码,所以您可以看到它们是如何从自然语言中提取特征的,以及哪些特征在分类或回归中得分较高。 语料库包括顾客对他们最近参观过的餐馆的意见,以及对食物、服务或氛围的一些反馈。 他们的观点和数字世界之间的联系是通过他们给餐厅的明星数量来表达的。你在一个网站上有自然语言,在另一个网站上有餐馆的价格

看看这个例子,你可以为所述问题设计出自己的方法。
也来看看。使用nltk,您可以进行词性标记,如果运气好,还可以获得名称。完成后,您可以向分类器添加一个功能,如果在n个单词(跳过n-gram)内有表达意见的单词(查看餐厅语料库)或使用您已有的权重,则该功能将为名称分配分数,但最好依靠分类器来学习权重,这是他的工作。

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

例如,“词性”可以帮助你理解句子中的主语、动词和宾语。而“n-grams”可能会帮助你在丰田vs.thriller的例子中理解上下文。看看它建立在weka之上,提供词性和n-grams标记


尽管如此,很难得到OP想要的结果,但不会花40年。

“是的,没错。”分析这条信息的基调是一项挑战。你需要意识到,你的分析总是会出现错误的结果(或者不存在正确的结果!),因为大多数人在检测书面文本中的讽刺时有困难,所以算法很难实现这一目标。
"lol... Person A is a joke. lmao!"