NLTK的Vader得分文本示例

4

我希望有人能够纠正我对VADER如何评分文本的理解。我已经阅读了这里的解释,但是当我尝试重新创建它描述的过程时,无法将测试句子的复合分数与Vader的输出匹配。假设我们有以下句子:

"I like using VADER, its a fun tool to use"

VADER捕捉到的词语是'like'(+1.5分)和'fun'(+2.3分)。根据文档,这些值被相加(因此为+3.8),然后使用以下函数将其归一化为0到1之间的范围:
(alpha = 15)
x / x2 + alpha 

根据我们的数字,这应该变成:

3.8 / 14.44 + 15 = 0.1290

然而,VADER将返回的综合得分输出如下:
Scores: {'neg': 0.0, 'neu': 0.508, 'pos': 0.492, 'compound': 0.7003}

我推理错在哪里?已经有几个相似的问题被问过了,但是还没有提供VADER分类的实际例子。希望能得到帮助。

1个回答

8

只是你的标准化方法有误。从代码中可以看到,该函数被定义为:

def normalize(score, alpha=15):
"""
Normalize the score to be between -1 and 1 using an alpha that
approximates the max expected value
"""
norm_score = score/math.sqrt((score*score) + alpha)
return norm_score

所以你有 3.8/sqrt(3.8*3.8 + 15) = 0.7003


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接