百度UNIT意图和实体

UNIT是百度的自然语言处理产品,支持简体中文。 全部文件 可以在UNIT网站上获取。

在尝试使用UNIT的实体之前,请确保您对 插槽意图和实体映射 工作有深入的了解。

在链接您的意图和实体之前,请务必先将 百度 UNIT 代理的云配置连接到您的机器人。

第一步是获取代理的意图名称。 要执行此操作,请启动UNIT,选择您正在使用其意图的代理,然后单击侧面导航中的 Intents

UNIT Intents list

一个有7个意图的UNIT代理。

在这里,您可以看到与此代理关联的所有意图。 这些是您需要在Stackchat机器人创建器中使用的意图名称。

要在检测到此意图时触发导航到Stackchat流程,请打开您想要导航到的 配置AI 对话 流程

UNIT AI Configuration Location

列表视图中的配置AI按钮。

在叠加层中,从UNIT添加要映射到Flow的意图名称。 请务必完全复制,因为它区分大小写。 所有UNIT意图都是全部上限。

UNIT Copy Intent from UNIT

需要完全匹配包括案例。

将意图名称粘贴到Stackchat中的所需位置。

Dialogflow Paste Intent to Stackchat

完全匹配。

现在,您可以输入与该意图关联的实体。 您可以通过在UNIT中单击它来查看与意图关联的所有实体。

虽然意图表示用户在他们的话语中的总体意图,但实体代表我们想要提取的话语中的关键词。 UNIT中有三种类型的实体,自定义实体(由您创建的实体),系统实体(UNIT提供的预构建实体,以便于处理最常用的常见概念),以及混合实体,它们是系统的组合 和自定义实体。

自定义和混合实体并不比处理意图困难,因为它是Dialogflow和Stackchat之间的一对一映射。 例如,在上面使用的天气内容中,有一个自定义实体, @user_forecast_type.

A UNIT Custom Entity

您可以为自定义实体指定任何名称。

复制UNIT的词槽名称列中找到的文本,用于您要映射的实体。

并将该值粘贴到Stackchat中,然后选择要将其映射到的Stackchat插槽。 在此示例中,Stackchat插槽与Dialogflow实体具有相同的名称,以防止混淆。

UNIT Entity Connection to Slot

UNIT词槽名称粘贴到Stackchat。

UNIT系统实体遵循与自定义或混合实体相同的命名约定,即所有名称以“user_”开头,其余名称由用户自行决定。 用户在创建实体时选择他们希望使用的系统实体库或库。

对于许多系统实体,UNIT返回原始值和标准化值。 原始值正是用户输入的值,而标准化值将该数据转换为标准格式。 例如,如果代理提取实体“星期二”,则原始值将是“星期二”,而标准化值将是“年 - 月 - 日”。

对于某些系统实体(如位置),Stackchat返回原始值,但是有一些特定情况,如上面的日期示例,原始值无用。 在这些情况下,Stackchat返回标准化值。

为了使Stackchat能够识别您希望使用规范化值,必须遵循固定的命名约定,如下表所示。 不遵循此约定将导致UNIT返回原始值。

一般惯例是user_ <SYS_ENTITY_NAME>:<MEANINGFUL_NAME>其中MEANINGFUL_NAME可以由您自行决定或完全省略(尽管如果您有多个实体使用相同的话,我们强烈推荐使用它)。 UNIT实体名称只能是16个字符,不包括user_,因此有意义名称的空间是有限的。

System Entity Name for Use in Stackchat
time user_sys_time:MEANINGFUL_NAME
user_sys_date:MEANINGFUL_NAME
time_unit user_sys_time_unit:MEANINGFUL_NAME
time_interval user_sys_interval:MEANINGFUL_NAME
unit user_sys_unit:MEANINGFUL_NAME
money_unit user_sys_money_unit:MEANINGFUL_NAME

系统时间实体涵盖时间和日期。

所有其他系统实体返回其原始值。

一旦您有了命名约定,只需将意图名称复制并粘贴到_Configure AI_对话框中,就像使用自定义或混合实体一样。

UNIT System Entities

正确格式化的两个系统实体没有“MEANINGFUL_NAME”。

UNIT System Entities in Stackchat

两个系统实体插入到Stackchat中。