自定义实体

已完成

上一单元中讨论的预生成实体涵盖许多常见信息类型。 但是,在某些情况下,组织可能需要适用于更多特殊应用场景的语言理解。 例如,假设您需要为一家户外商店构建助手。 该助手可能需要识别不同类型的户外产品。 可以创建名为户外商店类别的自定义实体。 此实体可存储商店提供的所有不同的户外产品, 此实体将帮助确保当有人键入钓鱼、滑雪或划船等类别的户外产品时,助手能够将他们引导到正确的位置。

通过选择“设置”按钮,导航到实体选项卡,然后选择添加实体来创建自定义实体。 创建自定义实体时,需要定义要创建的实体类型。

可以创建两种类型的实体:

  • 封闭式列表:用于定义短小的项目列表,例如大小、部门或位置的列表。

  • 正则表达式(regex):用于定义特定逻辑模式,例如 ID 编号、信用卡号或 IP 地址。

封闭式列表实体

要定义在与客户交互时可能有用的短小项目列表时(例如我们前面提到的户外公司示例),最好使用封闭式列表实体。 在下图中,我们创建了名为“户外商店类别”的封闭式列表自定义实体。 我们添加了户外产品类别名称列表。

当用户与聊天会话交互时,系统将查找列表中定义的值。 如果我们已创建特定于列表中项目的主题,用户可轻松转到其中的一个主题。 例如,如果用户输入我有一个棒球方面的问题,系统将识别列表中的棒球项目,并且根据配置,可能会显示棒球主题。

使用智能匹配

当客户与助手交互时,有时会键入错误的内容,或者输入的短语与实体中定义的短语略有不同。 例如,客户可能会输入垒球,而不是棒球。 这两项运动都使用相同类型的设备。 在产品类别方面,垒球应视为与棒球相同。 通过智能匹配,助手可以基于向实体提供的列表项以模糊方式接受用户输入。 这意味着,助手不必查找完全匹配的项目。 开启智能匹配的情况下,助手将自动更正拼写错误,并在语义上扩展匹配逻辑,如自动将垒球与棒球匹配。

使用同义词

同义词选项与智能匹配相似,与智能匹配的不同之处在于它们不是自动的。 同义词是手动输入的。 它们会扩展逻辑以包括具有相似含义或实质相似的字词。 例如,将滑雪、单板滑雪和雪鞋健行等运动分组在一起并不罕见,因为它们都是雪上运动。 要在我们的列表中满足此要求,可以将单板滑雪雪鞋健行添加为滑雪产品类别的同义词。 如果用户输入单板滑雪或雪鞋健行,助手将理解这些字词与滑雪类别相关。 对于瑜伽等其他活动,可以添加普拉提。 智能匹配和同义词会无缝协作,使助手更加智能。

正则表达式 (regex) 实体

利用正则表达式 (regex) 实体,您能够定义可用于匹配和提取输入中的信息的逻辑模式。 Regex 实体非常适合根据用户输入进行复杂模式匹配,或者如果您需要允许用户如何在对话中格式化或输入其输入的特定变体,此类实体也是绝佳之选。

例如,您可以使用 regex 实体,从用户输入到助手中的字符串中识别跟踪 ID、许可证编号、信用卡号或 IP 地址等项目。

选择 regex 实体时,您需要定义以下内容:

  • 名称:定义 Regex 实体的名称。

  • 说明:用于定义有关实体的更多详细信息的可选说明。

  • 模式:定义将用于提取文本的模式。

在上图中,我们要创建名为跟踪编号的 regex 表达式实体。 输入的语法指定跟踪编号将以九位数开头并以一个大写或小写字母结尾。 (例如 100456789A)

Regex 实体使用 .NET 正则表达式语法。

您可以使用以下链接了解有关创建 .NET 正则表达式语法的更多信息: