chatme.ai
Search…
Создание Агента на платформе
Создание Сценария Агента
ДЛЯ РАЗРАБОТЧИКОВ
Распознавание намерений | Слот NLU и под-слоты Intent и Fallback

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

Слот NLU – слот, предназначенный для реализации распознавания речи Собеседника Агентом ー обработки сообщений на естественном языке с целью определить высказанное намерение (Интент) Собеседника и в зависимости от определенного интента выполнить переход в соответствующую ветку Сценария.
Слот NLU является комплексным слотом и не может существовать без дочерних под-слотов Intent и под-слота Fallback, которые начинают собственные ветки, в которые осуществляется переход после распознавания соответствующего намерения.
Слот NLU обрабатывает входящую реплику Собеседника, предварительно записанную в переменную client_message.
Слот NLU распознает только те интенты, которые заключены в его под-слоты Intent. Остальные возможные намерения Собеседников (интенты) не участвуют в распознавании в данном NLU слоте. Например, на изображении выше, слот NLU будет обучен распознавать только два интента, которые выбраны в его под-слотах Intent. Если ни один из этих интентов не будет распознан, общение перейдет в под-слот Fallback.

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

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

  1. 1.
    NAME – название слота;
  2. 2.
    CONFIDENCE THRESHOLD – выраженное в процентах минимальное значение уверенности в распознанном намерении, при котором интент считается распознанным, и общение переходит в ветку соответствующего под-слота Intent. Значение Confidence threshold может быть целым числом от 0 до 100.
    1. 1.
      Значение Confidence Threshold зависит от количества интентов в Дереве Сценария. Рекомендуется, чтобы значение было обратно пропорционально количеству под-слотов Intent в Сценарии: чем больше интентов, тем меньше должен быть Confidence Threshold.
    2. 2.
      Для начала рекомендуется сначала устанавливать значение, равное 15 – при таком Confidence Threshold распознавание происходит наиболее успешно у большинства Ботов. В зависимости от результатов тестирования Бота Confidence Threshold можно будет изменить. Подробнее в разделе Подбор оптимального значения Confidence Threshold.
    3. 3.
      Каждому сообщению Собеседника присваивается значение Confidence (число от 0 до 1). Confidence характеризует уверенность Бота в том, что сообщение относится к определенному интенту.
    4. 4.
      Значение Confidence Threshold – это выраженное в процентах минимальное значение Confidence, при котором Бот переходит в слот одного из интентов. Если значение Confidence меньше Confidence threshold, Бот переходит в слот Fallback.

Работа слота

Слот NLU обучается на выборках интентов, добавленных в качестве его подслотов Intent.
Слот NLU на входе принимает переменную client_message, обрабатывает переменную, распознавая интент, и переводит общение с Собеседником в ветку распознанного интента. Если ни один интент не распознан с должным уровнем уверенности, общение переходит в под-слот Fallback.

Подслоты Intent и Fallback

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

  • При создании слота NLU автоматически создаются два подслота Intent и подслот Fallback.
Если предварительно интенты не были созданы, за слотом NLU будут созданы под-слоты с автоматически сгенерированными интентами:
Эти интенты появятся в списке интентов Компании.
  • Для того чтобы заменить интенты в сгенерированном подслоте, разверните его двойным нажатием мыши. Нажав на название интента в поле INTENT и выберите нужный интент из выпадающего списка. Далее нажмите Save.

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

  • Для того чтобы добавить новый под-слот, нужно нажать на кнопку +. Новый под-слот отобразится в Сценарии выше под-слота Fallback, который всегда располагается самым нижним.

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

  1. 1.
    Обучение: слот NLU обучается на выборках интентов, добавленных в качестве его под-слотов Intent и после этого становится частью обученной модели Агента.
  2. 2.
    Получение реплики: слот NLU в обученной модели Агента на входе принимает реплики Собеседниковー текст из переменной client_message.
  3. 3.
    Классификация реплики: Обученная модель Агента производит классификацию реплики Собеседника из переменной client_message и расставляет все интенты данного слота NLU по уровню уверенности в них ー Confidence (в процентах, аналогично Confidence Threshold).
  4. 4.
    Переход в интент: переход осуществляется в интент с максимальным Confidence при условии, что Confidence >= Confidence Threshold в настройках данного слота NLU, и является интентом, которым распознана реплика Собеседника. Как следствие:
    • Общение перейдет в ветку данного под-слота Intent;
    • В системных контекстных переменных создается переменная intent ー идентификатор распознанного интента;
    • В системных контекстных переменных создается переменная confidence – степень уверенности Бота в том, что реплика Собеседника относится к данному интенту (в процентах);
    • Переменные intent и confidence сохраняются в контексте Чата до следующего выполнения этого же или другого слота NLU в данном Чате .
  5. 5.
    Переход в Fallbaclk: переход в под-слот Fallbaclk осуществляется, если Confidence всех интентов ниже значения Confidence Threshold в настройках данного слота NLU. Это означает, что ни один из интентов не был распознан. Как следствие:
    • Общение перейдет в ветку данного под-слота Fallback;
    • В системных контекстных переменных создается переменная error – текст ошибки. Переменная error существует в контексте Чата до: - Следующего выполнения этого же или другого слота NLU; - Выполнения слота Regular Expression; - Выполнения слота External Request.

Пример

В данном случае реплика Собеседника была отнесена слотом NLU к интенту 1analytics, и Сценарий перешел по соответствующей данному интенту ветке.
Copy link
On this page
Назначение и общая информация
Создание и настройки комплексного слота NLU (NLU + Intent + Fallback)
Атрибуты слота
Работа слота
Подслоты Intent и Fallback
Процесс распознавания интентов
Пример