Запуск намерения с использованием события в диалоговом потоке - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь создать викторину, в которой я хочу проверить ответы пользователей.Я создал намерение показать вопросы, а затем последующее намерение проверить ответы.Ниже приводится краткая идея:

Когда пользователю показывают вопрос, ему / ей также показываются варианты одного слова в качестве листов предложений, пользователь выбирает плитку предложений (что он / она считает правильным ответом).), тогда последующее намерение должно быть инициировано, чтобы проверить ответ, и бот должен ответить как правильный или неправильный ответ.

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

Есть ли способ вызвать намерение, используя ввод пользователя?Также, если есть какой-либо другой подход к созданию викторины в диалоге, пожалуйста, прокомментируйте?

1 Ответ

2 голосов
/ 19 июня 2019

Я также создал тест на Google home. У меня возникла такая же проблема, и я нашел следующее решение:

По умолчанию Приветственное намерение имеет выходной контекст await_answer , и я задаю вопрос в этом намерении. Затем есть getAnswerIntent , который имеет await_answer в качестве входного контекста и имеет answerCodeEntity в качестве обучающей фразы. Эта сущность состоит из:

A: 1, A, answer 1, answer A, first, first one, the first one
B: 2, 2nd answer, second answer, answer B, B, ...
C: ...
D: ...

Например: как далеко от Земли находится луна? A: 384 000 км B: 50.000 км или C: 1.000.000 км

Таким образом, пользователи знают, как ответить. Вы избежите пользователей, которые не могут сказать ответ или просто не помнят. Всегда старайтесь ожидать, как пользователь ответит.

Таким образом, вы можете обработать ответ пользователя в getAnswerIntent.

Надеюсь, это вам поможет!

...