会话 - 使用实体值/大小作为条件

时间:2017-12-06 13:43:14

标签: ibm-watson chatbot watson-conversation

我想知道如何使用实体中的值作为 IF bot识别  关于沃森会话的条件。

我有一个菜单供用户选择一个选项。所有这些选项都在一个名为@optionsNumbers的实体内,其值为1, 2, 3, 4, 5

我想制作一个条件来验证用户是否选择了多个选项。

E.g:

Watson:您好,欢迎来到XX公司的官方虚拟助手。您可以选择以上选项: 1.关于产品2.关于服务3.退出

用户:我想要选项1和2

因此,实体@sys-number有两个值,而不仅仅是一个,就像我需要的那样。

如您所见,用户键入实体@option的2个值。我想知道如何识别用户是否输入了这个特定实体的多个值,还有@sys-number,因为用户只能键入 ONE选项(业务规则)。

我对Watson非常热衷,并且非常确定我阅读了所有文档。所以,我尝试过但不起作用(我用Intents示例看过这些方法):

if bot recognizes entities.sys-number[1].value
if bot recognizes entities['sys-number'].size > 1

我知道我可以创建两个条件,但如果我的选项菜单有超过20个选项?这就是我问的原因。

1 个答案:

答案 0 :(得分:1)

首先,您可以使用Watson提供的系统编号实体内置类型:

Entities > System Entities > Enable System Number

您的意图现在应该能够在默认情况下轻松识别它,让我们检查以下意图:

enter image description here

你用沙盒测试它,它按预期工作

enter image description here

编辑:使用Dialog在sys-number上添加条件

创建用于匹配意图的新对话节点:

enter image description here

然后为此节点启用Multiple Responses(单击“自定义”):

enter image description here

添加条件作为回复的一部分:

enter image description here

然后测试你的对话框:

enter image description here