【问题标题】:Conversation - using entities values/size as a condition对话 - 使用实体值/大小作为条件
【发布时间】:2023-11-10 21:13:01
【问题描述】:

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

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

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

例如:

Watson:您好,欢迎来到 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 个选项?这就是我问的原因。

【问题讨论】:

    标签: ibm-watson chatbot watson-conversation


    【解决方案1】:

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

    Entities > System Entities > Enable System Number

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

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


    编辑:使用对话框在系统编号上添加条件

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

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

    添加您的条件作为响应的一部分:

    然后测试你的对话:

    【讨论】:

    • 感谢您的帮助,点赞,但是.. 我想使用 Entity option/sys-number 作为 condition,使用size 或值,而不是意图,因为如果用户选择多个选项,Watson 将回答:对不起,您只能选择一个选项!而且我使用的是系统编号实体,选项实体只是我用来询问的一个例子