3

我们正在为助手实施 Watson 技术来帮助某些用户。

对话有些复杂,有时需要对某些问题进行跳转回答,这样做的缺点是用户可能会再次提出问题,以防问题不清楚,那就是问题出现了。

当想要进入随后进入的节点并且所述节点进行了跳转时,我标记了以下错误

“不符合目标节点的条件,也不符合其后续兄弟节点的任何条件。”

有人能清楚地告诉我为什么会这样吗?

参考图像

4

2 回答 2

1

“不符合目标节点的条件,也不符合其后续兄弟节点的任何条件。”

如果没有匹配最终节点,则会发生此错误。如果您的最后一个节点位于父节点为节点的分支中,那么它将回退到根节点以找到答案。你会得到一个无限循环,它将在 50 次迭代后停止。

像这个例子一样,如果用户输入“error”,它会跳转到分支,没有找到匹配项,返回根目录寻找停止并循环:

在此处输入图像描述

如果分支在一个文件夹中,那么它会继续通过该文件夹来查找匹配项。

要解决此问题,您需要在分支中添加一个最终节点,该节点将anything_else像这样捕获。

在此处输入图像描述

另一种选择是使用文件夹节点。它将允许它返回到它进入的树,并且您的最终节点应该捕获它。

在此处输入图像描述

于 2018-06-22T07:29:05.657 回答
0

经过这么多测试,我终于找到了错误。这是因为我留下了一些带有值的上下文变量,当我返回节点时,我不再再次验证它们。我所做的是,在答案的最后,我将变量设置为,null这样当我在节点中再次处理它们时,它们必须再次验证它们。

问候和非常感谢。

于 2018-06-22T22:16:25.970 回答