Dialogflow CX - DetectIntent Response - Альтернативное совпадающее намерение не входит в ответ
Я пытаюсь воспроизвести сценарий, в котором
alternate matched intent
возвращает другие намерения, которые имеют близкое соответствие / близкую оценку достоверности. Но API всегда возвращает 1 намерение с наивысшей степенью достоверности и пропускает все остальные намерения. Есть ли способ сделать его функционирующим аналогично версии ES?
Выполненные шаги - Создано намерение1 с высказыванием
Check balance
и создал Intent2 с
test balance
. И в тестовом окне, если я наберу
Balance
он всегда возвращается только
Intent2
"Alternative Matched Intents": [
{
"Id": "84383366-215f-40a3-9ba6-464238f0c2aa",
"Score": 0.5985087752342224,
"DisplayName": "Intent2",
"Type": "NLU",
"Active": true
}
]
1 ответ
Поле "Альтернативные согласованные намерения" помогает вам отлаживать намерения, которые совпадают с высказыванием пользователя в текущей модели потока, которая также будет содержать само согласованное намерение.
Более того, эти намерения являются только намерениями, на которые есть ссылки в потоке (например, используемые маршрутом перехода на странице потока), которые подхватываются потоковой моделью.
Обратите внимание, что намерения, на которые нет ссылок в потоке, не будут включены в поле "Альтернативные совпадающие намерения".
Вот несколько примеров сценариев, в которых мы можем использовать поле "Альтернативные совпадающие намерения" для целей отладки:
Если у вас есть Intent-1 и Intent-2, которые содержат обучающую фразу "hello", и на них обоих ссылаются в текущем потоке (см. Изображение выше - Intent-1 упоминается на странице Intent1, а Intent-2 упоминается в страницу Intent2). Когда пользователь говорит "привет" на стартовой странице, намерение-1 будет активировано, и намерение-1 и намерение-2 будут включены в поле "Альтернативные совпадающие намерения". Обратите внимание, что агент все еще сопоставляет высказывание пользователя с намерением-2, и именно конфигурация страниц / переходов (т.е. модель состояния) приводит к срабатыванию намерения-1.
Если у вас есть намерение-3, в котором есть обучающая фраза "проверить баланс", и на него ссылаются на нижнем уровне вашего текущего потока. Когда пользователь говорит "проверить баланс" на стартовой странице, НЕТ НАМЕРЕНИЯ не будет сопоставлено, поскольку на основе текущего потока вы должны сначала пройти через намерение-1 и намерение-2, прежде чем намерение-3 может быть сопоставлено (см. Изображение выше - На Intent-3 есть ссылка на странице Intent3). Тем не менее, намерение-3 также будет включено в поле "Альтернативные согласованные намерения", поскольку на него имеется ссылка в текущем потоке.
Более того, как вы можете видеть в результатах выше, есть поле "Активно", которое указывает, активно ли намерение или нет (значение истинно, если оно активно, и ложно, если нет). По сути, активные намерения - это намерения, которые находятся в текущей области. Например, если пользователь в настоящее время находится на странице "Intent1", то активными намерениями считаются только намерения в маршруте перехода текущего потока (START_PAGE) или маршруте перехода текущей страницы (Intent1) или группе маршрутов перехода. См. https://cloud.google.com/dialogflow/cx/docs/concept/handler#scope для получения дополнительных сведений.