用于情绪分析的Python VADER词典结构

时间:2018-06-15 21:23:11

标签: python nltk lexicon vader

我在Python的nltk库中使用VADER情感词典来分析文本情绪。这个词典不适合我的领域,因此我想将自己的情绪分数添加到各种单词中。所以,我得到了lexicon文本文件(vader_lexicon.txt)来做这件事。但是,我不太了解这个文件的架构。例如,像obliterate这样的单词将在文本文件中包含以下数据:     消失-2.9 0.83066 [-3,-4,-3,-3,-3,-3,-2,-1,-4,-3]

显然,-2.9是列表中情绪分数的平均值。但是0.83066代表什么呢?

谢谢!

2 个答案:

答案 0 :(得分:4)

根据VADER source code,仅使用每行上的第一个数字。该行的其余部分被忽略:

for line in self.lexicon_full_filepath.split('\n'):
    (word, measure) = line.strip().split('\t')[0:2] # Here!
    lex_dict[word] = float(measure)

答案 1 :(得分:2)

vader_lexicon.txt文件有四个制表符分隔的列,如您所说。

  1. 第1列:令牌
  2. 第2列:这是人类情感等级的平均值
  3. 第3列:假设令牌遵循正态分布,这是令牌的标准偏差
  4. 第4列:它是实验过程中获得的10个人类评分的列表

实际代码或情感计算不使用第三和第四列。因此,如果要根据需要更新词典,可以将最后两列保留为空白,或使用随机数和列表进行填充。