

终止支持通知：2025年9月15日， AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后，您将无法再访问 Amazon Lex V1 控制台或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2，请改为参阅 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

# 自定义槽位类型
<a name="howitworks-custom-slots"></a>

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

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

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

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

当用户输入的值是同义词时，解析值列表中的第一个条目就是槽类型值。例如，如果用户输入“funny”，则 `slots` 字段包含“funny”，而 `slotDetails` 字段中的第一个条目是“comedy”。您可以在使用 [PutSlotType](API_PutSlotType.md) 操作创建或更新槽类型时配置 `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](API_PutBot.md) 操作时，您将获得一个 `LimitExceededException`。