当前位置:  开发笔记 > 编程语言 > 正文

如何在blob中计算情绪分析

如何解决《如何在blob中计算情绪分析》经验,为你挑选了1个好方法。

我使用以下来计算200个短句的情绪.我没有使用训练数据集:

for sentence in textblob.sentences: print(sentence.sentiment)

分析返回两个值:极性和主观性.根据我在网上看到的,极性分数是在[-1.0,1.0]范围内的浮点数,其中0表示中性,+1表示非常积极态度,-1表示非常消极态度.主观性是在[0.0,1.0]范围内的浮点数,其中0.0是非常客观的,1.0是非常主观的.

那么,现在我的问题是:这些分数是如何计算的?

对于几乎一半的短语的极性分数,我有一些零,我想知道零是否表示中立,或者更确切地说这个短语不包含具有极性的单词这一事实.我想知道另一个情绪分析器的相同问题:NaiveBayesAnalyzer.

谢谢您的帮助!
玛丽



1> Luke..:

TextBlob NaiveBayesAnalyzer显然是基于斯坦福NLTK.这里解释了朴素贝叶斯算法: 朴素贝叶斯分类的简单解释

这里描述了它对情感和客观性的应用:http: //nlp.stanford.edu/courses/cs224n/2009/fp/24.pdf

基本上你是对的,根据在某些训练数据中使用它们的方式,某些单词将被标记为"40%正面/ 60%负面"(对于斯坦福NLTK,训练数据是电影评论).然后将句子中所有单词的分数相乘以产生句子分数.

我没有测试过,但是我希望如果库正好返回0.0,那么你的句子中不包含任何在NLTK训练集中具有极性的单词.我怀疑研究人员没有包括他们,因为1)他们在训练数据中太罕见或2)他们被认为是没有意义的(例如"the","a","and"等).

这适用于朴素贝叶斯分析仪.关于PatternAnalyzer,TextBlob文档说它基于"模式"库,但它似乎没有记录它是如何工作的.我怀疑发生了类似的事情.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有