是否可以编辑NLTK的vader情感词典?

时间:2016-11-08 07:34:26

标签: python nlp nltk sentiment-analysis vader

我想在vader_lexicon.txt添加单词以指定单词的极性分数。这样做的正确方法是什么?

我在AppData\Roaming\nltk_data\sentiment\vader_lexicon中看到了这个文件。该文件包括单词,它的极性,强度,以及由“10个独立的人类评价者”给出的10个强度分数的数组。 [1]但是,当我编辑它时,以下代码的结果没有任何改变:

from nltk.sentiment.vader import SentimentIntensityAnalyzer
sia = SentimentIntensityAnalyzer()
s = sia.polarity_scores("my string here")

我认为当我调用SentimentIntensityAnalyzer的构造函数时,我的代码会访问此文本文件。 [2]您对我如何编辑预制词典有什么想法吗?

来源:

[1] https://github.com/cjhutto/vaderSentiment

[2] http://www.nltk.org/api/nltk.sentiment.html

2 个答案:

答案 0 :(得分:4)

我找到了修复程序。我压缩了包含txt文件的文件夹vader_lexicon,我应用的更改现在是正在访问的文件。

答案 1 :(得分:3)

对于感兴趣的任何人,也可以无需手动编辑vader词典.txt文件即可实现。由repoleved帖子中的this提供:

from nltk.sentiment.vader import SentimentIntensityAnalyzer

new_words = {
    'foo': 2.0,
    'bar': -3.4,
}

SIA = SentimentIntensityAnalyzer()

SIA.lexicon.update(new_words)

如果要删除单词,请使用“ .pop”功能:

SIA = SentimentIntensityAnalyzer()

SIA.lexicon.pop('no')