【发布时间】:2015-01-20 09:05:05
【问题描述】:
我从不同的博客文章中删除了关于特定主题的文本。我读到的大多数关于情感网络分析的主题都是基于训练分类器,以确定它是否是正/负答案,如thread 所示。
我的问题是我在哪里可以找到单词词典,以及那里的情绪。
例如:Nice: Positive , bad: negative。
【问题讨论】:
我从不同的博客文章中删除了关于特定主题的文本。我读到的大多数关于情感网络分析的主题都是基于训练分类器,以确定它是否是正/负答案,如thread 所示。
我的问题是我在哪里可以找到单词词典,以及那里的情绪。
例如:Nice: Positive , bad: negative。
【问题讨论】:
如果您使用英文文本,您可以使用与预训练模型相关的极性分数字典。 我建议使用 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
...}
理论上,正值对应于积极情绪,而负值对应于消极情绪。然后,您可以将此字典用作您正在解析的字符串的查找表。
【讨论】:
您正在寻找的是情感词典。情感词典是一个单词字典,其中每个单词都有一个相应的情感分数(范围从非常负面到非常正面),或者您提到的标签,例如好或坏(但后者并不常见)。您可以使用多种情绪词典,例如 sentiwordnet、sentistrength 和 AFINN 等等。在所有这三个词典中,您可以获得与每个情感词相对应的情感分数,当然,您可以简单地设置一个条件,即如果一个词具有相应的负分,则为差,如果为正,则为好。 其中最容易使用的是 AFINN,我建议您从它开始。稍后您可以根据您的应用升级到更合适的版本。 您可以找到有关 AFINN 的信息here 并从here 下载。
如果您还有其他问题,请告诉我。
【讨论】: