Добавление слота изменяя намерение - PullRequest
0 голосов
/ 29 мая 2018

Я создал диалог, который проверяет наличие некоторых намерений и сущностей для запуска ответа, я также добавил слоты для захвата недостающих сущностей.Но когда пользователь вводит значение слота, он меняет намерение, вызывая изменение в конечном ответе.Я попытался добавить контекстную переменную и удалить ее после ответа, но она удаляется до ответа, и я получаю пустую контекстную переменную в ответе.Как я добавил слот для захвата пропущенных значений цвета в Intent скажем «смотрящий», а значения цвета похожи на «I, G, H», а также есть Intent, скажем Goodbye, который также обучен для значений, таких как «G или H»,Таким образом, когда пользователь заполняет значение слота «G или H», он также переопределяет предыдущее намерение «смотреть» на «До свидания», и мое окончательное значение ответа изменяется.Каков наилучший способ справиться с этим потоком?

1 Ответ

0 голосов
/ 29 мая 2018

Текущее намерение основано на последнем высказывании конечного пользователя.Поэтому, когда кто-то набирает в слоте последующее действие, намерение изменится, и это предназначено.

Распространенным заблуждением является то, что это влияет на дерево диалога.Потому что, когда вы проверяете это в «Попробовать», вы видите изменение намерения.Если ваше диалоговое дерево явно не ищет его после слота, то оно никак не повлияет.

Если вам нужно, чтобы он не изменился, вы можете отправить объект намерения в своем контексте.Это отключит Watson Assistant от попытки угадать намерение.

Опасность заключается в том, что вам следует помнить, что отправленные вами назад сообщения могут не отражать введенные пользователем данные.Например, они могут спросить что-то, что должно вызвать обработчик слота.Это отключит эту способность.

...