1.对比使用bm25,使用tfidf计算权重的向量空间模型,tfidf,rocchio处理向量并使用bm25查询,只看df<10000的bm25处理的rocchio,rocchio处理向量并使用tfidf查询,使用bm25的wordnet
iprec_at_recall_0.00 all 0.0580
P_5 all 0.0200
iprec_at_recall_0.00 all 0.8445
P_5 all 0.6800
iprec_at_recall_0.00 all 0.0746
P_5 all 0.0000
iprec_at_recall_0.00 all 0.1993
P_5 all 0.0200
iprec_at_recall_0.00 all 0.6193
P_5 all 0.3500
iprec_at_recall_0.00 all 0.7149
P_5 all 0.6000
iprec_at_recall_0.00 all 0.0938
P_5 all 0.0400
iprec_at_recall_0.00 all 0.7006
P_5 all 0.5200
3.使用同义词时,不同单词的同义词个数不同,会导致单词权重变化。解决方式,查询同义词,但是得分加到查询的单词集合里的原单词上,设置权重时可以统一加到原单词。另一个方法是单独记录每一个同义词,但是该单词的得分要除以同义词个数。但是前提是所有的单词都被使用过,所以在这个数据集里是可以使用的,因为数据集比较大,基本涵盖了大多数的单词。最终实现的是第二个方法
iprec_at_recall_0.00 all 0.0049
P_5 all 0.0000
3.使用的是github上的项目的测试文件,不知道和助教给的是不是一样的,数据集是一样的,最终的结果如下
ALL topic_id ALL
ALL num_docs 117562
ALL num_rels 1857
ALL num_shown 103273
ALL num_feedback 0
ALL rels_found 1651
ALL last_rel 2796.633
ALL wss_100 0.028
ALL wss_95 0.041
ALL NCG@10 0.363
ALL NCG@20 0.521
ALL NCG@30 0.613
ALL NCG@40 0.695
ALL NCG@50 0.742
ALL NCG@60 0.788
ALL NCG@70 0.826
ALL NCG@80 0.862
ALL NCG@90 0.88
ALL NCG@100 0.88
ALL total_cost 3442.433
ALL total_cost_uniform 3604.361
ALL total_cost_weighted 4233.438
ALL norm_area 0.666
ALL ap 0.126
ALL r 0.841
ALL loss_e 0.4
ALL loss_r 0.041
ALL loss_er 0.441
∑(((2^n)-1)/log(1+rank))