评估 python 中搜索查询的结果:排名列表与手动标记的正确文档

Evaluating results from search query in python: ranked list vs. one manually labeled correct document

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

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

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

query1_manual = 646

python 中是否已经实施了任何合适的信息检索指标来对该结果进行排名?

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

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

len(query1_predicted) = len(documents)

提前感谢您的帮助!

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