我正在使用Node.js和Dialogflow进行小型Google操作。
在询问他们是否要发表评论之后,我试图从用户那里接收所有输入,如果用户想发表评论,则用户所说的所有内容必须存储在我的数据库中。 >
问题是,在询问他们是否要留言后,我的下一个输入被检测为回退意图。
我尝试制作一个自定义事件,但无法使其正常工作。
关于如何接收评论并且不落入后备意图的任何建议?
答案 0 :(得分:1)
简短的答案是-您不能。但是...您可以通过多种方式设置仅在期望自由格式注释时触发的其他后备意图。我不确定您要使用“事件”做什么,但这几乎也肯定不是正确的方法-事件不是用于用户对话输入,而是用于其他触发事件(GUI触发器,无输入事件等)
只要输入与其他Intent中的一个都不匹配,就会触发Fallback Intent。由于您希望您的回复为自由格式,因此默认情况下,它无法与其他任何内容匹配。无法创建匹配的普通Intent。
但是,您可以有多个基于context进行区分的后备意图。
这样,当您要求用户提供评论时,您可以设置“评论”上下文,并使回退意图具有“评论”作为输入上下文。要以这种方式创建后备意图,请选择三点菜单图标
然后“创建后备意图”
输入“后备意图”的名称,添加“注释”(或您选择的任何上下文)作为输入上下文,并在“输出上下文”中将寿命更改为0(以便在用户完成操作后清除上下文)。别忘了打开“配送”。
然后您可以获取用户在Webhook中所说的全文并将其保存到数据库中。
但是,有一个警告-助理通常不会期望用户讲话很长时间,因此它可能会切断他们的评论,或者如果他们暂停甚至短暂地停顿。