我们正在为助手实施 Watson 技术来帮助某些用户。
对话有些复杂,有时需要对某些问题进行跳转回答,这样做的缺点是用户可能会再次提出问题,以防问题不清楚,那就是问题出现了。
当想要进入随后进入的节点并且所述节点进行了跳转时,我标记了以下错误
“不符合目标节点的条件,也不符合其后续兄弟节点的任何条件。”
有人能清楚地告诉我为什么会这样吗?
我们正在为助手实施 Watson 技术来帮助某些用户。
对话有些复杂,有时需要对某些问题进行跳转回答,这样做的缺点是用户可能会再次提出问题,以防问题不清楚,那就是问题出现了。
当想要进入随后进入的节点并且所述节点进行了跳转时,我标记了以下错误
“不符合目标节点的条件,也不符合其后续兄弟节点的任何条件。”
有人能清楚地告诉我为什么会这样吗?
“不符合目标节点的条件,也不符合其后续兄弟节点的任何条件。”
如果没有匹配最终节点,则会发生此错误。如果您的最后一个节点位于父节点为节点的分支中,那么它将回退到根节点以找到答案。你会得到一个无限循环,它将在 50 次迭代后停止。
像这个例子一样,如果用户输入“error”,它会跳转到分支,没有找到匹配项,返回根目录寻找停止并循环:
如果分支在一个文件夹中,那么它会继续通过该文件夹来查找匹配项。
要解决此问题,您需要在分支中添加一个最终节点,该节点将anything_else
像这样捕获。
另一种选择是使用文件夹节点。它将允许它返回到它进入的树,并且您的最终节点应该捕获它。
经过这么多测试,我终于找到了错误。这是因为我留下了一些带有值的上下文变量,当我返回节点时,我不再再次验证它们。我所做的是,在答案的最后,我将变量设置为,null
这样当我在节点中再次处理它们时,它们必须再次验证它们。
问候和非常感谢。