Dialogflow es 具有多个输入参数的Google操作意图

Dialogflow es 具有多个输入参数的Google操作意图,dialogflow-es,Dialogflow Es,我正在寻找POC一个谷歌的小动作,它根据用户必须首先回答的几个是/否答案做出决定。实际上,我需要: 提问 存储结果 问下一个问题 存储结果 *重复此步骤,直到给出所有是/否答案,然后使用对话中保存的值以决定结束对话 正在进行,但我想为任何问题添加帮助。因此,用户可以说“我不明白”,“你能举个例子吗”,“帮助”,它会给出一个例子来帮助用户回答他们正在讨论的问题是或否 在实验室里玩了一圈之后,看起来我会为我的最终决定创建一个意图,然后在其中嵌套一堆后续意图来收集我所有的是/否答案。我觉得这会变得混乱

我正在寻找POC一个谷歌的小动作,它根据用户必须首先回答的几个是/否答案做出决定。实际上,我需要:

  • 提问
  • 存储结果
  • 问下一个问题
  • 存储结果
  • *重复此步骤,直到给出所有是/否答案,然后使用对话中保存的值以决定结束对话
  • 正在进行,但我想为任何问题添加帮助。因此,用户可以说“我不明白”,“你能举个例子吗”,“帮助”,它会给出一个例子来帮助用户回答他们正在讨论的问题是或否

    在实验室里玩了一圈之后,看起来我会为我的最终决定创建一个意图,然后在其中嵌套一堆后续意图来收集我所有的是/否答案。我觉得这会变得混乱,因为这将是一个巨大的链条


    有更好的设计方法吗?

    是的,使用后续意图会很麻烦。这几乎从来都不是解决问题的正确方法。记住,意图捕捉用户所说的,而不是用户所说的你在做什么

    如果问题真的只是是/否,我将设置六个意图:

    • 然而,你触发了提问的开始。这可能是你受欢迎的目的,也可能是其他原因
    • 说“是”和同等的话
    • 说“不”和类似的话
    • 求助
    • 要求重复这个问题
    • 处理其他意外输入的回退意图

    当提问开始时,您的履行将设置一个上下文,其中包含当前被提问的问题和到目前为止对这些问题的回答。回答“是”或“否”将更新回答,确定下一步要问什么问题,将其保存在上下文中,然后提问。“帮助”、“重复”和“回退意图”将根据当前问题以适当的信息作出回应。

    您可以使用上下文进行回答。将您的意图与输出/输入上下文联系起来,以便用户的响应(如“是”、“否”、“不理解”)仅与您的目标意图相匹配。要存储响应,您可以在webhook上使用conv.user.storage。谢谢@capture。试过一两个问题,效果还不错。如果我要求回答“是/否”,并根据我正在完成的任务给出不同的完成情况,这可能会变得棘手,但我会在完成任务时跨越这座桥梁。我猜在这种情况下,我得多管理一点对话状态。自己维持这种状态几乎总是比试图通过后续行动来精心设计要容易得多。它还允许您跳过问题、返回等。