Хотите узнать отношение предложения к сущности в этом предложении? Тогда вам может быть недостаточно анализа настроений ... Читайте дальше, чтобы узнать о целевом анализе настроений!

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

Давайте тогда!

Погодите, я не знаю, что такое анализ настроений!

Не волнуйся, как всегда, я здесь ради тебя. Анализ тональности - это метод обработки естественного языка (НЛП), при котором, учитывая определенный текстовый документ в качестве входных данных, мы получаем тональность (положительную, отрицательную, а иногда и нейтральную) такого текста в качестве выходных данных. В некоторых случаях мы можем даже получить диапазон настроений, например, очень положительный, умеренно положительный, нейтральный, умеренно отрицательный и очень отрицательный.

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

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

У анализа настроений есть множество реальных вариантов использования: его можно использовать для отслеживания настроений клиентов с течением времени для предприятий, для определения вероятности продукта, мнения пользователей социальной сети по определенным темам или даже для прогнозирования результатов такие мероприятия, как президентские кампании или церемонии награждения.

Давайте посмотрим на некоторые примеры классификации предложений и настроений с помощью Онлайн-инструмента анализа настроений с параллельными точками.

Как мы видим, для каждого предложения мы получаем прогноз настроения (положительный, нейтральный или отрицательный) и уверенность в этом прогнозе. Сантимент с наивысшей степенью достоверности выбирается как основное чувство всего предложения. (Если вам интересно, я не ходил в закусочную, пока писалась эта статья, но мне бы очень хотелось)

Как мы видели на этих примерах, анализ тональности можно использовать для извлечения общей тональности предложения. Однако что произойдет, если нам нужна тональность по отношению к определенной сущности в текстовом документе, а не тональность всего текста? Рассмотрим следующее предложение:

«Ресторан с гамбургерами был хорош, но в целом мой день был довольно ужасным: на меня накричал начальник, я съел печенье, подумав, что это шоколадная крошка, но это был отвратительный изюм, и я поскользнулся в метро ».

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

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

Если вы хотите проанализировать отношение к определенной цели в тексте, мы должны использовать вариант обычного анализа тональности, известный как Целевой анализ настроений.

Целевой анализ настроений: определение настроений по отношению к…

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

В качестве модели целевого анализа настроений я использовал двунаправленную модель LSTM Лю и Чжана из Моделирование внимания для целевых настроений, которая предсказывает положительное отношение к Ресторан бургеров с достоверностью выше 80%. Если вы не знаете, что такое LSTM, вы можете узнать об этом в моем предыдущем посте Глубокое обучение для НЛП.

Хорошо, это круто, но для чего на самом деле можно использовать целевой анализ настроений? Что ж, он может выполнять многие из тех же задач, что и традиционный анализ настроений, и некоторые более сложные. Например, я использовал его в своем проекте, чтобы проанализировать отношение к наиболее важным лицам определенной темы в социальной сети Twitter. Я проанализировал такие темы, как Брексит или Оскар, и выяснил совокупное мнение пользователей Twitter о некоторых влиятельных личностях в этих темах. Рассмотрим следующие твиты:

  1. «Должен сказать, церемония вручения« Оскара »была ужасной, президенты паршивые, ужасные комментарии и резкие номинации, однако @ladygaga выглядела так потрясающе красиво❤ #Oscars»
  2. Сегодня я не мог бы больше уважать @maitlis на #NewsNight, устно вышибая все уровни дерьма из каждого введенного в заблуждение члена парламента, которого допрашивали за то, что он спровоцировал отъезд A50 Нам №2 недели до полной диастеры. К черту вас всех. #Brexit »

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

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

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

Заключение

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

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

Большое спасибо за ваше время, и не волнуйтесь, мне не нужен анализ настроений, чтобы знать, что вы очень счастливы после прочтения этого поста :)

Если вам понравилось, обязательно подписывайтесь на меня на Medium, хлопайте и не стесняйтесь связываться со мной в LinkedIn или подписывайтесь на меня в Twitter на @jaimezorno. Также вы можете ознакомиться с другими моими постами по Data Science и Machine Learning здесь. Внимательно прочтите и берегите себя!