【问题标题】:Dialogflow: "Recursive" Intents flow (recap / edit / confirm and back)Dialogflow:“递归”意图流(回顾/编辑/确认并返回)
【发布时间】:2019-11-05 18:09:38
【问题描述】:

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

  • 姓名(Dialogflow 类型人员),值:“John Doe”
  • 生日(Dialogflow 类型日期),值:“1975-12-14”
  • 城市(Dialogflow 类型地理城市),值:“罗马”

但我的名字是 Jack Doe

图片描述的流程比我能做的更好,但我试着解释一下:

机器人一旦获得所有必需的信息,就会询问用户是否要确认这些值(有一个预定义的确认意图)。 如果答案是肯定的,我将通过 webhook 将此信息保存到我的服务器,我们就完成了。 如果用户想要更改某些内容,我们将在此线程中讨论这种情况。

用户:没有

机器人:你想改变什么?

用户:姓名

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

用户:Jack Doe

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

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

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

提前致谢

【问题讨论】:

  • 如果我错了,请纠正我,但是“所有可能的分支”是指用户可以更改的不同功能对吗?
  • 嗨乔迪。我的意思是用户应该能够随时回答“不”,随时更改“姓名”,随时更改“生日”,随时更改“城市”想要..直到他回答“是”

标签: dialogflow-es


【解决方案1】:

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

当您在欢迎意图中拒绝时,您将启动更改功能流程。由于 change which featureinput new feature value Intent 为 follow-up intents,Dialogflow 将首先尝试将用户输入与这些 Intent 匹配,然后再尝试匹配 信息正确信息不正确 意图在其上下文处于活动状态时,但如果未找到匹配项,它仍会触发信息正确/不正确意图。

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

【讨论】:

  • 谢谢乔迪。只是一个通知:我现在“刚刚”赞成这个答案,这是一个非常好的和聪明的方向。我会接受答案,以防它适合并解决问题,我认为会是这样。
猜你喜欢
  • 2018-11-20
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-05
  • 1970-01-01
  • 2018-07-05
  • 2017-08-31
相关资源
最近更新 更多