4

VADER がどのようにテキストを採点するかについて、誰かに私の理解を正してもらいたいです。ここでこのプロセスの説明を読みましたが、記述されているプロセスを再作成するときに、テスト文の複合スコアを Vader の出力と一致させることができません。次の文があるとしましょう。

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

VADER が拾う言葉は、「いいね」(+1.5 スコア) と「楽しい」(+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 分類の実際の例はまだ提供されていません。どんな助けでも大歓迎です。

4

1 に答える 1

7

間違っているのはあなたの正規化だけです。コードから関数が定義されます。

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 になります。

于 2018-09-18T21:46:11.150 に答える