首页 > 解决方案 > 在 python 中评估搜索查询的结果:排名列表与手动标记的正确文档

问题描述

给定以下预测的文档排名列表:

query1_predicted = [1381, 1637, 646, 1623, 774, 1764, 92, 12, 642, 463, 613, ...]

这个手动标记的最佳选择:

query1_manual = 646

是否有任何合适的信息检索指标已经在 python 中实现来对这个结果进行排名?

我不认为N​​DCG对我有用,因为我错过了真实且完整排名的文件列表。我假设召回率、精度、F-score 和 MAP 也不会起作用,只要我没有每个查​​询的手动排序结果的完整列表来指示文档的相关性。

顺便说一句:预测列表的长度等于我集合中的文档总数:

len(query1_predicted) = len(documents)

我在这里先向您的帮助表示感谢!

标签: pythonmetricsinformation-retrievalevaluationprecision-recall

解决方案


一个想法是结合精度和召回指标。例如,如果您的查询返回一个列表,其中首先是正确的文档,您可以说您的准确率和召回率为 100%。如果它排在第二位,那么您的准确率再次达到 100%,但您的召回率下降到 50%,依此类推。我知道这种方法并不完美,但它可以通过众所周知的指标很好地了解您的结果。


推荐阅读