终止支持通知: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
。