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]您对我如何编辑预制词典有任何想法吗?
资料来源:
对于任何感兴趣的人,也可以无需手动编辑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)