Является ли устаревание намерений чат-бота неизбежным?

Это подход Раса…

Введение

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

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

Как только намерение установлено, разговор может привести к решению.

В чат-боте первая линия облегчения разговора — это распознавание намерений.

И в этом заключается проблема: на большинстве платформ чат-ботов существует своего рода модель машинного обучения, используемая для присвоения пользователю высказывания определенного намерения.

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

Ниже вы видите один узел диалога из IBM Watson Assistant, заголовок которого гласит: «Если помощник распознает». Под этим заголовком может быть определено очень статичное и фиксированное условие или набор условий.

Почему это проблема?

Этот тесный слой между моделью NLU ML и диалогом является непреложным в том смысле, что он является условным сценарием если-это-то-то, который управляет диалогом.

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

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

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

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

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

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

Как бы это выглядело, если бы намерения были необязательными и их можно было бы обойти? Где пользовательский ввод напрямую сопоставляется с пользовательской историей?

Истории без намерений

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

Явно намерение и действие отсутствуют.

- story: No Intent Story
  steps:
  - user: "hello"
  - bot: "Hello human!"
  - user: "Where is my nearest branch?"
  - bot: "We are digital! Who needs branches."
  - user: "Thanks anyway"
  - bot: "You are welcome. No to branches!"

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

ML Story определяется слева, а интерактивный тестовый разговор — справа. Rasa X и интерактивное обучение пока недоступны без намерений.

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

Гибридный подход

Глядя на историю ниже, вы увидите название истории, перетекающее в имя намерения, действие… а затем пользовательский ввод перехватывается без какого-либо намерения. Далее следует действие.

- story: account_checking
  steps:
  - intent: tiers
  - action: utter_tiers
  - user: "just give that to me again?"
  - action: utter_tiers

Вот диалог с чат-ботом:

ML Story определяется слева, а интерактивный тестовый разговор — справа. Rasa X и интерактивное обучение пока недоступны.

Контекстные разговоры

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

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

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

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

Вывод

Рассматривая возможные преимущества и недостатки…

Недостатки:

  • В таких решениях, как Rasa, Microsoft LUIS, Amazon Lex и т. д., служба NLU отделена от компонента диалогового/конечного автомата. Это означает, что модель NLU можно использовать как отдельный ресурс внутри организации. С прекращением поддержки намерений NLU и управление диалогами/состояниями сливаются. И я не вижу, как это будет возможно.
  • Возможно, это приводит к сценарию, в котором необходимо создавать больше пользовательских историй и где пользовательские истории не могут быть слишком похожими. Наблюдение за разговором вращается и в значительной степени зависит от обучающих данных в историях машинного обучения.

Преимущества:

  • Rasa — это авангард мира чат-ботов, раздвигающий границы. Устаревание намерений неизбежно. Если какой-либо чат-бот попытается это сделать успешно, то это будет Rasa.
  • Случай не сделан для 100%-ой преданности намерениям или не-намерениям. Пользовательские истории без намерений можно использовать как быстрое решение, особенно для болтовни и светской беседы. В какой-то степени это уже сделано; подумайте о создателе QnA от Microsoft; который не основан на умысле. Но он ограничен по объему и функциональности. Также подумайте о новых диалоговых окнах действий IBM Watson Assistant. Это действительно быстрый и простой способ развернуть простой диалоговый интерфейс. Но не служить полным решением.