Как получить входные данные от пользователя, не задавая обучающие фразы для действий в Google? - PullRequest
0 голосов
/ 22 февраля 2019

Мы создаем действие для создания заметок и хотим получить ввод от пользователя, который может быть свободным текстом или неопределенным (примечание, содержание которого мы не будем знать).Мы используем Dialogflow, и наше выполнение определено в webhook.

Я читал, что мы можем создать пользовательское событие в качестве дополнительного способа вызвать намерение без необходимости обучения фраз.Тем не менее, я не смог получить намерение инициировать при отправке ввода, и я пытаюсь выяснить, какую часть мне не хватает.

Я могу получить намерение инициировать, если у нас естьПользователь произносит фразу триггера перед примечанием и определяет эту фразу триггера как обучающую фразу напр.«Это моя заметка» [Пользователь диктует свою заметку].

Я хочу, чтобы разговор проходил примерно так:

What do you want to do today?

Create a new note

Okay, let's go! What is your note!

[ User dictates their note ]

. В диалоге у меня есть приветственное намерение по умолчанию, резервное намерение по умолчанию и намерение создания голосовой заметки с последующим намерением "Создать голос"Примечание - Пользовательский "

Мой код webhook выглядит следующим образом

app.intent("create voice note", (conv) => {
    conv.ask("Okay, lets go! What is your note?");
});

app.intent("create voice note - custom", (conv) => {
    conv.ask("Here's what I have so far: ", conv.input.raw)
});

1 Ответ

0 голосов
/ 05 марта 2019

Вы можете установить контекст из намерения create voice note, а затем перехватить заметку пользователя с резервным намерением, ограниченным этим контекстом.Это резервное намерение будет тогда запущено, если пользовательский ввод (то есть примечание) не совпадает ни с каким другим намерением, то есть де-факто всегда.Полный текст, который произнес пользователь, затем включается в качестве параметра queryResult.queryText в запрос webhook.

...