通过类型,您可以配置 Google 助理 NLU(自然语言理解) 引擎从用户输入中提取结构化数据。您 可以在以下情况下使用类型:
在意图中,您可以使用类型为训练短语添加注解, 创建槽。当用户说出与广告位匹配的内容时,NLU 引擎 会将其作为类型化参数提取,以便您在场景中对其进行处理。
在场景的 conditions 阶段中,您可以 判断参数是否具有某个类型中定义的特定值的逻辑。
自定义类型
借助自定义类型,您可以创建自己的类型规范,以通知 NLU 为单个键分配一组值。您可以指定各种类型 方式:
- 字词和同义词允许您将多个值映射到单个键,
称为条目您的类型可以包含一个或多个条目。如果您
选择此选项,还可以启用以下 NLU 设置:
- 启用模糊匹配 - 此功能允许具有多个 即使这些字词的发音顺序不同也是如此。
- 接受未知值 - 当您不能指定所有可能的值时, 语言处理器可以根据上下文,接受未知的字词或短语 输入和意图训练数据,例如可能添加到杂货店的物品 列表。
- 正则表达式允许类型使用正则表达式来匹配值 表达式模式, Google 的 RE2 标准。
- 自由格式文本允许类型匹配 用户所说的内容正在添加注释 一个具有此类型的 intent 可以将所有输入用作参数, 可以通过管道传送到您自己的 NLU。
系统类型
通过系统类型,您可以为已知数据添加注释并从用户输入中提取已知数据 使用系统提供的训练数据和值进行训练。以下系统类型 支持:
类型 | 说明 |
---|---|
actions.type.DateTime |
包含基于用户设备设置的日期、时间和时区。 可用于槽位填充和训练短语注释。 |
actions.type.Date |
仅包含日期。仅适用于槽位填充。 |
actions.type.Time |
仅包含时间。仅适用于槽位填充。 |
actions.type.Number |
Number 类型与序数和基数匹配
数字。 |
DateTime
、Date
和 Time
用量
这些类型的行为因您使用类型的位置和 与类型匹配的用户输入。
与 intent 配合使用
在 intent 中为训练短语添加注释仅支持 DateTime
类型。用户
输入无需与整个 DateTime
值匹配。例如,如果用户
只提供年份,则 session 参数可能如下所示:
"date_time": {
"year": 2019
}
与槽填充搭配使用
槽填充支持 DateTime
、Date
和 Time
。
- 如果槽类型为
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。借助此功能,您可以在 运行时。例如,您可以查看后端数据源以加载每日菜单 转换为履单中的一个类型。
如需了解详情,请参阅网络钩子指南 了解如何构建类型替换项。