IR 从不同的相关文档计算平均精度到排名 K

IR Calculate average precision from varying relevant documents to rank K

上图显示了文档检索设置中准确率和召回率的标准示例。

要计算排名 1 的平均精度,您只需执行以下操作:

(1.0 + 0.67 + 0.75 + 0.8 + 0.83 + 0.6) / 6 = 0.78

上面的示例非常适合小型文档集合,但假设您有一个包含 100,000 个文档的搜索引擎,并且一个查询可能包含 100 个相关文档。如果将 K 的长度保持为 10,将如何调整上述内容?

一个例子:

已确定排名#1 的查询有 20 个相关文档,上面是否变为:

(1.0 + 0.67 + 0.75 + 0.8 + 0.83 + 0.6) / 20 = 0.23

还是你还要除以6,因为那是长度K等级内相关文档的个数?

你除以相关总数|R|即使它大于您的截止值 K.

这似乎有点傻,但想象一下,您的系统只返回了 10 个文档,而不是您选择在那时切断排名。 AP 想要 "punish" 这个系统与检索更多文件的系统相比。

在传统的IR评估中,计算AP时设置K=1000,通常|R|小于1000。在你列出的homework/textbook例子中,目标是手工计算,所以他们有一个非常小的K,但在计算机化评估中,你希望K尽可能大。

还有其他排名指标没有这个 "problem" 的最大值在所有情况下都不为 1,即 NDCG@K,这与 AP 非常相似,只是它特别被归一化,即,它将始终输出 1 表示 K 的最佳可能排名,0 表示最差可能排名。与 MAP 的 recall-points 相比,这种对最佳排名的标准化更直观地向人们解释,但这些措施在现实生活中高度相关。