Watson chatbot - 会话返回到父级

时间:2018-02-24 19:23:36

标签: chatbot watson-conversation watson

我正在努力熟悉沃森对话。到目前为止,我已经创建了一个由几个意图和对话框组成的简单对话。

我的改善健身对话框响应:

OK, so have you any running experience?
Thats a great start. Have you ran before?

它识别#improve_fitness意图,包括:

complete a 10K
complete a 5K
couch to 5K
general fitness
get a little faster
get healthier
get my time down
I want to get fit
I want to improve my fitness

从这里我创建了三个子对话框: 改善健身 - 没有经验 改善健身 - 一些经验 改善健身 - 有很多经验

如果用户触发其中任何一个,则会给出响应。根据响应,用户可以说出可以触发另一个的内容。我的问题是,在第一个孩子被触发后(无论是哪一个),对话似乎会回到父级别,如果说某些事情应该触发另一个孩子,我的机器人不会识别输入。有没有办法解决这个问题?

这是我正在看的截图。取决于我从改善健身 - 没有经验,改善健身 - 一些经验或改善健身 - 所获得的回应,我可能会说些什么应该把我带到另一个。

enter image description here

1 个答案:

答案 0 :(得分:2)

会话是无国籍的。当您第一次拨打电话时,您将获得context个对象。这是用于维持状态的东西。

在进一步调用时,您需要重新发送上下文,因此它会记住它的位置。

根据评论和图片进行了更新。

  

行。我现在只是在Bluemix工作。

默认情况下,如果对话无法在分支中找到匹配项,则会回退到root并尝试在那里找到匹配项。

您可以通过在分支末尾添加一个anything_else条件的节点来防止这种情况,该条件会提示正确的响应,然后跳转到父节点的等待用户输入。

如果正确输入内容,最常见的原因是需要更多培训。如果<意图不会触发匹配0.2信心。

您可以在输出文本中添加以下内容,以查看试用版中的评分:

<? intents ?>