对话流:“递归”意图流(回顾/编辑/确认并返回)

我有一个因事件而被触发的意图。 此事件设置意图参数的值。 无论如何,数据中可能会有一些错误(或丢失),但是这种情况很容易,并且不是问题的一部分。 现在,让我们举一个例子。 我的意图具有以下参数:

  • 名称(Dialogflow类型人员),值:“ John Doe”
  • 生日(Dialogflow类型日期),值:“ 1975-12-14”
  • city(对话流类型geo-city),值:“罗马”

但我叫 Jack Doe

对话流:“递归”意图流(回顾/编辑/确认并返回)

该图像比我更好地描述了流程,但我尝试解释一下:

该机器人在拥有所有必需的信息后,会询问用户是否要确认这些值(有预先确定的意图进行确认)。 如果答案是肯定的,那么由于有一个Webhook,我将把此信息保存到我的服务器上,我们已经完成了。 如果用户想要更改某些内容,我们将在本例中讨论。

  

用户:否

     

启动:您要更改什么?

     

用户:名称

     

Bot :好的,你叫什么名字?

     

用户:Jack Doe

这时,我想回到显示所有信息并再次要求确认的意图(当然,在第二次迭代中,名称将为“ Jack Doe”)。 用户可以反复更改值,直到他确认值正确为止。

我认为创建后续意图流来捕获所有可能的分支(可能是无限的)可能是疯狂的,并且也许有一种方法可以更智能地完成此任务。

关于如何实现此流程的任何想法?还是可以获得相同结果的变体?

预先感谢

book1842 回答:对话流:“递归”意图流(回顾/编辑/确认并返回)

如果希望从任何步骤中触发是和否确认,则应确保它们没有input context。这样,即使您处于具有活动上下文的步骤中,您也可以触发这些意图。一个有关如何实现流程的简单示例如下:

enter image description here

当您在欢迎意图中拒绝时,您将开始更改功能流程。由于更改哪个功能输入新功能值意向是follow-up intents,因此Dialogflow会先尝试将用户输入与这些意向相匹配,然后再尝试与信息正确或信息不正确意图,但是如果找不到匹配项,仍会触发信息正确/不正确意图。

如果只希望它们在一定时间内可被触发,则应为所有这些意图提供相同的输入上下文(除了它们使流程起作用所需的输入上下文),并在用户确认正确之后将其禁用

本文链接:https://www.f2er.com/3160849.html

大家都在问