Распознавание намерений | Слот NLU и под-слоты Intent и Fallback

Назначение и общая информация

Слот NLU — Слот, предназначенный для реализации распознавания речи Агентом ー обработки сообщений на естественном языке с целью определить высказанное намерение (Интент) Собеседника и в зависимости от него выполнить переход в соответствующую Ветка сценария.

Слот NLU является Комплексный слотом и не может существовать без Дочерний слотов intent и Подслота fallback, которые начинают собственные ветки, в которые будет осуществлен переход после распознавания соответствующего намерения.Слот NLU обрабатывает входящую Реплика Собеседника, предварительно записанную в Контекстная переменная client_message.Слот NLU распознает только те Интенты, которые заключены в его Подслоты intent , остальные Интенты, существующие в Компания, не участвуют в распознавании в данном NLU слоте. Например, на изображении выше, слот NLU будет обучен распознавать только два Интента, которые выбраны в его Подслотах intent . Если же ни один из этих Интентов не будет распознан, Общение перейдет в Подслот fallback.

Создание и настройки комплексного слота NLU (NLU+intent+fallback)

Атрибуты слота

  1. NAME* — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов.

  2. Confidence Threshold* — это выраженное в процентах минимальное значение уверенности в распознанном намерении, при котором Интент считается распознанным, и Общение может перейти в его ветку (ветку Подслота intent). Значение может быть целым числом от 0 до 100.

Значение Confidence Threshold рекомендуется устанавливать исходя из утверждения, что это значение должно быть обратно пропорционально количеству Интентов в Слоте: чем больше Интентов, тем меньше должен быть Confidence Threshold. Для начала рекомендуется устанавливать значение 15 и изменять это значение в зависимости от результатов тестирования Агента. Подробнее: Тестирование и улучшение распознавания Агента: подбор Confidence threshold

Атрибуты подслота intent

  1. Name — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов. Если название не введено, Платформа автоматически копирует название Интента из поля Intent в поле Name.

  2. Intent* — Интент, при распознании которого Общение пойдет по Ветка сценария, следующей за данным Подслотом.

  3. Кнопка SHOW INTENT IN A NEW TAB — по нажатию кнопки выбранный в поле Интент открывается в соседней вкладке браузера.

Атрибуты подслота fallback

Name — название Слота, которое будет отображено в Дерево сценария. Максимальная длина значения поля — 40 символов. При создании слота NLU в поле Name подслота Fallback автоматически подставляется содержимое поля Name слота NLU. Если содержимое поля Name удалено, Подслот в Дерево сценария будет отображаться без названия.

Подслоты intent и fallback

Автоматическая генерация подслотов при создании слота NLU

  • При создании Слота NLU автоматически генерируются два Подслота intent и Подслот fallback. В них подставляются Интенты из Ресурсы Компании.

  • Если в Компания нет Интентов, то за слотом NLU будут созданы Подслоты с автоматически сгенерированными Интентами:

Эти Интенты появятся в Ресурсы Компании. О создании Интентов: Вкладка интентов — Intents.

  • Заменить Интенты в сгенерированных подслотах можно, развернув подслот двойным нажатием мышки, нажав на название Интента и выбрав нужный из выпадающего списка и нажав кнопку Save.

Добавление подслотов Intent

Чтобы добавить новый Подслот, нужно нажать на кнопку +. Новый Подслот появится в дереве выше Подслота, который всегда расположен самым нижним.

Удаление подслотов Intent и Fallback

  • Чтобы удалить Подслот intent, необходимо кликнуть по нему правой кнопкой мыши и нажать кнопку Remove Branch, затем нажать OK во всплывшем диалоговом окне.

  • Возможно удалить любой Подслот intent, если после удаления у Слота NLU останется не менее двух Подслотов intent.

  • Удаление Подслота fallback невозможно.

Работа слота

Слот NLU обучается на выборках Интентов, добавленных в качестве его Подслотов intent. О наполнении Обучающая выборка: Распознавание агентом естественного языка.Слот NLU на входе принимает Контекстная переменная client_message, обрабатывает ее, распознавая Интент, и переводит Общение в ветку распознанного Интента. Если же ни один Интент не распознан с должным уровнем уверенности, Общение переходит в Подслот fallback.

Процесс распознавания Интентов

  1. Обучение: слот NLU обучается на выборках Интентов, добавленных в качестве его Подслотов intent.

  2. Важно: если Агент был отредактирован, но изменения коснулись только содержимого других Слотов, помимо NLU, то при переобучении Агента слот NLU не будет переобучаться.

  3. Получение реплики: слот NLU принимает Сообщение собеседника ー текст в Контекстная переменная client_message.

  4. Классификация реплики: происходит классификация сообщения из Контекстная переменная client_message и расставляет все Интенты данного Слота NLU по уровню уверенности в них ー confidence (выражена в процентах, так же как и CONFIDENCE THRESHOLD ).

  5. Создание в Контекст Чата Контекстная переменная nlu_result: создается Контекстная переменная, значением которой становится json-объект, содержащий информацию о топ-5 распознанных интентов в порядке убывания их confidence. Пример: [{'intent_name': 'size', 'confidence': 0.9993743300437927}, {'intent_name': 'product_in_stock', 'confidence': 0.00019508253899402916}, {'intent_name': 'model_price', 'confidence': 0.00012844608863815665}, {'intent_name': 'address', 'confidence': 0.00010525238758418709}]

  6. Переход в интент: Интент с максимальным confidence при условии, что этот confidence >= CONFIDENCE THRESHOLD из настроек данного слота NLU, и является Интентом, которым распознана Реплика. Как следствие:

    • Общение перейдет в ветку данного Подслота intent;

    • в Контекст Чата появляется Контекстная переменная:

      • intent_name ー название распознанного Интента;

      • confidence — степень уверенности в принадлежности Реплика определенному Интенту, выраженная в процентах.

  7. Переход в фоллбек: Если же confidence всех Интентов ниже CONFIDENCE THRESHOLD из настроек данного слота NLU, то считается, что ни один Интент не был распознан, как следствие:

    • Общение перейдет в ветку Подслота fallback;

    • в Контекст Чата появляется Контекстная переменная error — текст ошибки.

Пример: в данном случае Реплика Собеседник была отнесена слотом NLU к Интенту 1analytics, и произошел переход по соответствующей ему Ветка сценария.

Язык

Русский

Английский

Португальский

Украинский

Испанский

Вьетнамский

Тайский

Индонезийский

Малайский

Филиппинский

Сербский

Немецкий

Польский

Французский

Пакистанский (урду)

Киргизский

Арабский

Last updated