VADER (Valence Aware Dictionary for sEntiment Reasoning) — это модель, используемая для анализа тональности текста, которая чувствительна как к полярности (положительные/отрицательные), так и к интенсивности (силе) эмоций. Представленный в 2014 году анализ тональности текста VADER использует ориентированный на человека подход, сочетающий качественный анализ и эмпирическую проверку с использованием человеческих оценщиков и мудрости толпы.

В этом посте я расскажу, как анализ тональности VADER вычисляет оценку тональности входного текста. Он сочетает в себе словарь, который сопоставляет лексические характеристики с интенсивностью эмоций, и пять простых эвристик, которые кодируют, как контекстуальные элементы увеличивают, уменьшают или сводят на нет тональность текста.

Прежде чем сделать это, давайте поднимемся на один уровень выше и поговорим об анализе настроений в целом.

(Документ, в котором рассказывается о VADER, доступен здесь.)

Что такое анализ настроений VADER?

Рассмотрим следующие предложения:

«Вечеринка замечательная».

и

«Я ненавижу этого человека».

Вы понимаете, какие чувства выражают эти предложения? Первый явно передает положительные эмоции, тогда как второй передает отрицательные эмоции. Люди связывают слова, фразы и предложения с эмоциями. Область анализа текстовых настроений пытается использовать вычислительные алгоритмы для декодирования и количественной оценки эмоций, содержащихся в медиа, таких как текст, аудио и видео.

Текстовый анализ тональности — это действительно большая область, за которой стоит много академической литературы. Однако его инструменты на самом деле сводятся к двум подходам: лексическому подходу и подходу машинного обучения.

Лексические подходы направлены на сопоставление слов с настроением путем создания лексикона или «словаря настроений». Мы можем использовать этот словарь для оценки тональности фраз и предложений, не обращая внимания ни на что другое. Настроение может быть категоричным, например {отрицательное, нейтральное, положительное}, или числовым, например диапазоном интенсивности или баллов. Лексические подходы рассматривают категорию тональности или оценку каждого слова в предложении и решают, какова категория тональности или оценка всего предложения. Сила лексических подходов заключается в том, что нам не нужно обучать модель на размеченных данных, поскольку у нас есть все необходимое для оценки тональности предложений в словаре эмоций. VADER является примером лексического метода.

Подходы машинного обучения, с другой стороны, просматривают ранее помеченные данные, чтобы определить настроение никогда ранее не виденных предложений. Подход машинного обучения включает в себя обучение модели с использованием ранее просмотренного текста для прогнозирования/классификации тональности некоторого нового входного текста. Прелесть подходов машинного обучения заключается в том, что с большим объемом данных мы обычно получаем лучшие результаты прогнозирования или классификации. Однако, в отличие от лексических подходов, нам нужны предварительно размеченные данные, чтобы фактически использовать модели машинного обучения.

Количественная оценка эмоций слова (или смайлика)

Прежде всего, анализ тональности VADER опирается на словарь, который сопоставляет лексические характеристики с интенсивностью эмоций, называемой оценкой тональности. Оценка тональности текста может быть получена путем суммирования интенсивности каждого слова в тексте.

Что такое лексический признак? Как мы вообще измеряем эмоциональную интенсивность?

Под лексическим признаком я подразумеваю все, что мы используем для текстового общения. Подумайте о твите в качестве примера. В типичном твите мы можем найти не только слова, но и смайлики вроде «:-)», аббревиатуры вроде «LOL» и сленг вроде «meh». Крутая вещь в анализе настроений VADER заключается в том, что эти разговорные выражения также сопоставляются со значениями интенсивности.

Интенсивность эмоций или эмоциональная оценка измеряется по шкале от -4 до +4, где -4 — самый отрицательный, а +4 — самый положительный. Средняя точка 0 представляет нейтральное настроение. Примеры записей в словаре — «ужасно» и «хорошо», которые отображаются как -2,5 и 0,9 соответственно. Кроме того, смайлики «/-:» и «0:-3» сопоставляются с -1,3 и 1,5.

Следующий вопрос: как мы создадим этот словарь?

Используя человеческие оценщики из Amazon Mechanical Turk!

В порядке. Вы можете подумать, что эмоциональная интенсивность может быть очень произвольной, поскольку она зависит от того, кого вы спрашиваете. Некоторые слова могут показаться не очень негативными для вас, но они могут быть для меня. Чтобы противостоять этому, создатели анализа тональности VADER привлекли не одного, а несколько оценщиков-людей и усреднили их оценки для каждого слова. Это основано на концепции мудрости толпы: коллективное мнение часто заслуживает большего доверия, чем индивидуальное мнение. Вспомните игровое шоу «Кто хочет стать миллионером?» Один из спасательных кругов, который могут использовать участники, — это «Спроси аудиторию», который также полагается на мудрость толпы.

