- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、优化创建索引性能-北京大学网络所
Inverted Index and Retrieval System
Group 9:罗桂波 顾超然
Abstract
本报告描述了开源软件Lucene的基本配置和使用方法,成功应用其进行网页检索和索引。接着简要分析了Lucene的ranking算法,并提出了结合PageRank和Language Model的算法改进思路。
Introduction
Wbia这几次课程主要介绍了各种索引技术、排序机制和它们的性能评测。检索模型包括VSM、LSI、LM,通过标准测试集评测检索的精度和召回率,用两者的综合性能评测检索模型。
Methods
配置Lucene, 对ccer数据建立索引和查询系统
准备的代码:
Lucene用3.0.2,
下载地址:/dist/lucene/java/
ik-analyzer用最新的3.2.5,
下载地址:/p/ik-analyzer/downloads/list
1.解压lucene-3.0.2.zip,生成lucene-3.0.2并把它拷贝到Eclipse工作空间;
2.在eclipse中新建工程File-new-javaProject,然后输入Project Name: lucene-3.0.2;点击下一步后eclipse会自动将里面的文件夹传成JAVA包的形式,如果不是则要自己建包然后将.java文件都导入包中。引用的类库也会自动导入。
3. 解压IKAnalyzer3.2.5Stable_bin.zip,生成以下文件,
然后把IKAnalyzer3.2.5Stable.jar 拷贝到lucene-3.0.2下的lib目录下,并把它添加至lucene-3.0.2项目的外部归档库中。
4.打开org.apache.lucene.demo下的IndexHTML.Java,添加
import org.wltea.analyzer.lucene.IKAnalyzer;
把StandardAnalyzer()改成IKAnalyzer(),以支持中文索引,如下图
加入file.getPath().endsWith(.asp),使之能对后缀为asp的文件进行索引,因为ccer中有很多是以asp结尾的网页,如下图
5.打开org.apache.lucene.demo下的SearchFiles.java,添加import org.wltea.analyzer.lucene.IKQueryParser;
把parser.parse(line) 改成IKQueryParser.parse(field, line),如下图
把 InputStreamReader(System.in, UTF-8)
改成InputStreamReader(System.in, GBK);如下图
6.在src/demo下选择org.apache.lucene.demo包的indexFiles.java,右键选择RUN ASOpen run dialog.弹出对话框后选择IndexFiles,在右边Arguments里输入:-create root_directory,其中root_directory为需要索引的文件夹位置,最后点run即可运行;console上会显示完成信息,同时在lucene-3.0.2下生成Index文件夹;
7.然后在org.apache.lucene.demo下直接运行SearchFiles.java. 控制台会让你输入要查询的内容,输完回车就可以显示结果了。
二、分析Lucene的ranking算法
Lucene排序算法采用的是VSM模型,排序公式如下:
1、文档d的页面优先度得分。
2、,协调因子,表示文档(d)中Term(t)出现的百分比,也就是计算查询条件(q)中不同Term(t),以及在文档中出现的数量之和,两者的数量之比。通常在文档中出现查询Term种类越多,分值越高。
3、,调节因子,不影响索引排序情况,只在检索时使用,主要是用来让排序结果在不同的查询条件之间可以比较。这个条件是在搜索时候计算。数值是根据每一个查询项权重的平方和计算得到。计算公式如下:
4、,词条频率,表示查询词中,每个Term在对应的结果文档中(d)中出现的次数。查询词出现的次数越多,表示出现频率越高,文档的检索得分就越高。为了避免获得更大的相关性函数,实际中,使用次数的平方根作为文档频率tf的值,避免数值过度放大。
5、,逆文档频率,检索匹配文档数量的反向函数。按照信息理论,文档出现的次数越少,每一篇文档的信息量就会越大。所以匹配的文档数越少,得分就越高。而索引库中文档总数越多,找到一篇目标文档难度越大,相应的信息量也会比较大。
6、,query中不同term的重要程度。
7、,长度因子,由每个索引
文档评论(0)