

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

# 为渐进式学习提交反馈
<a name="submitting-feedback"></a>

**注意**  
功能支持因所用索引类型和搜索 API 而异。要查看您使用的索引类型和搜索 API 是否支持此功能，请参阅[索引类型](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html)。

Amazon Kendra 使用增量学习来改善搜索结果。凭借来自查询的反馈，渐进式学习可以改进排名算法和优化搜索结果，从而提高准确性。

例如，假设您的用户搜索“医疗保健福利”一词。如果用户总是从列表中选择第二个结果，则随着时间的推移， Amazon Kendra 会将该结果的排名提升到第一名。随着时间的推移，提升效果会降低，因此，如果用户停止选择结果， Amazon Kendra 最终会将其删除，而是显示另一个更受欢迎的结果。这有助于根据相关性、年龄和内容对结果进行 Amazon Kendra 优先排序。

为所有索引和所有[支持的文档类型](https://docs.aws.amazon.com/kendra/latest/dg/index-document-types.html)激活渐进式学习。

Amazon Kendra 在您提供反馈后立即开始学习，但可能需要超过 24 小时才能看到反馈的结果。 Amazon Kendra 提供了三种提交反馈的方法： AWS 控制台、可以包含在搜索结果页面上的 JavaScript 库以及可以使用的 API。

Amazon Kendra 接受两种类型的用户反馈：
+ **点击** - 有关用户选择了哪些查询结果的信息。反馈包括结果 ID 以及选择搜索结果的日期和时间的 Unix 时间戳。

  要提交点击反馈，您的应用程序必须从用户活动收集点击信息，然后将这些信息提交给 Amazon Kendra。您可以使用控制台、 JavaScript 库和 Amazon Kendra API 收集点击信息。
+ **相关性** - 有关搜索结果相关性的信息，通常由用户提供。反馈包含结果 ID 和相关性指标（`RELEVANT` 或 `NOT_RELEVANT`）。相关性信息由用户决定。

  要提交相关性反馈，您的应用程序必须提供一种反馈机制，从而允许用户为查询结果选择适当的相关性，然后将这些信息提交给 Amazon Kendra。您只能使用控制台和 Amazon Kendra API 收集相关信息。

当索引处于活动状态时可使用反馈。反馈仅影响将其提交到的索引，不能跨索引使用，也不能用于不同的账户。

在查询 Amazon Kendra 索引时，应提供其他用户上下文。当您提供用户上下文时， Amazon Kendra 能够判断反馈是由单个用户还是由多个用户提供的，并相应地调整搜索结果。

当您提供用户上下文时，查询的反馈与上下文中提供的特定用户相关联。如果您未指定用户上下文，则可以提供用于对查询进行分组和汇总的访问者 ID。

如果您不提供用户上下文或访问者 ID，则反馈将是匿名的，并与其他匿名反馈汇总在一起。

以下代码展示如何将用户上下文作为令牌或访问者 ID 包括在内。

```
response = kendra.query(
    QueryText = query,
    IndexId = index,
    UserToken = {
        Token = "token"
    })
    
    OR
    
    response = kendra.query(
    QueryText = query,
    IndexId = index,
    VisitorId = "visitor-id")
```

对于 Web 应用程序，您可以使用 Cookie、位置或浏览器用户为每个用户生成访问者 ID。

对于头部查询，由于查询量极大，因而点击率反馈可以提供足够的信息来提高整体准确性。对于尾部查询，由于查询量极小，主题专家应提交相关和不相关的反馈，从而提高这些查询的准确性。

除了控制台之外，您还可以使用以下两种方法之一： JavaScript 库或 [SubmitFeedback](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SubmitFeedback.html)API。您只能使用一种反馈收集方法。为了获得最佳结果，您应在发起查询后的 24 小时内提交反馈。

**Topics**
+ [使用 Amazon Kendra JavaScript 库提交反馈](feedback-javascript.md)
+ [使用 Amazon Kendra API 提交反馈](feedback-api.md)