类型

通过类型,您可以配置 Google 助理 NLU(自然语言理解) 引擎从用户输入中提取结构化数据。您 可以在以下情况下使用类型:

  • 意图中,您可以使用类型为训练短语添加注解, 创建槽。当用户说出与广告位匹配的内容时,NLU 引擎 会将其作为类型化参数提取,以便您在场景中对其进行处理。

  • 在场景的“槽位填充”阶段中,您可以指定 您希望用户先提供多个广告位 过渡或退出场景

  • 在场景的 conditions 阶段中,您可以 判断参数是否具有某个类型中定义的特定值的逻辑。

自定义类型

借助自定义类型,您可以创建自己的类型规范,以通知 NLU 为单个键分配一组值。您可以指定各种类型 方式:

  • 字词和同义词允许您将多个值映射到单个键, 称为条目您的类型可以包含一个或多个条目。如果您 选择此选项,还可以启用以下 NLU 设置: <ph type="x-smartling-placeholder">
      </ph>
    • 启用模糊匹配 - 此功能允许具有多个 即使这些字词的发音顺序不同也是如此。
    • 接受未知值 - 当您不能指定所有可能的值时, 语言处理器可以根据上下文接受未知的字词或短语 输入和意图训练数据,例如可能添加到杂货店的物品 列表。
  • 正则表达式允许类型使用正则表达式来匹配值 表达式模式, Google 的 RE2 标准
  • 自由格式文本允许类型匹配 用户所说的内容正在添加注释 一个具有此类型的 intent 可以将所有输入用作参数, 可以通过管道传送到您自己的 NLU。

系统类型

通过系统类型,您可以为已知数据添加注释并从用户输入中提取已知数据 使用系统提供的训练数据和值进行训练。以下系统类型 支持:

类型 说明
actions.type.DateTime 包含基于用户设备设置的日期、时间和时区。 可用于槽位填充和训练短语注释。
actions.type.Date 仅包含日期。仅适用于槽位填充。
actions.type.Time 仅包含时间。仅适用于槽位填充。
actions.type.Number Number 类型与序数和基数匹配 数字。

DateTimeDateTime 用量

这些类型的行为因您使用类型的位置和 与类型匹配的用户输入。

与 intent 配合使用

在 intent 中为训练短语添加注释仅支持 DateTime 类型。用户 输入无需与整个 DateTime 值匹配。例如,如果用户 只提供年份,则 session 参数可能如下所示:

"date_time": {
  "year": 2019
}

与槽填充搭配使用

槽填充支持 DateTimeDateTime

  • 如果槽类型为 DateTime,Google 助理会提示用户,直到满了 值。
  • 如果槽类型为 Date,Google 助理会在指定日期之前提示用户 值。收集参数后,您收到的参数是完整的 DateTime(时间设置为 00:00)。
  • 如果槽类型为 Time,Google 助理会持续提示用户 值。收集后,您收到的参数是完整的 DateTime 对象,其日期设置为当前日期。

例如,假设位于洛杉矶的用户说:“Hey Google,创建一条提醒 “2024 年 1 月 15 日晚上 8 点”将 DateTime 作为槽的一部分提取时 填充过程,则完整参数可能如下所示:

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

使用 with 条件

条件只允许使用数字和字符串,因此使用顶级 使用 DateTime 参数为该条件返回 False 结果。例如:

  • $session.params.my_dateTime.day > 5 是有效条件,因为 “day”的值是一个数字且受支持。
  • $session.params.my_dateTime > "01-01-2010" 是无效条件,因为 顶级“日期时间”列对象不是数字或字符串。

运行时类型替换项

通过运行时类型替换,您可以在 fulfillment。借助此功能,您可以在 运行时。例如,您可以查看后端数据源以加载每日菜单 转换为履单中的一个类型。

有关详情,请参阅网络钩子指南 了解如何构建类型替换项。