【问题标题】:Unable to get polarity scores from Vader Sentiment Analyzer无法从 Vader Sentiment Analyzer 获得极性分数
【发布时间】:2020-06-03 05:24:40
【问题描述】:
我正在尝试将这些新单词及其对应的极性分数从 CSV 文件添加到 Vader Sentiment Lexicon 中
它在更新时也会反映在 vadersentiment 对象中:
但是一旦我尝试获取新添加单词的极性分数,它就会抛出错误:
我对正在发生的事情感到困惑,即使这个词出现在 Vader 字典中:
有人知道为什么会这样吗?
【问题讨论】:
标签:
python
csv
nlp
sentiment-analysis
vader
【解决方案1】:
一种解决方法是使用pandas 读取CSV 并利用to_dict() 将数据框直接转换为字典。
我已将问题中提供的示例数据放在 vader.csv 中
CSV:
这是使用 pandas 从 CSV 读取并使用 to_dict 转换为字典后的字典。
字典:
解决方案代码:
import pandas as pd
data = pd.read_csv('vader.csv', header=None, index_col=0, squeeze=True, skiprows=1).to_dict()
sa_obj = SentimentIntensityAnalyzer()
sa_obj.lexicon.update(data)
print(sa_obj.lexicon['buffering'])
输出:
注意事项:
-
skiprows=1 用于在将数据帧转换为字典时跳过标题