Соавторы: Матан Орбах, Йоав Кац, Ноам Слоним

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

Анализ настроений играет ключевую роль в анализе этих обзоров. Он определяет настроение, выраженное в тексте, во всем обзорном документе или даже в одном предложении. Такой анализ на уровне документа или предложения предоставляет информацию об общем уровне удовлетворенности, что может иметь решающее значение для бизнеса. Хотя компании обычно полагаются на 5-звездочную оценку или оценку «нравится/не нравится», их инструменты не могут определить конкретные целевые настроения помимо общего рейтинга. Они не могут ответить на такие вопросы, как сильные и слабые стороны того или иного продукта? Чтобы получить эти подробные сведения о настроениях, нам нужна технология IBM Targeted Sentiment Analysis (TSA).

TSA направлена ​​​​на обнаружение терминов, несущих чувства в текстах, и классификацию настроений, выраженных по отношению к ним, как положительных или отрицательных. Например, в предложении «Еда была хорошей, но в ресторане было очень шумно» есть две цели («еда» и «ресторан») с положительным и отрицательным настроением соответственно.

Целью настроения может быть название конкретной компании, продукта, аспект продукта (например, цена, местоположение или атмосфера) или любой термин с настроением, который появляется в тексте. Целью может быть одно слово, как в примере выше, или несколько слов. В одном предложении можно указать несколько целей, каждая со своим настроением. Также можно определить разные настроения для одной и той же цели по всему тексту, например: «Ужасное обслуживание и управление, но руководство было достаточно любезно, чтобы помочь с нашей просьбой». Цель «management» имеет отрицательную тональность в первом случае и положительную во втором.

Механизм TSA от IBM, доступный в IBM Watson Studio как часть модуля WatsonNLP, извлекает цели и их настроения для заданного текста за один вызов. Нет необходимости предоставлять цель как часть входных данных или разбивать задачу на два этапа извлечения цели и классификации настроений.

Эта технология, основанная на многоязычной модели BERT Transformer с глубоким обучением, полезна для быстрого анализа отзывов пользователей. Модель была обучена на данных английского языка, но поддерживает другие языки с разным уровнем производительности. Хотите начать прямо сейчас?

Вот четыре шага, которые вам необходимо выполнить:

1. Откройте бесплатную записную книжку Jupyter в Watson Studio (подробные инструкции в конце этой статьи).

2. Импортируйте watson_nlp.

3. Загрузите синтаксис WatsonNLP и модели TSA.

4. Запустите синтаксическую модель для некоторого входного текста, а затем запустите модель TSA, чтобы получить прогнозы TSA.

Шаги 2–4 можно выполнить с помощью нескольких строк кода:

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

Давайте посмотрим на другой пример. Как видите, наш механизм TSA может идентифицировать цели, состоящие из нескольких слов, например «обслуживание на стойке регистрации» в предложении «Отличное обслуживание на стойке регистрации, это те вещи, которые заставляют меня возвращаться каждый раз». год».

Теперь давайте посмотрим на анализ модели TSA на наборе данных отзывов об отелях с 600 отзывами о двух отелях. Модель TSA извлекает цели из каждого обзора. После лемматизации извлеченных целей (варианты целей, такие как «комната», «комнаты» или «Комната», могут быть сгруппированы вместе), мы можем определить общие термины, связанные с настроением, во всех обзорах и визуализировать их в облаке слов, как в изображение ниже — с целевыми положительными настроениями слева и целевыми отрицательными настроениями справа.

Мы видим, что «местоположение» положительно, но «номер» и «гостиница» вызывают положительные и отрицательные чувства.

А что, если мы хотим оценить качество каждого отеля? Это можно легко сделать с выходными данными модели TSA. Например, давайте сосредоточимся на 20 наиболее распространенных целях и посмотрим на частоту положительных и отрицательных упоминаний каждой цели в отзывах о каждом отеле. Этот анализ показан на изображении ниже — с синими полосами для положительных настроений и красными полосами для отрицательных настроений. Теперь мы можем начать сравнивать качество отеля A и отеля B по разным параметрам.

Нужна дополнительная информация? Полная документация блока TSA более подробно описывает API. Более того, если вас интересуют исследования TSA, ознакомьтесь с нашей статьей NAACL 2022. Краткий обзор того, как запускать модели НЛП Watson в Watson Studio, см. в блоге Алекса Ланга.

Инструкции по открытию блокнота Jupyter:

1. Войдите на https://cloud.ibm.com.

2. Нажмите «Каталог» и выберите «Watson Studio».

3. Выберите «Lite» (бесплатная пробная версия) и нажмите «Создать».

4. Нажмите «Запустить в IBM Cloud Pak for Data».

5. Предоставьте свою личную информацию и нажмите «Продолжить».

6. В разделе Проекты нажмите «Новый проект +» и выберите «Создать пустой проект».

7. Введите «Имя проекта» и нажмите «Добавить устройство хранения».

8. Выберите вариант «Lite» и нажмите «Создать».

9. Откройте проект, перейдите на вкладку «Активы» и нажмите «Новый актив +».

10. Выберите «Редактор блокнотов Jupyter».

11. Введите имя блокнота и выберите среду выполнения: «DO + NLP Runtime 22.2 на Python 3.10 XS».

12. Откройте блокнот и начните использовать Watson NLP («import watson_nlp»…).