Количественная оценка эмоций предложения

Анализ настроений VADER (ну, во всяком случае, в реализации Python) возвращает оценку настроений в диапазоне от -1 до 1, от наиболее отрицательного до наиболее положительного.

Оценка тональности предложения рассчитывается путем суммирования оценок тональности каждого слова, указанного в словаре VADER, в предложении. Внимательные читатели, вероятно, заметят противоречие: отдельные слова имеют оценку тональности от -4 до 4, но возвращаемая оценка тональности предложения находится в диапазоне от -1 до 1.

Они оба верны. Оценка тональности предложения представляет собой сумму оценок тональности каждого слова, несущего тональность. Однако мы применяем нормализацию к итогу, чтобы сопоставить его со значением от -1 до 1.

Нормализация, используемая Hutto,

где x — это сумма оценок тональности слов, составляющих предложение, а альфа — это параметр нормализации, который мы установили равным 15. Нормализация показана на графике ниже.

Здесь мы видим, что по мере того, как x увеличивается, он становится все ближе к -1 или 1. Аналогичный эффект, если в документе много слов, к которым вы применяете анализ тональности VADER, вы получаете оценку, близкую к -1 или 1. Таким образом, анализ настроений VADER лучше всего работает с короткими документами, такими как твиты и предложения, а не с большими документами.

Пять простых эвристик

Лексические признаки — не единственные вещи в предложении, которые влияют на настроение. Есть и другие контекстуальные элементы, такие как пунктуация, заглавные буквы и модификаторы, которые также передают эмоции. Анализ настроений VADER учитывает это, рассматривая пять простых эвристик. Эффект этих эвристик, опять же, количественно оценивается с использованием человеческих оценщиков.

Первая эвристика — это пунктуация. Сравните «Мне нравится». и мне нравится это!!!" Нетрудно утверждать, что второе предложение вызывает более сильные эмоции, чем первое, и, следовательно, должно иметь более высокий балл тональности VADER.

Анализ тональности VADER учитывает это, усиливая оценку тональности предложения пропорционально количеству восклицательных и вопросительных знаков в конце предложения. VADER сначала вычисляет оценку тональности предложения. Если оценка положительна, VADER добавляет определенное количество, полученное эмпирическим путем, к каждому восклицательному знаку (0,292) и вопросительному знаку (0,18). Если оценка отрицательная, VADER вычитает.

Вторая эвристика — заглавные буквы. "Потрясающее исполнение." определенно более интенсивный, чем «потрясающая производительность». И поэтому VADER учитывает это, увеличивая или уменьшая показатель тональности слова на 0,733, в зависимости от того, является ли слово положительным или отрицательным, соответственно.

Третья эвристика — использование модификаторов степени. Возьмем, к примеру, «чертовски мило» и «вроде мило». Эффект модификатора в первом предложении заключается в увеличении интенсивности милого, а во втором предложении - в уменьшении интенсивности. VADER поддерживает словарь бустеров, который содержит набор бустеров и демпферов.

Эффект модификатора степени также зависит от его расстояния до слова, которое он модифицирует. Дальние слова имеют относительно меньший усиливающий эффект на основное слово. Один модификатор рядом с основным словом добавляет или вычитает 0,293 к показателю тональности предложения, в зависимости от того, является ли основное слово положительным или нет. Второй модификатор к основному слову добавляет/вычитает 95% от 0,293, а третий добавляет/вычитает 90%.

Четвертая эвристика — это сдвиг полярности из-за «но». Часто «но» соединяет два предложения с противоположными чувствами. Однако преобладает последнее мнение. Например: «Я люблю тебя, но я больше не хочу быть с тобой». Первое предложение «Я люблю тебя» — положительное, а второе — «Я не хочу больше быть с тобой». является отрицательным и, очевидно, более доминирующим в плане настроения.

VADER реализует проверку «но». По сути, все слова, несущие чувства, перед «но» имеют свою валентность, уменьшенную до 50% их значений, а слова после «но» увеличиваются до 150% их значений.

Пятая эвристика — это проверка триграммы перед лексической характеристикой с тональностями, чтобы уловить отрицание полярности. Здесь триграмма относится к набору из трех лексических признаков. VADER ведет список отрицательных слов. Отрицание фиксируется путем умножения оценки тональности лексического признака с тональностями на эмпирически определенное значение -0,74.

Завершение анализа настроений VADER

Анализ настроений VADER объединяет словарь лексических признаков с оценками настроений с набором из пяти эвристик. Модель лучше всего работает применительно к тексту в социальных сетях, но она также зарекомендовала себя как отличный инструмент при анализе настроений в обзорах фильмов и авторских статьях.

Отличительной особенностью анализа настроений VADER является то, что реализация с открытым исходным кодом на Python доступна здесь. Анализ настроений становится радостью при использовании кода.

Первоначально опубликовано на datameetsmedia.com