Четыре ловушки точности анализа настроений
Опубликовано: 2022-03-11Люди используют форумы, социальные сети, блоги и другие платформы, чтобы поделиться своим мнением, тем самым генерируя огромное количество данных. Между тем, пользователи или потребители хотят знать, какой продукт купить или какой фильм посмотреть, поэтому они также читают обзоры и пытаются принимать соответствующие решения.
Ручной сбор информации о пользовательских данных занимает много времени. Вот почему все больше и больше компаний и организаций интересуются автоматическими методами анализа тональности, чтобы помочь им понять ее.
Что такое анализ настроений?
Анализ настроений — это процесс изучения мнений и эмоций людей, обычно с использованием языковых подсказок. На первый взгляд, это просто проблема с классификацией текста, но если мы копнем глубже, то обнаружим, что есть много сложных проблем, которые серьезно влияют на точность анализа тональности. Ниже я рассмотрю некоторые подводные камни, с которыми вы столкнетесь, работая над общей проблемой анализа настроений:
- Ирония и сарказм
- Типы отрицаний
- Неоднозначность слова
- Многополярность
Мы пройдемся по каждой теме и попытаемся понять, как описанные проблемы влияют на качество классификатора тональности и какие технологии можно использовать для их решения.
Задача анализа настроений № 1: обнаружение сарказма
В саркастическом тексте люди выражают свои негативные чувства с помощью позитивных слов. Этот факт позволяет сарказму легко обманывать модели анализа настроений, если они специально не разработаны с учетом его возможности.
Сарказм чаще всего встречается в пользовательском контенте, таком как комментарии Facebook, твиты и т. д. Обнаружение сарказма при анализе настроений очень сложно выполнить без хорошего понимания контекста ситуации, конкретной темы и среды.
Это может быть трудно понять не только машине, но и человеку. Постоянное изменение слов, используемых в саркастических предложениях, затрудняет успешное обучение моделей анализа настроений. Общие темы, интересы и историческая информация должны быть разделены между двумя людьми, чтобы сделать сарказм доступным.
Во-первых, давайте посмотрим на сарказм с точки зрения лингвистики , где сарказм широко изучается. В одном из наиболее цитируемых исследований в этой области автор Элизабет Кэмп предлагает следующие четыре типа сарказма:
- Пропозициональный: сарказм кажется асентиментальным высказыванием, но в нем присутствует имплицитное чувство.
- Встроенное: сарказм имеет встроенное несоответствие чувств в форме самих слов и фраз.
- Like-prefixed: похожая фраза обеспечивает подразумеваемое отрицание выдвигаемого аргумента.
- Иллокутивные: неречевые действия (язык тела, жесты), способствующие сарказму.
Исследование Кэмпа было опубликовано в 2012 году. В 2017 году исследователи из Стэнфордского университета объявили о своем довольно интересном исследовании «Написание статьи за 2 часа — это весело!»: Обнаружение сарказма в числовых частях текста, где они рассказали о другом типе сарказма, называемом числовым . сарказм . Числовой сарказм очень часто встречается в социальных сетях. Идея этого связана с изменением числовых значений, которые затем влияют на полярность текста. Например:
- «Этот телефон имеет потрясающую резервную батарею на 38 часов». (без сарказма)
- «Этот телефон имеет потрясающую автономную работу в течение 2 часов». (саркастический)
- «На улице +25, и мне так жарко». (без сарказма)
- «На улице -25, и мне так жарко». (саркастический)
- «Мы ехали так медленно — всего 20 км/ч». (без сарказма)
- «Мы ехали так медленно — всего 160 км/ч». (саркастический)
Как мы видим, эти предложения отличаются только используемым числом — отсюда числовой сарказм.
Существуют различные подходы к автоматическому обнаружению сарказма, в том числе:
- Основанный на правилах
- Статистический
- Алгоритмы машинного обучения
- Глубокое обучение
Подходы, основанные на глубоком обучении, набирают все большую популярность. В 2017 году Кумар, Сомани и Бхаттачария пришли к выводу, что конкретная модель глубокого обучения (архитектура CNN-LSTM-FF) превосходит предыдущие подходы, достигая высочайшего уровня точности для числового обнаружения сарказма.
Но глубокие нейронные сети (DNN) были не только лучшими для числового сарказма — они также превзошли другие подходы к обнаружению сарказма в целом. Гош и Вил в своей статье 2016 года используют комбинацию сверточной нейронной сети, сети с долговременной кратковременной памятью (LSTM) и DNN. Они сравнивают свой подход с рекурсивными машинами опорных векторов (SVM) и приходят к выводу, что их архитектура глубокого обучения является улучшением по сравнению с такими подходами.
Задача анализа настроений № 2: обнаружение отрицания
В лингвистике отрицание — это способ изменения полярности слов, фраз и даже предложений. Исследователи используют различные лингвистические правила, чтобы определить, имеет ли место отрицание, но также важно определить диапазон слов, на которые влияют слова отрицания.

