如何通过用户非常短的增量输入继续对话分支?

How to continue down a conversation branch with a user's very short, incremental input?

我想构建一个分支,以便 Watson 可以对特定问题提供简短的回答,然后在用户需要更多信息时提供更多详细信息。

示例交互可能是:

User: "I'd like to know about X." 
Watson: "Sure, ... . Would you like me to go into more detail?" 
User: "Yes." 
Watson: "Okay, ... ."

前两行直接来自 IBM 提供的教程。后两个我不确定如何处理。我如何从简单的 "Yes." 中创建一个意图?我如何使用对话树中访问的最后一个节点创建条件语句(我相信这可能有帮助)?

有几种方法可以解决这个问题。

意图

您只需要创建一个包含五个版本的 yes 的意图。

yes
sure
yep
of course
yes I would
y

然后根据您的情况检查 #Yes

您需要用您的其他意图对其进行测试,以确保它们不会相互干扰。

实体

实体可以方便地用于像这样的简短已知响应。人们可能会说“是”的方式范围有限,并且它不会干扰您的实体。但是,如果存在拼写错误,它可能无法捕捉到 yes 的每个版本。然后,您可以查找 @Yes@YesNo:Yes(如果您已将它们分组)。

对话修复

即使在这两种情况下,对方也可能没有按照您的期望回答。所以你可以在分支的底部创建一个 true 节点。在那里让你的输出说类似的话。

Sorry I didn't understand, Would you like me to go into more detail? You can answer Yes or No.

然后让您的 UI 使 Yes/No 可点击,但将文本传回对话以给出正确的响应。