ym88659208ym87991671
Создание интента для чат-ботов | Документация для разработчиков

Создание интента

Обновлено 15 декабря 2023

Интент — ключевая единица NLU-сервиса, объединяющая в себе набор фраз, намерение пользователя и другую метаинформацию.


Подключение SmartApp Brain

Чтобы использовать в своем чат-боте интенты и сущности, вам нужно подключить в проект SmartApp Brain.

Для этого укажите в конфигурационном файле chatbot.yaml параметры:

language: ru
botEngine: v2

sts:
noMatchThreshold: 0.2
caila:
noMatchThreshold: 0.2

Где:

  • language — язык классификатора. Возможные значения: ru — русский, en — английский.
  • noMatchThreshold — порог срабатывания классификатора. Число в диапазоне от 0 до 1. Значение по умолчанию 0.2. Если классификатор не может отнести фразу ни к одному из классов с заданной степенью уверенности, создается событие event: noMatch.

SmartApp Brain подключен во всех проектах по умолчанию.

Создание интента

Войдите в проект, на панели управления нажмите Редактор > Интенты. Вы перешли в справочник интентов для проекта.

Нажмите Создать интент. Заполните поля:

  • Название — укажите название интента. Полный путь интента рассчитывается автоматически и отображается под полем ввода, он используется при обращении к интенту из сценария.
  • Описание — укажите дополнительное описание или комментарий.
  • Ответ — укажите стандартный ответ на интент. Вы можете обратиться к нему из сценария как $context.intent.answer.
  • Тренировочные фразы — укажите примеры тренировочных фраз для распознавания данного интента.

Вы можете также создать вложенный интент. Уровень вложенности интентов не ограничен.

Интенты формирую дерево на правой панели. Узлы дерева отсортированы в лексикографическом порядке. Для каждого узла указывается число примеров фраз в данном интенте и через символ / число всех дочерних фраз.


Заполнение слотов для интента

Slots (слоты) — данные, которые клиент передает с запросом или в процессе дозапроса. У каждого слота есть обязательные атрибуты: Имя, Тип.

Подробнее о процессе дозапроса информации Slot filling.

Для заполнения слотов нажмите Добавить слот. Заполните поля:

  • Название — название слота.
  • Сущность — выберите из списка сущность, определяющую тип данных, которые попадут в слот. Вы можете использовать как системные, так и кастомные сущности.
  • Обязательно — переведите переключатель в активное положение, если слот является обязательным для заполнения.
  • Массив — переведите переключатель в активное положение, чтобы в слот помещались все сущности данного типа, оформленные как массив.
  • Вопросы — укажите вопросы, которые будут использованы при процессе Slot filling.

Экспорт и импорт интентов

Для экспорта интентов перейдите к списку проектов > напротив проекта нажмите иконку

downoload
. В экспортированном архиве в файле caila_import.json все данные проекта по работе с NLU-ядром Brain.

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

Для этого создайте проект нажмите иконку

more
> Загрузить > выберите архив проекта.

Также вы можете импортировать интенты на странице Интенты. Для этого сформируйте .json файл следующего формата:

{
"classes": [
{
"path": "/PlayGames/Games", // путь к интенту
"description": "", // описание
"disabled": false, // при `false` интент активен
"phrases": [
"давай поиграем в какие-нибудь игры" // тренировочные фразы
]
},
{
"path": "/PlayGames/Games/CanYouPlay",
"description": "",
"disabled": false,
"phrases": ["ты умеешь во что-нибудь играть?", "ты знаешь какие-нибудь игры?", "ты знаешь как играть?"]
}
]
}

Вверху дерева интентов нажмите Импорт > загрузите файл.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.