Не существует фиксированного размера области затрагиваемых слов. Например, в предложении «Шоу было неинтересным» областью действия является только следующее слово после слова отрицания. Но для таких предложений, как «Я не называю этот фильм комедией», эффект слова отрицания «не» действует до конца предложения. Исходное значение слов меняется, если положительное или отрицательное слово попадает в область отрицания — в этом случае возвращается противоположная полярность.
Самый простой подход к работе с отрицанием в предложении, который используется в большинстве современных методов анализа тональности, заключается в том, чтобы пометить как отрицаемые все слова от реплики отрицания до следующего знака препинания. Эффективность модели отрицания может быть изменена из-за специфического построения языка в разных контекстах.
Существует несколько форм выражения отрицательного мнения в предложениях:
- Отрицание может быть морфологическим, если оно обозначается префиксом («dis-», «non-») или суффиксом («-less»).
- Отрицание может быть неявным, например, «с этим актом это будет его первый и последний фильм» — оно несет в себе негативное настроение, но отрицательные слова не используются.
- Отрицание может быть явным, например, «это нехорошо».
Наличие образцов с различными типами описанных отрицаний повысит качество набора данных для обучения и тестирования моделей классификации настроений в рамках отрицания. Согласно последним исследованиям рекуррентных нейронных сетей (RNN), различные архитектуры моделей LSTM превосходят все другие подходы в обнаружении типов отрицаний в предложениях.
В статье «Эффект отрицания в анализе настроений» модель анализа настроений оценила 500 обзоров, собранных с Amazon и Trustedreviews.com. Авторы показывают сравнение моделей с обнаружением отрицания и без него. Их оценка демонстрирует, как рассмотрение отрицания может значительно повысить точность модели.
Задача анализа настроений № 3: двусмысленность слов
Неоднозначность слов — еще одна ловушка, с которой вы столкнетесь, работая над проблемой анализа тональности. Проблема неоднозначности слов заключается в невозможности определить полярность заранее, потому что полярность некоторых слов сильно зависит от контекста предложения.
Подходы к анализу настроений на основе лексикона популярны среди существующих методов. Лексикон мнений содержит слова-мнения с их значением полярности. В Интернете есть несколько словарей общественного мнения: SentiWordNet, General Inquirer и SenticNet, среди прочих. Поскольку полярность слов различается в разных областях, невозможно разработать универсальный лексикон мнений, который имел бы полярность для каждого слова. Например:
- «История непредсказуема».
- «Рулевое колесо непредсказуемо».
Эти два примера показывают, как контекст влияет на тональность слова-мнения. В первом примере полярность слова «непредсказуемый» прогнозируется как положительная. Во втором случае полярность того же слова отрицательная.
Задача анализа настроений № 4: многополярность
Иногда данное предложение или документ — или любая другая единица текста, которую мы хотели бы проанализировать, — будет демонстрировать многополярность. В этих случаях наличие только общего результата анализа может ввести в заблуждение, очень похоже на то, как среднее значение может иногда скрывать ценную информацию обо всех числах, которые в него вошли.
Представьте, когда авторы говорят о разных людях, продуктах или компаниях (или их аспектах) в статье или обзоре. Обычно в тексте некоторые темы критикуются, а некоторые хвалятся.
Здесь в полной полярности настроений будет отсутствовать ключевая информация. Вот почему необходимо извлекать все сущности или аспекты в предложении с назначенными метками настроений и вычислять общую полярность только при необходимости.
Давайте рассмотрим пример, состоящий из нескольких полярностей: «Качество звука моего нового ноутбука такое классное, но цвета дисплея не слишком хороши».
Некоторые модели анализа настроений присваивают этому предложению отрицательную или нейтральную полярность. Чтобы иметь дело с такими ситуациями, модель анализа настроений должна назначать полярность каждому аспекту в предложении; здесь «аудио» — это аспект, которому присвоена положительная полярность, а «дисплей» — это отдельный аспект с отрицательной полярностью.
Для более подробного описания этого подхода я рекомендую интересную и полезную статью «Глубокое обучение для анализа настроений на основе аспектов», написанную Бо Ванфом и Мин Лю из Стэнфордского университета.
Повышение точности анализа настроений: это не предельные случаи
В этой статье мы говорили о популярных проблемах классификации анализа настроений: сарказм, отрицание, двусмысленность слов и многополярность. Знание каждого из них поможет вам избежать возможных проблем: учет ситуаций, которые мы обсудили, значительно повысит точность анализа тональности в модели классификации. Я надеюсь, что вы нашли эту статью полезным введением в тему.