首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在blob中如何计算情感分析

在blob中如何计算情感分析
EN

Stack Overflow用户
提问于 2015-12-30 04:28:40
回答 2查看 9.3K关注 0票数 10

我使用下面的公式来计算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。

谢谢你的帮助!

玛丽

EN

回答 2

Stack Overflow用户

发布于 2015-12-30 05:08:03

TextBlob NaiveBayesAnalyzer显然是基于斯坦福大学的NLTK。朴素贝叶斯算法的一般解释如下:A simple explanation of Naive Bayes Classification

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

基本上你是对的,根据某些训练数据(对于斯坦福NLTK,训练数据是电影评论)中的使用情况,某些单词将被标记为"40%肯定/ 60%否定“。然后将句子中所有单词的分数相乘,得到句子分数。

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

这适用于朴素贝叶斯分析器。关于PatternAnalyzer,TextBlob文档说它是基于“模式”库的,但似乎没有说明它是如何工作的。不过,我怀疑类似的事情正在发生。

票数 12
EN

Stack Overflow用户

发布于 2020-06-08 09:39:08

根据TextBlob的创建者Steven Loria的说法,TextBlob的情感分析器委托给pattern.en的情感模块。Pattern.en本身使用了一个基于字典的approach,带有一些启发式的处理,例如否定。你可以找到源代码here,它是Pattern.en的文本模块的厂商版本,对Python3的兼容性做了一些小的调整。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34518570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档