选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

复合槽位类型

聚焦模式
复合槽位类型 - Amazon Lex

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

复合槽位是两个或多个槽位的组合,用于在单个用户输入中捕获多条信息。例如,您可以将机器人配置为通过请求“城市和州/省/自治区或邮政编码”来引发位置。相反,如果对话配置为使用单独的槽位类型,则会导致对话体验僵硬(询问“哪个城市?”,然后紧接着询问“邮政编码是什么?”)。使用复合槽位,您可以通过单个槽位来捕获所有信息。复合槽位是称为子槽位的组合,例如城市、州/省/自治区和邮政编码。

您可以组合使用可用的 Amazon Lex 槽位类型(内置)和您自己的槽位(自定义槽位)。您可以设计逻辑表达式来捕获所需子槽位中的信息。例如:城市和州/省/自治区或邮政编码。

复合槽位类型仅适用于 en-US。

创建复合槽位类型

要在复合槽位中使用子槽位,必须先配置复合槽位类型。为此,请使用添加槽位类型控制台步骤或 API 操作。为复合槽位类型选择名称和描述后,必须提供子槽位的信息。有关添加槽位类型的更多信息,请参阅添加槽位类型

子槽位

复合槽位类型需要配置底层槽位,称为子槽位。如果要在一次请求中从客户处引发多条信息,请配置子槽位的组合。例如:城市、州/省/自治区以及邮政编码。您可以为一个复合槽位添加最多 6 个子槽位。

单一槽位类型的槽位可用于向复合槽位类型添加子槽位。但是,您无法使用复合槽位类型作为子槽位的槽位类型。

下图是复合插槽 “汽车” 的插图,它是子插槽的组合:颜色、制造商、 FuelType型号、VIN 和年份。

槽位类型面板显示子槽位。
子槽位面板。

表达式生成器

为便于复合槽位的履行,您可以选择使用表达式生成器。借助表达式生成器,您可以设计逻辑槽位表达式,以按所需顺序捕获所需的子槽位值。作为布尔表达式的一部分,您可以使用诸如 AND 和 OR 等运算符。根据设计的表达式,当履行所需的子槽位时,即视为履行该复合槽位。

使用复合槽位类型

对于某些意图,您可能需要将不同的槽位作为单个槽位的一部分来捕获。例如,车辆保养预约安排机器人可能有以下言语的意图:

My car is a {car}

该意图预期 {car} 复合槽位包含一系列槽位,其中包含车辆的详细信息。例如,“2021 White Toyota Camry”(2021 款白色丰田凯美瑞)。

复合槽位不同于多值槽位。复合槽位由多个槽位组成,每个槽位都有自己的值。而多值槽位是可以包含一系列值的单一槽位。有关多值槽位的更多信息,请参阅使用一个槽位中的多个值

对于复合槽位,Amazon Lex 会在响应 RecognizeTextRecognizeUtterance 操作时为每个子槽位返回一个值。以下是该话语返回的插槽信息:“我想通过机器人为我的 “2021 White Toyota Camry” 安排服务。 CarService

"slots": { "CarType": { "value": { "originalValue": "White Toyota Camry 2021", "interpretedValue": "White Toyota Camry 2021", "resolvedValues": [ "white Toyota Camry 2021" ] }, "subSlots": { "Color": { "value": { "originalValue": "White", "interpretedValue": "White", "resolvedValues": [ "white" ] }, "shape": "Scalar" }, "Manufacturer": { "value": { "originalValue": "Toyota", "interpretedValue": "Toyota", "resolvedValues": [ "Toyota" ] }, "shape": "Scalar" }, "Model": { "value": { "originalValue": "Camry", "interpretedValue": "Camry", "resolvedValues": [ "Camry" ] }, "shape": "Scalar" }, "Year": { "value": { "originalValue": "2021", "interpretedValue": "2021", "resolvedValues": [ "2021" ] }, "shape": "Scalar" } } }, ... }

可以在对话的第一回合或第 n 回合中引发复合槽位。基于所提供的输入值,复合槽位可以引发其余所需的子槽位。

复合槽位总是为每个子槽位返回一个值。当言语中不包含给定子槽位的可识别值时,该特定子槽位不会返回任何响应。

复合槽位适用于文本和语音输入。

向意图中添加槽位时,复合槽位只能作为自定义槽位类型使用。

您可以在提示中使用复合槽位。例如,您可以为意图设置确认提示。

Would you like me to schedule service for your 2021 White Toyota Camry?

当向用户发送提示时,Amazon Lex 会发送“Would you like me to schedule service for your 2021 White Toyota Camry?”(是否需要为您的 2021 款白色丰田凯美瑞预约保养服务?)。

每个子槽位都配置为一个槽位。您可以添加槽位提示来引发子槽位和示例言语。您可以为子槽启用“等待并继续”以及默认值。有关更多信息,请参阅 在 Lex V2 机器人的意图中使用默认槽位值

复合槽位设置面板

您可以使用槽位模糊处理来掩盖对话日志中的整个复合槽位。请注意,槽位模糊处理应用于复合槽位级别,启用后,属于复合槽位的子槽位的值将被模糊处理。当您对槽位值进行模糊处理时,每个槽位值将被替换为槽位的名称。有关更多信息,请参阅 从 Lex V2 掩盖对话日志中的槽位值

复合槽位信息面板

编辑复合槽位类型

您可以从复合槽位配置中编辑子槽位,以修改子槽位名称和槽位类型。但是,当意图正在使用复合槽位时,您需要首先编辑意图,然后才能修改子槽位。

现有意图的警报面板

删除复合槽位类型

您可以从复合槽位配置中删除子槽位。请注意,当意图正在使用子槽位时,子槽位仍会从该意图中删除。

使用子槽位删除意图

表达式生成器中的槽位表达式提供关于子槽位已被删除的警报。

现有意图的槽位类型

下一主题:

测试机器人

上一主题:

行业语法
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。