对话 - 使用实体 values/size 作为条件

Conversation - using entities values/size as a condition

我想知道如何使用实体中的值作为 IF 机器人识别 Watson Conversation 的条件。

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

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

例如:

华生:您好,欢迎使用XX公司的官方虚拟助手。您可以选择上面的这个选项: 1.关于产品 2.关于服务 3.退出

用户: 我想要选项 1 和 2

所以,实体 @sys-number 有 2 个值,而不是我需要的 一个

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

我是 Watson 的狂热爱好者,并且很确定我阅读了所有文档。所以,我尝试过但没有用的方法(我看到了这些带有 Intents 示例的方法):

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

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

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

Entities > System Entities > Enable System Number

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

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


编辑:使用对话框在 sys-number

上添加条件

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

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

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

然后测试你的对话: