Параметры пользовательского ввода для Microsoft Bot Framework Composer

Примеры того, как Composer создает структуру из неструктурированного разговорного ввода

Введение

Composer – это очень доступный и бесплатный инструмент, с помощью которого можно начать разработку чат-ботов в локальной среде без подключения к облаку, если вы выберете…

В настоящее время существует ряд инструментов для создания диалоговых интерфейсов. Одним из аспектов диалогового интерфейса является диалоговый потокили управление состоянием.

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

Существуют различные подходы к этой проблеме…

Эти подходы в целом можно разделить на три группы.

Подходы к развитию диалога

Можно разделить на три основные категории:

  • Машинное обучение (МО)
  • Собственный код
  • Графическая пользовательская среда

Подходы имеют преимущества и недостатки.

Преимущества очевидны в начале.

Недостатки проявляются ближе к концу.

Машинное обучение

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

Собственный код

Второй подход — нативный код. Это один из вариантов, который легче всего масштабировать, когда чат-бот расширяется по функциональности, объему и интеграции. Microsoft Bot Framework — хороший пример использования нативного кода, такого как C# или Python.

Эти статьи помогут вам настроить и начать работу с Bot Framework Composer и эмулятором…





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

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

Графический пользовательский интерфейс

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

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

Преимущества наличия графического интерфейса:

  • Быстрое обучение разработчиков и дизайнеров необходимым навыкам
  • Простота представления концепций, проектов и базовой архитектуры
  • Визуальный осмотр и представление
  • Обучение новых членов команды
  • Слияние дизайна, прототипирования и разработки
  • Концепция и разработка MVP выполняются быстро

Возможный недостаток:

  • Инвестиции в разработку сделаны в собственный код и среду
  • Среда разработки Ограничена функциональностью и доступными компонентами
  • Масштабирование в корпоративной среде может быть проблематичным
  • Накладные расходы на дублирование и обходные пути

Компоновщик Microsoft Bot Framework

Вызов диалога

Вы можете создать сказочно гибкий и очень функциональный чат-бот с помощью Composer без разговорного ИИ или НЛУ/НЛП. Использование регулярных выражений, которые также можно назвать определением ключевых слов.

Composer также может быть полностью интегрирован с LUIS. Однако без NLP/NLU вы можете создать реального чат-бота с различными вариантами пользовательского ввода. Который достаточно прочен и вынослив.

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

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

На мой взгляд, этот композитор — идеальный путь для тех, кто хочет разработать чат-бота…

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

Типы пользовательского ввода

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

Вы можете определить семь типов ввода…

Ввод числа

Ввод числа — это когда вы предлагаете пользователю ввести число и ожидаете, что пользователь введет число в диалоговом окне.

Как вы видите в этом примере, пользователь может ввести число, встроенное в диалоговое окно, а композитор может извлечь число из текста.

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

Можно установить правила проверки, например, если ввод числа должен быть определенной длины; длина(this.value)==5.

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

Подтверждения

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

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

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

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

Большой выбор

Предложите пользователю несколько вариантов, и чат-бот соберет информацию, которую пользователь выбрал из списка вариантов.

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

Если графика невозможна из-за того, что носитель не обеспечивает ее, меню может быть числовым.

Дата и время

Довольно часто при разработке чат-ботов сложное в теории может быть простым на практике. И то, что легко в теории, может оказаться очень сложным на практике.

Ввод даты и времени относится к последнему.

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

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

Пользователь может сказать «13:00 через 3 недели», а Composer может вывести время как 13:00, а дата точно через 3 недели.

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

Вложения

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

Вывод

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

Или у вас нет огромной вычислительной мощности или энергии для установки сложного стека программного обеспечения с хитрыми конфигурациями… тогда Composer — идеальная отправная точка.

Подробнее здесь…