对话语言理解集成的实体注册

重要提示

继在生成式人工智能的重大投资和跨 Microsoft Copilot 的增强集成之后,Power Virtual Agents 功能和特性现已成为 Microsoft Copilot Studio 的一部分

在我们更新文档和培训内容时,一些文章和截图可能会参考 Power Virtual Agents。

本文讨论如何将对话语言理解 (CLU) 实体添加到 Microsoft Copilot Studio 机器人。 实体由以下布尔值、字符串和数值数据类型组成。 有关详细信息,请参阅数据类型。 大多数情况下,您可以对项目使用 Power Virtual Virtual Agent 预构建实体,但如果要将 CLU 实体类型与自定义 JSON 解决方案一起使用,则可以参考以下架构示例。

若要设置用于将 CLU 实体映射到 Microsoft Copilot Studio 机器人的环境,请参阅语言理解入门

以下数据类型可用于映射 CLU 实体:

  • BooleanDatatype:Choice.Boolean
  • StringDatatype:Geography.Location, Regex , List, General.Event, General.Organization, Phone Number, IpAddress, Person.Name, Phone Number, URL
  • NumberDatatype:Number

备注

复合实体(具有多个组件的实体)将映射到 StringDataype

架构表

机器人创建者可以使用示例 JSON 代码来注册实体。 实体将解析为复杂数据类型。 您可以通过复制并粘贴相关实体的以下 JSON 代码块来手动将 CLU 实体映射到 Microsoft Copilot Studio 数据类型。

年限

{
    "unit": "Year",
    "value": 10
}

货币

{
    "unit": "Egyptian pound",
    "ISO4217": "EGP",
    "value": 30
}

温度

{
    "unit": "Fahrenheit",
    "value": 88
}

顺序

{
    "offset": "3",
    "relativeTo": "Start",
    "value": "3"
}

维度

{
    "unit": "KilometersPerHour",
    "value": 24
}

CLU 日期/时间实体类型

日期/时间是一种特殊的实体类型,用于根据收到的用户输入类型更改返回的解决方案。

以下示例演示了如何为不同类型的日期和时间言语配置实体。 您可以根据这些示例创建您自己的映射,具体取决于您预计您的机器人用户将会提供的结果类型。

Date

示例输入:1995 年 1 月 1 日

{
    "dateTimeSubKind": "Date",
    "timex": "1995-01-01",
    "value": "1995-01-01"
}

日期/时间(年)

示例输入:我将于 4 月 12 日回来

{
    "dateTimeSubKind": "Date",
    "timex": "XXXX-04-12",
    "value": "2022-04-12"
}

日期/时间范围(持续时间)

示例输入:我将于 9 月 3 日至 12 日离开。

{
    "resolutionKind": "TemporalSpan",
    "timex": "(XXXX-09-03,XXXX-09-12,P9D)",
    "duration": "P9D",
    "begin": "2022-09-03",
    "end": "2022-09-12"
}

日期/时间范围(设置)

示例输入:每周二。

{ 
    "resolutionKind": "DateTime",
    "dateTimeSubKind": "Set",
    "timex": "XXXX-WXX-2",
    "value": "not resolved"
}

日期/时间(开始)

示例输入:我从 8 月份开始离开

{
    "resolutionKind": "TemporalSpan",
    "timex": "XXXX-08",
    "begin": "2022-08-01",
    "modifier": "Since"
}

时间

示例输入:现在是七点半

{
    "resolutionKind": "DateTime",
    "dateTimeSubKind": "Time",
    "timex": "T07:30",
    "value": "07:30:00"
}