nltk NaiveBayesClassifier培训博客情绪分析

时间:2014-11-22 06:00:09

标签: python nltk

我从不同的博文中删除了有关特定主题的文字。我读到的关于sentimenet分析的大多数主题都是基于训练分类器,以便确定它是否是pos / neg答案,如thread所示。 我的问题是在哪里可以找到单词词典,还有情绪。 例如:Nice: Positive , bad: negative

2 个答案:

答案 0 :(得分:3)

您正在寻找的是情感词典。情感词典是一个单词词典,其中每个单词都有相应的情感分数(从非常消极到非常正面)或者你提到的标记如好或坏(但后者不常见)。您可以使用几种情感词典,例如sentiwordnet,sentistrength和AFINN等等。在所有这三个词典中,你得到的情绪分数对应于每个情感词,当然,你可以简单地设定一个条件,即如果一个词有相应的负分,那么它是坏的,如果是肯定的,那么它是好的。 其中最容易使用的是AFINN,我建议你从这开始。稍后您可以根据您的应用程序升级到更合适的版本。 您可以找到有关AFINN here的信息,并从here下载。

如果您有其他问题,请告诉我。

答案 1 :(得分:0)

如果使用英语文字,则可以使用与预训练模型相关的极性分数字典。 我建议使用NLTK的Vader,因为它操作起来非常简单。

from nltk.sentiment import vader
analyzer = vader.SentimentIntensityAnalyzer()
words_with_sentiments = analyzer.make_lex_dict()
len(words_with_sentiments)

输出为7502个条目。

.make_lex_dict()的输出是一个字典,其结构如下:

{...
'agree': 1.5,
 'agreeability': 1.9,
 'agreeable': 1.8,
 'agreeableness': 1.8,
 'agreeablenesses': 1.3,
 'agreeably': 1.6,
 'agreed': 1.1,
 'agreeing': 1.4,
 'agreement': 2.2,
 'agreements': 1.1,
 'agrees': 0.8,
 'alarm': -1.4
...}

理论上,正值对应于正面情绪,而负值对应于负面情绪。然后,您可以将该字典用作正在解析的字符串的查找表。