我正在使用Node.js和Dialogflow进行一个小的谷歌操作。
我试图从用户接收所有输入后,询问他们是否想留下评论,如果用户想要留下评论,所有的事情,用户说必须存储在我的数据库中。
问题是,在询问他们是否要留言之后,我的下一个输入被检测为备用意图。
我试着做一个自定义事件,但我不能使它工作。
关于如何接收评论而不落入回退意图,有什么建议吗?
发布于 2019-07-06 04:18:42
简单的回答是-你不能。但是...有几种方法可以设置额外的备用意图,这些意图仅在您期望自由格式注释时触发。我不知道你想用事件做什么,但这几乎肯定也不是正确的方式-事件不是用于用户对话输入,而是用于其他触发事件(GUI触发器,无输入事件,等等)。
只要有与其他意图不匹配的输入,就会触发回退意图。因为您希望您的响应是自由格式的,所以在默认情况下,它不能与其他任何内容匹配。没有办法创建与之匹配的正常意图。
但是,您可以有多个根据context区分的回退意图。
这样,当您要求用户提供注释时,您可以设置" comment“上下文,并具有将"comment”作为输入上下文的备用意图。要以这种方式创建回退意图,请选择三点菜单图标

然后是“创建回退意图”

输入回退意图的名称,添加"comment“(或您选择的任何上下文)作为输入上下文,并在输出上下文中将寿命更改为0(以便在用户完成后清除上下文)。别忘了打开实现功能。

然后,您可以获取用户在webhook中所说的全文,并将其保存到数据库中。
然而,有一个警告-助手一般不会期望用户说很长时间,所以它可能会切断他们的评论,或者如果他们停顿,甚至短暂的暂停。
https://stackoverflow.com/questions/56908030
复制相似问题