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

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

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

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

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

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

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


Last modified 7mo ago