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



我想构建一个分支,以便 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
sure
yep
of course
yes I would
y

然后只需检查您的状况是否#Yes

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

实体

实体对于像这样的简短已知响应非常方便。你对人们如何说"是"的范围有限,它不会干扰你的实体。但是,如果有拼写错误,它可能无法捕获每个版本的 yes。然后,您可以查找@Yes@YesNo:Yes(如果已将它们分组)。

会话修复

即使在这两种情况下,也可能是这个人没有回答你期望他们的方式。因此,您可以在分支底部创建一个true节点。在那让你的输出说类似的东西。

对不起,我不明白,你想让我更详细地介绍吗?您可以回答">"或"否"。

然后,让 UI 使"是/否"可单击,但将文本传递回对话以给出正确的响应。

最新更新