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

Автор: Абхишек Тхакур, главный специалист по анализу данных, boost.ai

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

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

В следующем примере клиент задает простой вопрос о страховании автомобиля и получает соответствующий ответ:

Из серверной части мы можем видеть, как виртуальный помощник интерпретирует запрос и без труда определяет правильное намерение - в данном случае «Заказать страхование автомобиля» - с вероятностью 99,42%.

Но что, если вопрос будет менее однозначным:

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

У клиентов, конечно, не всегда есть простые вопросы. Вот почему в boost.ai мы разработали наши алгоритмы с более высоким уровнем понимания, чтобы ваши клиенты получали ответы, которые выглядят примерно так:

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

Давайте посмотрим на другой сложный пример, в котором клиент спрашивает о действительности своей туристической страховки:

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

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

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

Такой результат предпочтительнее по нескольким причинам:

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

Введение: автоматическое семантическое понимание

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

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

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

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

В boost.ai мы решили эту проблему, разработав автоматическое семантическое понимание (ASU). Добавляя эти дополнительные нейронные сети в разговорный ИИ, мы можем предложить более сложные ответы и устранить ложные ложные срабатывания более чем на 90%.

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

И нейронная сеть ASU (назовем ее ASUNet), и наш алгоритм сокращения обучаются на данных о клиентах, как и все другие нейронные сети в решении boost.ai. Это означает, что они также могут относительно легко разбирать синонимы, сокращения и важные слова.

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

В этом примере ASUNet отмечает «кто» в «Кто такой Дональд Трамп?» как фокусное слово. И наоборот, во втором предложении «Что такое Дональд Трамп?» Признается, что «что» не важно (вероятно, потому, что оно не имеет грамматического смысла).

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

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

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

Алгоритм выбора ответа выбирает и форматирует соответствующий ответ на основе прогнозов сложенной глубокой нейронной сети для всех фраз, включая исходный вопрос:

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

На следующем рисунке показаны два возможных типа расширенных ответов на один и тот же вопрос:

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

На бэкэнде мы можем увидеть анализ сообщения для того же вопроса:

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

Внедрение АСУ на практике

Конечно, все хорошо, если алгоритм работает так, как описано в теории, но действительно ли он дает результаты при испытании в реальном мире?

Чтобы доказать, что ASU выходит за рамки теоретического, мы случайным образом выбрали несколько тысяч типовых вопросов пользователей и оценили их по шкале от 1 до 5:

Затем мы сравнили результаты как с ASU, так и без него.

Мы увидели, что процент плохих ответов значительно снизился с 18,3% до 4,5%.

Ориентируясь на ложные срабатывания, ASU удалось снизить:

  • Плохие (оценка = 1) ложные срабатывания на 92%
  • Сочетание ложных срабатываний 1 и 2 степени на 80%

Более того, в случаях, когда цифровой советник предлагал слишком общий ответ, активация ASU превращала 52% этих случаев в удовлетворительные ответы.

Глядя на вопросы с нейтральными и плохими оценками, ASU удалось значительно улучшить пользовательский опыт многих из них, поскольку 87,4% вопросов показывают количественное улучшение их ответов.

Еще одним важным результатом является то, что 5,1% смогли перейти от минимально возможного результата к максимально возможному (то есть идеальному ответу).

Основные преимущества ASU

ASU помогает диалоговому ИИ достичь более глубокого понимания взаимодействия с клиентами несколькими ключевыми способами:

Он может распознать несколько намерений в одном вопросе

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

Лучше бороться с ложными срабатываниями

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

Он понимает сложные запросы

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

Сложнее "споткнуться"

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

Первоначально опубликовано на www.boost.ai.