我正在尝试找到一种计算搜索引擎 MRR 的方法。我知道倒数排名的计算方式如下:
RR= 1/第一个相关结果的位置
但是当我知道哪个是我的查询词(我的意思是“问题”)时,这才有效!就我而言,我只有结果: 。。。
我有以下可用数据格式: 查询 n.1 的正确结果: GT=[doc1, doc2, doc3] 我的搜索引擎查询 n.1 的结果: SE=[doc2,doc7,doc1]
在这种情况下我应该如何计算RR?到目前为止,我正在按以下方式进行操作:
all_rr=[]
for i in queries:
for j in queries_results:
pos=j.index(i[0])+1
RR=1/pos
all_rr.append(RR)
MRR=np.mean(all_rr)
Run Code Online (Sandbox Code Playgroud)
这是正确的做法吗?(ps requests 是我的 GT 数据框,queries_result 是我的 SE 结果数据框)
python ×1