是否可以编辑 NLTK 的 vader 情感词典?
Is it possible to edit NLTK's vader sentiment lexicon?
我想在 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] 你对我如何编辑预制词典有什么想法吗?
来源:
我找到了解决方法。我压缩了包含 txt 文件的文件夹 vader_lexicon
,我应用的更改现在正在访问。
对于任何感兴趣的人,这也可以在无需手动编辑 vader 词典 .txt 文件的情况下实现。一旦加载,词典就是一个普通词典,单词作为键,分数作为值。由 repoleved in this post:
提供
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')
我想在 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] 你对我如何编辑预制词典有什么想法吗?
来源:
我找到了解决方法。我压缩了包含 txt 文件的文件夹 vader_lexicon
,我应用的更改现在正在访问。
对于任何感兴趣的人,这也可以在无需手动编辑 vader 词典 .txt 文件的情况下实现。一旦加载,词典就是一个普通词典,单词作为键,分数作为值。由 repoleved in this post:
提供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')