Lucene 研究报告:
Lucene的排序模型向量空间模型
与BM25模型比较报告
北大深圳研究生院信息工程学院
组长:胡钊
组员:霍佳森 闫应威 王超
题目:Lucene的排序模型向量空间模型与BM25
模型比较报告
摘要:
搜索引擎中的排序算法在信息检索是一个重要的研究内容,一般来讲用
户最关注前面的信息,排在后面的内容往往不太关注,一个好的排序算法可以将用户需要的信息呈现出来,使用户能够更快的得到所需要的信息。本文通过分析lucene的VSM排序算法以及实现bm25算法,通过数据查询,使用MAP方法来评价两种排序算法。
简介:
试验使用方法:
1 空间向量模型(Space Vector Model)
每一个文档 j 能够被看作一个向量,每个term 是一个维度,取值为log-scaled tf.idf。
向量d1和d2的 “closeness”可以用它们之间的夹角大小来度量,向量按长度归一化。
2 BM25模型
BM算法的全称是“Best Match”,用来做搜索的相关度评分 BM25公式:
IDF公式:
BM25公式:
score(D,Q):就是我们所要计算的评分,即为[给定搜索内容]Q在[给定文档]D中的相关程度,分数越高表示相关度越高。 q:[给定搜索内容]Q中的语素,英文的话就是单词,中文的话需要先进行简单的切词操作。
f(qi,D):在[给定文档]D中,某一个语素qi出现的频率。 |D|:[给定文档]D长度。 avgdl:索引中所有文档长度。
另外两个参数K1和b用来调整精准度,一般情况下我们取K1=2,b=0.75。 IDF公式:
是用来计算公式1中IDF(qi)的值 N:索引中文档的总数目。
n(qi):索引中包含语素qi的文档的总书目。
这套评分方法是基于在文档中出现频率,也就是说给定查询语句中的词素至少要有一个在给定文档中出现,不然计算结果会为0 2 MAP评价方法
MAP评价法全称为mean average precision,用来计算许多query的平均精度值,即将每个query看成一个点,求得其平均值作为评分。
试验结果:
1 试验使用的测试查询语句:
序号 使用的查询测试语句 预期的主题 清华北大的交流1 清华 北大 交流 活动,如学术方面 2 中国 未来经济方向 中国经济未来的发展前景 了解一下中国经3 宏观调控 济宏观调控的政策 比如我想考这个4 考研招生信息 学院的研究生,想了解一下招生情况 比如我是新生,5 课程信息 想了解一下开课的信息 6 校长 致辞 看一下校长对我们的期望 看一下学院有几个系 了解一下每位导师的信息 看下学院有什么9 先进集体称号 获奖,侧重集体的那种 10 院花 看一下学院里的美女最好有照片 (1) VSM算法: 0.966 (2) BM25算法:0 (1) VSM算法: 1 (2) BM25算法 1 (1) VSM算法: 0.765 (2) BM25算法; 1 (1) VSM算法: 0.679 (2) BM25算法: 0 (1) VSM算法: 0 (2) BM25算法: 0 (1) VSM算法: 0 (2) BM25算法: 0 (1) VSM算法: 1 (2) BM25算法:0.850 评分 (1) VSM算法: 0 (2) BM25算法0 (1) VSM算法: 0.625 (2) BM25算法:0 (1) VSM算法: 1 (2) BM25算法:0.256 7 院系设置 8 导师信息 MAP评分:
(1) VSM算法
MAP=(0+0.626+1+1+0.966+1+0.765+0.679+0+0)/10=0.604
(2) BM25算法
MAP=(0+0+0.256+0.850+0+1+1+0+0+0)/10=0.310
总结:
由以上评分可知VSM算法要好于BM25算法,所做的改进算法失败。
因篇幅问题不能全部显示,请点此查看更多更全内容