Интервью с экспертом по анализу настроений и намерений

Наша команда недавно опубликовала статью о том, как мы проанализировали 200 000 сообщений в онлайн-чате для разработки чат-бота. Мы получаем вопросы о том, как мы собирали данные, какой алгоритм мы использовали для определения намерений и как мы преобразовывали их в бизнес-идеи. Поэтому мы делаем серию из нескольких частей, чтобы ответить на все эти вопросы, используя идеи нашего собственного инженера по машинному обучению Marcial Puchi.

Вот часть 1. Как мы обнаружили бизнес-проблему с данными и нашли техническое решение.

Обнаружение бизнес-проблем

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

Чтобы спроектировать чат-бота, нам нужно было знать: почему люди посещают их сайт?

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

Но сбор качественных данных из интервью часто является дополнительным, а не исчерпывающим. Результаты необъективны, потому что люди запоминают только самое яркое и слабое.

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

Техническое решение

Определение полезных данных

Мы начали рассматривать формат данных, чтобы структурировать их в эффективный формат для запуска алгоритма с минимальным временем обработки. Здесь мы определили беседу как группу сообщений, которыми обменивались 2 или более человек.

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

Настройка плана

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

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

Модель машинного обучения, созданная Google, позволила ему преобразовать заданное предложение в представление в векторном пространстве с 300 измерениями.

Итак, что мы узнали о данных нашего клиента?

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

Что мы сделали с этими выявленными темами?

На основе этих тем мы разработали беседы, которые должны иметь место для обсуждения этих тем. Зная потребности и желания клиентов, мы разрабатываем продукт с учетом человеческого поведения, а не навязываем человеческое поведение в соответствии с шаблоном продукта.

Обратите внимание на Часть II о том, как анализ настроений Марсиала по работе с контентом в социальных сетях вдохновил на анализ намерений запросов клиентов.

P.S. В настоящее время мы предлагаем компаниям возможность проанализировать собственную выборку данных. Посмотрите это здесь.