

终止支持通知：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="confidence-scores"></a>

当用户说话时，Amazon Lex 会使用自然语言理解 (NLU) 来理解用户的请求并返回正确的意图。默认情况下，Amazon Lex 会返回您的机器人定义的最可能的意图。

在某些情况下，Amazon Lex 可能很难确定最可能的意图。例如，用户可能会说出模棱两可的言语，或者可能有两个相似的意图。为了帮助确定正确的意图，您可以将自己的领域知识与替代意图列表的*置信度分数*相结合。置信度分数是 Amazon Lex 提供的评级，它表明其对意图是正确意图的信心程度。

要确定两个替代意图之间的差异，您可以比较它们的置信度分数。例如，如果一个意图的置信度分数为 0.95，而另一个意图的置信度分数为 0.65，则第一个意图可能是正确的。但是，如果一个意图的分数为 0.75，而另一个意图的分数为 0.72，则这两个意图之间存在歧义，您可以在应用程序中使用领域知识来区分。

您还可以使用置信度分数来创建测试应用程序，以确定对意图言语的更改是否会影响机器人的行为。例如，您可以使用一组言语来获取机器人意图的置信度分数，然后用新的言语更新意图。然后，您可以查看置信度分数，以确定是否有所改善。

Amazon Lex 返回的置信度分数是比较值。请避免将其视作绝对分数进行信任。根据对 Amazon Lex 的改进，这些值可能会发生变化。

当您使用置信度分数时，Amazon Lex 会在每个响应中返回最有可能的意图和最多 4 个替代意图及其相关分数。如果所有置信度分数都低于阈值，Amazon Lex 将包括 `AMAZON.FallbackIntent` 和/或 `AMAZON.KendraSearchIntent`（如果您已配置它们）。您可以使用默认阈值，也可以设置您自己的阈值。

以下 JSON 代码显示了 [PostText](API_runtime_PostText.md) 操作的响应中的 `alternativeIntents` 字段。

```
   "alternativeIntents": [ 
      { 
         "intentName": "string",
         "nluIntentConfidence": { 
            "score": number
         },
         "slots": { 
            "string" : "string" 
         }
      }
   ],
```

设置您创建或更新机器人时的阈值。您可以使用 API 或 Amazon Lex 控制台。对于下面列出的区域，您需要选择加入才能提高准确性和置信度分数。在控制台中，在**高级选项**部分选择置信度分数。使用 API 时，在调用 [PutBot](API_PutBot.md) 操作时设置 `enableModelImprovements` 参数。
+ 美国东部（弗吉尼亚州北部）(us-east-1)
+ 美国西部（俄勒冈州）(us-west-2)
+ 亚太地区（悉尼）(ap-southeast-2)
+ 欧洲地区（爱尔兰）(eu-west-1)

在所有其他区域中，默认情况下都提供精度改进和置信度分数支持。

要更改置信度阈值，请在控制台中或使用 [PutBot](API_PutBot.md) 操作进行设置。阈值必须是介于 1.00 和 0.00 之间的数字。

要使用控制台，请在创建或更新机器人时设置置信度阈值。

**在创建机器人时设置置信度阈值（控制台）**
+ 在**创建您的机器人**上，在**置信度分数阈值**字段中输入一个值。

**更新置信度阈值（控制台）**

1. 从机器人列表中，选择要更新的机器人。

1. 选择**设置**选项卡。

1. 在左侧导航窗格中，选择**常规**。

1. 更新**置信度分数阈值**字段中的值。

**设置或更新置信度阈值 (SDK)**
+ 设置 [PutBot](API_PutBot.md) 操作的 `nluIntentConfidenceThreshold` 参数。以下 JSON 代码显示了正在设置的参数。

  ```
     "nluIntentConfidenceThreshold": 0.75,
  ```

## 会话管理
<a name="confidence-scores-session-management"></a>

要更改 Amazon Lex 在与用户对话中使用的意图，您可以使用对话代码挂钩 Lambda 函数中的响应，也可以在自定义应用程序 APIs中使用会话管理。

### 使用 Lambda 函数 URL
<a name="session-management-lambda"></a>

当您使用 Lambda 函数时，Amazon Lex 会使用包含该函数输入的 JSON 结构对其进行调用。JSON 结构包含一个名为 `currentIntent` 的字段，该字段包含 Amazon Lex 已确定为最有可能的用户言语意图的意图。JSON 结构还包括一个 `alternativeIntents` 字段，该字段包含最多四个可能满足用户意图的额外意图。每个意图都包含一个名为 `nluIntentConfidenceScore` 的字段，其中包含 Amazon Lex 为该意图分配的置信度分数。

要使用替代意图，您可以在 Lambda 函数的 `ConfirmIntent` 或 `ElicitSlot` 对话操作中指定该意图。

有关更多信息，请参阅 [使用 Lambda 函数](using-lambda.md)。

### 使用会话管理 API
<a name="session-management-API"></a>

要使用与当前意图不同的意图，请使用 [PutSession](API_runtime_PutSession.md) 操作。例如，如果您认为第一个替代意图比 Amazon Lex 选择的意图更可取，则可以使用 `PutSession` 操作来更改意图，以便用户与之交互的下一个意图就是您选择的意图。

有关更多信息，请参阅 [使用 Amazon Lex API 管理会话](how-session-api.md)。