Является ли устаревание намерений чат-бота неизбежным?
Это подход Раса…
Введение
Глядя на диалоговых агентов, также называемых чат-ботами, очевидно, что цель состоит в том, чтобы имитировать и превзойти то, что возможно при общении между людьми. Однако важной частью любого разговора между людьми является открытие намерения.
Подумайте об этом так; когда вы подходите к кому-то, обслуживающему информационный стол, их главная цель — определить цель вашего запроса.
Как только намерение установлено, разговор может привести к решению.
В чат-боте первая линия облегчения разговора — это распознавание намерений.
И в этом заключается проблема: на большинстве платформ чат-ботов существует своего рода модель машинного обучения, используемая для присвоения пользователю высказывания определенного намерения.
И отсюда намерение привязывается к определенной точке конечного автомата (также известному как дерево диалогов). Как видно из приведенной ниже последовательности, пользователь вводит «Я думаю о покупке собаки». соответствует намерению Купить собаку. И отсюда намерения жестко привязаны к точкам входа в диалог.
Ниже вы видите один узел диалога из 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 и интерактивное обучение пока недоступны.
Контекстные разговоры
С точки зрения пользователя, контекст разговора остается в сознании пользователя. Кто-то может заказывать пиццу и просить дополнительный сыр, а затем говорить в следующем диалоговом окне: «Это слишком дорого».
С точки зрения пользователя сообщение состоит в том, чтобы отменить лишний сыр. С точки зрения диалога и контекста это не так очевидно. Создание действительно контекстно-зависимых чат-ботов — непростая задача.
Раса хочет, чтобы контекст разговора влиял на предсказание следующего диалога.
Вывод
Рассматривая возможные преимущества и недостатки…
Недостатки:
- В таких решениях, как Rasa, Microsoft LUIS, Amazon Lex и т. д., служба NLU отделена от компонента диалогового/конечного автомата. Это означает, что модель NLU можно использовать как отдельный ресурс внутри организации. С прекращением поддержки намерений NLU и управление диалогами/состояниями сливаются. И я не вижу, как это будет возможно.
- Возможно, это приводит к сценарию, в котором необходимо создавать больше пользовательских историй и где пользовательские истории не могут быть слишком похожими. Наблюдение за разговором вращается и в значительной степени зависит от обучающих данных в историях машинного обучения.
Преимущества:
- Rasa — это авангард мира чат-ботов, раздвигающий границы. Устаревание намерений неизбежно. Если какой-либо чат-бот попытается это сделать успешно, то это будет Rasa.
- Случай не сделан для 100%-ой преданности намерениям или не-намерениям. Пользовательские истории без намерений можно использовать как быстрое решение, особенно для болтовни и светской беседы. В какой-то степени это уже сделано; подумайте о создателе QnA от Microsoft; который не основан на умысле. Но он ограничен по объему и функциональности. Также подумайте о новых диалоговых окнах действий IBM Watson Assistant. Это действительно быстрый и простой способ развернуть простой диалоговый интерфейс. Но не служить полным решением.