我对trec_eval完全不熟悉。当我为一组查询运行它时,我得到了iprec_at_recall的以下结果:
iprec_at_recall_0.00 all 0.5059
iprec_at_recall_0.10 all 0.5059
iprec_at_recall_0.20 all 0.5059
iprec_at_recall_0.30 all 0.5059
iprec_at_recall_0.40 all 0.5059
iprec_at_recall_0.50 all 0.5059
iprec_at_recall_0.60 all 0.5059
iprec_at_recall_0.70 all 0.5059
iprec_at_recall_0.80 all 0.5059
iprec_at_recall_0.90 all 0.5059
iprec_at_recall_1.00 all 0.5059
因此,我的精确度不会随着召回阈值的变化而变化。这是否一定意味着我的数据存在问题?
答案 0 :(得分:1)
iprec_at_recall_X是标准调用级别X处的内插精度的度量。用于在trec_eval中以标准调用级别X内插精度的特定规则是使用查询获得的最大精度来获取大于或等于的任何实际调用级别X(这是调用级别0的精度值)。您可以阅读更多关于trec_eval如何计算TREC程序(某些)附录的措施,例如,参见https://trec.nist.gov/pubs/trec20/appendices/measures.pdf。
所以,我的猜测是你使用的是一个非常小的集合(或者至少是一个只有极少数相关文档的集合),这样你就可以在排名列表中尽早达到100%的召回率。
Ellen Voorhees
TREC项目经理
NIST