Неоднозначное намерение и заполнение слотов - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть намерение под названием «Число», которое определяет, когда кто-то вводил цифры во время разговора, и оно действует соответствующим образом. Number Intent

Затем у меня есть намерение под названием «Отчет», которое предоставляет пользователю информацию о пользователе из базы данных. Чтобы проверить личность пользователя, я прошу его код безопасности (который представляет собой набор цифр).

Report Output Contexts Report Intent

Пользовательский опыт: Пользователь вызывает намерение «Сообщить». У пользователя запрашивается код безопасности.

Проблема: Как только пользователь вводит свой защитный код, а не возвращается к намерению «Отчет», он вызывает намерение «Номер», поскольку пользователь вводит цифры.

Я хотел бы иметь способ сказать, что вызывать намерение «Number» только в том случае, если мы не заполняем другое намерение. Как это возможно?

P.S с использованием all_required_params_present == True не работает.

1 Ответ

0 голосов
/ 05 ноября 2018

Если в вашем случае есть нечто похожее на два намерения (число), то единственный способ вызвать правильное намерение - это иметь «входной контекст» или «событие», например,

enter image description here

Здесь число показывает, сколько взаимодействий этот контекст активен.

Итак, если у вас есть capture_report контекст, активный для вашего намерения отчета, то он будет запущен только тогда, когда этот контекст активен, и пользователь произносит правильную фразу. Точно так же вам понадобится контекст для вашего намерения Number, чтобы он не запускался, когда вы хотите, чтобы Report намерен запускаться.

Вам нужно будет установить этот контекст либо из Dialogflow, либо программно сформировать выполнение webhook.

Для получения подробной информации проверьте Контекст и Событие с помощью Dialogflow и как работает контекст .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...