IBM Watson Assistant:我应该如何对实体进行分组?

问题描述

我正在创建一个聊天机器人,以询问有关国家/地区许多公司的商店列表的业务的某些问题,如图所示。我正在努力解决我应该如何对这种情况下的实体进行分组的事实:

用户输入:Wonder Group 时,我想检查它在加利福尼亚是否有任何商店。 -> 如果是,那么我会询问商店的名称 -> 检查该商店是否在加利福尼亚州可用 -> 如果是,则回答:OK!商店A! // 如果不是,那么说“对不起,加利福尼亚没有这个名字的商店!”

-> 如果否,请回答“抱歉,我们没有您需要的信息!”。

另外,我应该在这里使用多个条件响应还是插槽?

我尝试了很多方法,但都行不通。

Entity type

解决方法

正如评论中提到的,更多细节会有所帮助。但是,仅从您的形象来看,您似乎希望拥有多个实体组。地点(佛罗里达州、德克萨斯州等)和商店组(Wonder group、snowman 等)将是一个好的开始。然后,根据每个位置的商店数量,您可能希望对这些进行硬编码,或者使用带有商店的外部数据库,可以通过助手内部的外部 API 调用访问这些数据库。
这仅通过“同义词实体”方法定义创建实体,您可能希望训练您的助手通过“基于注释的方法”识别您的实体,see the Assistant documentation for more info.

,

使用上下文实体通常最适合开发人员不知道所有实体值的情况。在你的情况下,我假设你会知道所有可能的值。正如 Timd 所说,Synonym 方法可能最适合此用例。

仅供参考,要练习注释,请访问 https://www.ibm.com/cloud/architecture/demo/try-watson-assistant-contextual-entities/

对于我的一个项目,我有一个带注释的实体,称为 BenefitName。 BenefitName 代表所有医疗程序,例如物理治疗、胆囊切除术、心脏搭桥手术等。我确定不可能找到我的机器人可能看到的所有程序的列表,这就是我使用带注释的方法的原因。