为渐进式学习提交反馈 - Amazon Kendra

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

为渐进式学习提交反馈

注意

功能支持因索引类型和使用的搜索API而异。要查看API您正在使用的索引类型和搜索是否支持此功能,请参阅索引类型

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

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

为所有索引和所有支持的文档类型激活渐进式学习。

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

Amazon Kendra 接受两种类型的用户反馈:

  • 点击 - 有关用户选择了哪些查询结果的信息。反馈包括结果 ID 以及选择搜索结果的日期和时间的 Unix 时间戳。

    要提交点击反馈,您的应用程序必须从用户活动收集点击信息,然后将这些信息提交给 Amazon Kendra。您可以使用控制台、 JavaScript 资源库和收集点击信息 Amazon Kendra API。

  • 相关性 - 有关搜索结果相关性的信息,通常由用户提供。反馈包含结果 ID 和相关性指标(RELEVANTNOT_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 库或SubmitFeedbackAPI。您只能使用一种反馈收集方法。为了获得最佳结果,您应在发起查询后的 24 小时内提交反馈。