1 min read

Намерение (Intent)

Намерение (Intent)
Фото: Livia / Unsplash

Намерение – одна из центральных концепций при разработке Чат-ботов (Chatbot), совокупность алгоритмов, осуществляемых системой, распознавшей потребность пользователя.

Структура

В зависимости от платформы-конструктора или API структура намерения разнится. Однако с практикой сформировались характерные компоненты. Рассмотрим их на примере DialogFlow – популярного продукта Google.

  • Контексты (Contexts): позволяют настроить сложную многоуровневую связь между намерениями. Например, создав контекстом awaitingPhone связку между намерением "Запрос имени" и "Запрос телефона" мы обяжем систему воспринимать числовой ввод как телефон. Вкупе с Последующими намерениями (Follow-up Intents), позволяет реализовывать сложную логику диалога с множеством похожих точек ветвления.
  • События (Events): создаваемое разработчиком на бэкенде событие checkPhone (к примеру, проверка телефона на наличие в базе компании), позволяет исполнить стороннюю логику с использованием номера телефона. Термин тесно связан с понятием Вебхук (Webhook).
  • Тренировочные фразы (Training Phrases): раздел, принимающий примеры пользовательского ввода и позволяющий непосредственно использовать Машинное обучение (ML) для поиска закономерностей. Достойно работает на больших объемах обучающих данных.
  • Действия и параметры (Action and parameters): поле 'Enter action name' значение задается пользователем вручную или генерируется с помощью названий контекстов. Позволяет реализовывать кастомную логику с помощью встроенного редактора Inline Editor в разделе Fulfillment.
  • Ответы (Responses): ответы виртуального ассистента в случае успешного распознавания пользовательского ввода.
  • Исполнение (Fulfillment): свитчер 'Enable webhook call for this intent' позволяет обратиться к кастомной логике разработчика и заполнить другой параметр определенным значением помимо телефона (к примеру, статус активности номера).