Dialogflow - запускает другое намерение при захвате необходимых параметров (Entity) - PullRequest
0 голосов
/ 01 ноября 2019

Я создал 2 намерения.

Намерение 1:

Фаза обучения = 1) небо голубое
Вводcontext = empty
Выходной контекст = empty

Intent 2:

Фаза обучения = 1) поднятьинцидент (и т. д.)
Обязательный параметр = 1) параметр-A (сущность; значение = апельсин, арбуз, манго)
Контекст ввода = пусто
Контекст вывода = "RaiseIncident"

Шаги для имитации:
1. Пользовательский ключ в «вызвать инцидент».
2. Будет инициировано намерение 2 и запрос для параметра-A.
3. Пользовательский ключ в небе синий
4. Диалоговое окно прекращает захват параметра А и возвращает ответ с намерением 1.

Вот мои вопросы:

Есть ли способ продолжить захват параметра-A, пока не будет введен правильный ввод (оранжевый, арбузный, манговый) вместо того, чтобы вызвать другое намерение? Или это стандартное поведение Dialogflow?

1 Ответ

0 голосов
/ 02 ноября 2019

Это стандартное поведение, и оно существует по очень веской причине.

Допустим, у вас есть намерение «вызвать инцидент», как вы его описываете, и обязательный параметр для типа инцидента. Поэтому, если не указано иное, выдается сообщение: «Какой тип инцидента?»

U: Open an incident
B: What is the incident type?

Что делать, если пользователь не знает, какие существуют возможные типы инцидентов? Возможно, вы дадите им намерение, где они могут сказать «Помощь» или «Какие есть типы?»или эквивалентНо если он принимает только допустимые типы инцидентов, он будет отклонять запросы на помощь. Таким образом, согласно вашему сценарию, разговор может звучать как

U: Open an incident
B: What is the incident type?
U: Green
B: What is the incident type?
U: Help
B: What is the incident type?

Но поскольку вы можете создать Намерение «Помощь», вы можете предоставить эту информацию, и они могут повторно вызвать Намерение, чтобы вызвать инцидент.

U: Open an incident
B: What is the incident type?
U: Help
B: You can open mango or apple incident types. What would you like to do?
U: Open a mango incident

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

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