Dialogflow es 我如何在不定义谷歌操作培训短语的情况下接收用户的输入

Dialogflow es 我如何在不定义谷歌操作培训短语的情况下接收用户的输入,dialogflow-es,actions-on-google,dialogflow-es-fulfillment,Dialogflow Es,Actions On Google,Dialogflow Es Fulfillment,我们正在构建一个记录操作,希望接收来自用户的输入,这些输入可以是自由文本,也可以是未定义的(我们不知道其中的内容)。我们正在使用Dialogflow,我们的实现是在webhook中定义的 我已经读到,我们可以创建一个自定义事件作为触发意图的可选方式,而不需要训练短语。然而,当我发送一个输入时,我无法得到触发的意图,我正在试图找出我缺少的部分 如果我们让用户在便笺前说一个“触发器”短语,并将该触发器短语定义为训练短语,例如“这是我的便笺”[用户口述他们的便笺],我就可以得到触发的意图 我希望谈话能

我们正在构建一个记录操作,希望接收来自用户的输入,这些输入可以是自由文本,也可以是未定义的(我们不知道其中的内容)。我们正在使用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 ]
在Dialogflow中,我有一个默认的欢迎意图、一个默认的回退意图和一个创建语音注释意图,它有一个后续意图“创建语音注释-自定义”

我的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)
});

您可以从
create voice note
intent中设置上下文,然后捕获具有回退意图的用户便笺,回退意图适用于该上下文。如果用户输入(即注释)与任何其他意图(即事实上的始终)不匹配,则会触发此回退意图。然后,用户所说的全文将作为参数包含在webhook请求中。

确保您具有所需的上下文当您想要触发后续意图时,Dialogflow会自动为后续意图生成上下文,因此很容易错过。谢谢!这很有帮助。我最后做的另一件事是将后续意图作为回退意图,并允许它捕获用户作为输入提交的任何内容。