我有一个数据集,我正在开发一个搜索引擎。我已经成功地做到了。现在我的下一步是计算这个搜索引擎的性能我认为平均精确度(map)和召回率(r)是我需要计算的两个指标。我知道这些度量的公式,如果我简单地将文档标记为与每个查询相关或无关,我就可以计算它们但是,我对每个文档的标签不是二进制的;而是对每个查询对这些文档进行分级。
例如,如果我有查询1,我有一个数据集,它说文档14与此查询最相关(分数:5),文档54与此查询有点相关(分数:4),文档33与此查询不太相关(分数:3),依此类推,以分数0结束,这意味着文档完全不相关且不相关。
我的问题是,如何用这种标签计算map/r?换言之,如果我的第二个相关文档显示在第一位,或者我的最高相关文档显示在第十位,我如何评估系统?
请理解我必须使用map/r来评估我的搜索引擎。
我希望能对我的怀疑找到一些方向。干杯!

最佳答案

设计了一个具有二元关联函数的信息检索系统的平均精度评价方法另一方面,你有一个分级关联函数。因此,您需要一种不同的方法来评估您的系统。
虽然有人试图generalize the Average Precision evaluation method to handle graded relevance,但正确的做法是使用The Normalized Discounted Cumulative Gain Measure评估您的系统。
标准化的折现累积增益是针对相关度分级概念的情况而设计的与k的精度一样,它是通过一些顶级搜索结果的k来计算的从某种意义上说,标准化的贴现累积收益是根据文档在结果列表中的位置来衡量文档的收益。收益从结果列表的顶部到底部累积,每个结果的收益在较低的级别上折扣。请参阅上面链接中的实际公式。
如果出于某种原因,您必须使用map或recall来评估您的系统,那么您必须修改相关性度量,使其变为二进制(通过确定一个阈值,超过该阈值,文档将被视为相关)。但是,要将封装在分级相关性度量中的信息合并,您唯一的选择是使用支持分级相关性的评估方法,例如标准化贴现累积增益。

10-04 20:56
查看更多