本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为渐进式学习提交反馈
注意
功能支持因索引类型和使用的搜索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 和相关性指标(
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 库或SubmitFeedbackAPI。您只能使用一种反馈收集方法。为了获得最佳结果,您应在发起查询后的 24 小时内提交反馈。