自定义槽位类型 - Amazon Lex V1

终止支持通知:2025年9月15日, AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后,您将无法再访问亚马逊 Lex V1 主机或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南

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

自定义槽位类型

对于每个目的,您都可以指定参数来指示目的要完成用户请求所需的信息。这些参数,或者说槽,都有一个类型。一个插槽类型就是一个值列表,Amazon Lex 用它来训练机器学习模型识别插槽的值。例如,您可以定义一个名为“Genres.”的槽类型,该槽类型中的每个值都是一个体裁的名称:“comedy”、“adventure”、“documentary”等等。您可以为槽类型值定义同义词。例如,可以为“comedy”值定义同义词“funny”和“humorous”。

您可以通过配置槽类型来限制对槽值的解析。槽值将用作枚举,仅当用户输入的值与一个槽值或同义词相同时才会解析为槽值。同义词会解析为相应的槽值。例如,如果用户输入“funny”,会解析为槽值“comedy”。

或者,您可以通过配置槽类型来扩展值。槽值将用作训练数据,当用户提供的值与槽值和同义词相似时,该槽将解析为用户提供的值。这是默认行为。

Amazon Lex 为插槽维护一个可能解析值的列表。列表中的每个条目都提供一个解析值,Amazon Lex 将其识别为插槽的更多可能值。解析值是与槽值的尽可能匹配。该列表最多包含五个值。

当用户输入的值是同义词时,解析值列表中的第一个条目就是槽类型值。例如,如果用户输入“funny”,则 slots 字段包含“funny”,而 slotDetails 字段中的第一个条目是“comedy”。您可以在使用 PutSlotType 操作创建或更新槽类型时配置 valueSelectionStrategy,以便使用解析列表中的第一个值填充槽值。

如果您使用 Lambda 函数,该函数的输入事件中会包含一个名为 slotDetails 的解析列表。以下示例显示了 Lambda 函数的输入的插槽和插槽详细信息部分:

"slots": { "MovieGenre": "funny"; }, "slotDetails": { "Movie": { "resolutions": [ "value": "comedy" ] } }

对于每个槽类型,最多可定义 10000 个值和同义词。每个自动程序的槽类型值和同义词的总数最多为 50000。例如,您可以拥有 5 种插槽类型,每种类型包含 5,000 个值和 5,000 个同义词,或者您可以拥有 10 种插槽类型,每种类型包含 2,500 个值和 2,500 个同义词。如果超过这些限制,在调用 PutBot 操作时,您将获得一个 LimitExceededException