Python TextBlob,完全不准确

Python TextBlob,完全不准确,python,python-2.7,nltk,textblob,Python,Python 2.7,Nltk,Textblob,看看我们最近做的一项调查的反应。我认为这个被调查者并不那么高兴。在这里,TextBlob会让我相信他的情绪已经达到了积极的上限。如果我从字符串中删除“best”一词,情绪得分将变为“0” 你能帮我重新灌输我的信任吗?在这个非常简单的应用程序中,我做错了什么 a = "Follow on rounds for the best prospects. Some choke to death now." b = TextBlob(a) print b.sentiment 情绪(极性=1.0,主观性

看看我们最近做的一项调查的反应。我认为这个被调查者并不那么高兴。在这里,TextBlob会让我相信他的情绪已经达到了积极的上限。如果我从字符串中删除“best”一词,情绪得分将变为“0”

你能帮我重新灌输我的信任吗?在这个非常简单的应用程序中,我做错了什么

a = "Follow on rounds for the best prospects. Some choke to death now."
b = TextBlob(a)
print b.sentiment 
情绪(极性=1.0,主观性=0.3)


谢谢,

你需要明白,机器,即使学会了一些东西,也不是人。“为了最好的前景,接下来的几轮比赛。有些人现在窒息而死。”这句话即使对于一个人来说也有点让人困惑,因为第一句话和第二句话之间似乎没有什么联系

此外,你可能会看到许多其他真实的情况,其中极性与非常明显的事物相反。如果您需要处理许多这样的情况,您可以使用以下代码,这可能会大大改善您的结果

from textblob import TextBlob
from textblob.sentiments import NaiveBayesAnalyzer
a = "Follow on rounds for the best prospects. Some choke to death now."
b = TextBlob(a, analyzer=NaiveBayesAnalyzer()))
print(b.sentiment)
对于你的例子(我个人认为这不是一个好例子,甚至对人类来说也是令人困惑的),结果如下:
情绪(分类='pos',p_pos=0.5730186699265399,p_neg=0.42698133007345906)

这仍然是积极的,但你可以看到pos和neg分数之间的差异。对我来说,它大部分时间都是成功的,用的是相关且有意义的句子

有关代码中更改内容的说明,请参见以下内容:

textblob.感伤模块包含两个感伤分析实现,PatternAnalyzer(基于模式库)和NaiveBayesAnalyzer(在电影评论语料库上训练的NLTK分类器)

默认实现是PatternAnalyzer,但是您可以通过将另一个实现传递到TextBlob的构造函数中来覆盖分析器


你需要明白,一台机器,即使学了很少的东西,也不是人。“为了最好的前景,接下来的几轮比赛。有些人现在窒息而死。”这句话即使对于一个人来说也有点让人困惑,因为第一句话和第二句话之间似乎没有什么联系

此外,你可能会看到许多其他真实的情况,其中极性与非常明显的事物相反。如果您需要处理许多这样的情况,您可以使用以下代码,这可能会大大改善您的结果

from textblob import TextBlob
from textblob.sentiments import NaiveBayesAnalyzer
a = "Follow on rounds for the best prospects. Some choke to death now."
b = TextBlob(a, analyzer=NaiveBayesAnalyzer()))
print(b.sentiment)
对于你的例子(我个人认为这不是一个好例子,甚至对人类来说也是令人困惑的),结果如下:
情绪(分类='pos',p_pos=0.5730186699265399,p_neg=0.42698133007345906)

这仍然是积极的,但你可以看到pos和neg分数之间的差异。对我来说,它大部分时间都是成功的,用的是相关且有意义的句子

有关代码中更改内容的说明,请参见以下内容:

textblob.感伤模块包含两个感伤分析实现,PatternAnalyzer(基于模式库)和NaiveBayesAnalyzer(在电影评论语料库上训练的NLTK分类器)

默认实现是PatternAnalyzer,但是您可以通过将另一个实现传递到TextBlob的构造函数中来覆盖分析器


首先,为什么您会信任一个名为“TextBlob”的工具?更严重的是:TextBlob使用了一些经过预训练的模型(在使用该工具时,您不必关心这些),但它们并不完美,因为没有任何NLP任务。如果你想改进这个工具,你需要定制,重新训练,尝试不同的东西。。。欢迎来到NLP!首先,为什么您会信任一个名为“TextBlob”的工具?更严重的是:TextBlob使用了一些经过预训练的模型(在使用该工具时,您不必关心这些),但它们并不完美,因为没有任何NLP任务。如果你想改进这个工具,你需要定制,重新训练,尝试不同的东西。。。欢迎来到NLP!