我们正在构建一个便笺采取行动,并希望接收来自用户的输入,这些输入可以是自由文本,也可以是未定义的(便笺,我们将不知道其内容)。我们正在使用Dialogflow,而实现是在webhook中定义的。
我已经读到我们可以创建一个自定义事件作为触发意图的可选方式,而无需训练短语。但是,当我发送输入时,我一直无法触发意图,而是试图找出缺少的部分。
如果我们让用户在音符前说一个“触发”短语并将该触发短语定义为一个训练短语ex,我就可以触发。 “这是我的笔记” [用户要求他们的笔记]。
我希望对话像
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)
});
答案 0 :(得分:0)
您可以从create voice note
意图中设置上下文,然后使用范围限于该上下文的后备意图捕获用户注释。如果用户输入(即便笺)与任何其他意图都不匹配,即总是事实上,则将触发此后备意图。然后,用户说出的全文作为webhook请求中的https://firebase.google.com/docs/database/web/lists-of-data#listen_for_value_events参数。