Пример текста оценки Вейдера NLTK

Я хотел бы, чтобы кто-то исправил мое понимание того, как 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 пока не предоставлен. Любая помощь будет оценена.

1 ответ

Это просто ваша нормализация, что неправильно. Из кода определяется функция:

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

Другие вопросы по тегам