我想构建一个分支,以便 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 使"是/否"可单击,但将文本传递回对话以给出正确的响应。