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

noo*_*ert 5 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")
Run Code Online (Sandbox Code Playgroud)

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

资料来源:

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

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

Lau*_*ber 8

对于任何感兴趣的人,也可以无需手动编辑vader lexicon .txt文件即可实现。词库一旦加载,便是一本普通的词典,单词作为键,分数作为值。作为提供由repoleved这个帖子:

from nltk.sentiment.vader import SentimentIntensityAnalyzer

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

SIA = SentimentIntensityAnalyzer()

SIA.lexicon.update(new_words)
Run Code Online (Sandbox Code Playgroud)

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

SIA = SentimentIntensityAnalyzer()

SIA.lexicon.pop('no')
Run Code Online (Sandbox Code Playgroud)

  • 当然,当您准备好时在聊天中给我发消息:https://chat.stackoverflow.com/rooms/180106/vader-chat (2认同)

noo*_*ert 6

我找到了解决方法。我压缩了vader_lexicon包含txt文件的文件夹,现在我正在应用的更改已被访问。