是否有可能偏离对话流并回到DF中的原始流程

问题描述 投票:0回答:2

我正在尝试在google Dialog Flow中开发一个聊天机器人,其中用户偏离原始会话流(CF),但最终会回到中间的某个地方。

机器人响应以粗体显示例如:原始CF:嗨 - >我怎么可以帮助你 - >我想去旅行 - >好的,我会建议欧洲。你会感兴趣吗? - >是 - >好吧,这是价格

偏离CF:嗨 - >我怎么能帮你 - >我想去旅行 - >好的,我会建议欧洲。你会感兴趣吗? - >也许 - >欧洲有许多美丽的旅游目的地。你会感兴趣吗 - >是 - >好吧这是价格

我发现实现这一目标的唯一方法是制定新的意图并开发其后续工作,这使得这非常多余。我必须完全开发两个单独的意图。有什么办法我可以为偏离的CF做出一个意图并将其加入原始意图吗?

dialogflow actions-on-google
2个回答
1
投票

一个简单的解决方案是制定许多后续意图,但这是永无止境的过程。 这是我想建议的另一种方法:

  • 列出在偏差情况下要处理的重要意图
  • 当意图被击中时,将其保存到某个DB(或缓存),让我们说unfinished_intent
  • 在每个请求或每2-3个请求中检查unfinished_intent的值,如果它包含一些意图名称,则提示它
  • 在您的意图完成后,删除unfinished_intent

这只是一个想法,如何实现是由你决定的。 我建议这是因为它是通用的,它将捕获所有的情况。

希望能帮助到你。


1
投票

请记住,用户可以随时更改对话的方向。因此,使用长链后续意图是一个坏主意。即使使用短链也是一个坏主意。后续意图应限于相当狭窄的情况,在大多数情况下,它们不是明智的,也不是必要的。

相反,请跟踪您拥有的有关用户的信息以及作为上下文的一部分仍需要的信息。如果您正在进行旁边对话或提出建议,请同时跟踪,因为用户可能会询问有关它的问题。构建许多代表用户所说内容的顶级意图,而不是您在对话中的位置或您计划如何回复。

另请参阅基于StackOverflow上的Thinking for Voice: Design Conversations, not Codethis answer

© www.soinside.com 2019 - 2024. All rights reserved.