python - 在 python 中评估搜索查询的结果:排名列表与手动标记的正确文档
问题描述
给定以下预测的文档排名列表:
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)
我在这里先向您的帮助表示感谢!
解决方案
一个想法是结合精度和召回指标。例如,如果您的查询返回一个列表,其中首先是正确的文档,您可以说您的准确率和召回率为 100%。如果它排在第二位,那么您的准确率再次达到 100%,但您的召回率下降到 50%,依此类推。我知道这种方法并不完美,但它可以通过众所周知的指标很好地了解您的结果。
推荐阅读
- javascript - 反应本机 ConfigUtils.configFilenameAsync 不是函数
- html - 在 Prod 构建中找不到字体真棒相对文件路径
- python-3.x - 在给定的 conda 环境中将 python 版本从 3.8 降级到更低版本
- jquery - 如何将图像上传限制在一定的高度和宽度?
- javascript - 防止Chrome操作DOM后跳转到页面顶部
- java - GetConnection 总是返回 NULL 值,JAVA11
- angular - 如何以角度删除垫表行之间的线条?
- android - SurfaceView 在图像视图下不会绘制
- authentication - 在单页 Web 应用程序中使用单会话令牌与 Oauth 的缺点
- java - 具有颜色和右对齐的 Apache poi 单元格样式