论文部分内容阅读
摘要:海量信息在网络上的出现,使搜索网站应运而生,越来越多的搜索工具受到关注。Nutch是一个开源Java实现的搜索引擎,扩展性较好,是人们研究的热点。现今出现的NUtch-0.8.1较好地处理了英文分词,但没有对中文分词进行处理。文章介绍了在NUtch-0.8.1中实现索引及检索的二分法,指出在中文分词上它比原Nutch-0.8.1有了明显的改善。
关键词:NUtch-0.8.1;二分法;索引;检索
0 引言
随着互联网的飞速发展,海量的信息出现在网络上,为了减少人们搜索信息所用的时间,搜索网站应运而生。除了google,百度外,越来越多的搜索工具出现在网上。例如,Laibin是抓取网页的工具,Lucene是建立索引和检索的工具,这些都是开放源码的搜索引擎,还有News Spider之类个人开发的搜索工具等。
Nutch是搜索引擎的研究热点,它的出现使得抓取、索引、检索一体化,并且开放源码,可以让研究者通过配置,逐步完善各个模块,从而实现所需的搜索引擎。中文分词是搜索引擎的一个技术关键,分词的好坏直接影响搜索的准确度和效率。Nutch对英文的切分比较完善,但没有中文分词处理。有很多在Nutch中增加中文分词处理的方法,这里介绍二分法中文分词在NUtch-0.8.1中的具体实现。
1 Nutch及中文分词介绍
1.1 Nutch介绍
Nutch是一个开源Java实现的搜索引擎。Nutch的开源使得任何人都可以了解它的工作机制;Nutch的插件机制使得它的扩展性也比较好,因此吸引了很多的研究者。Nutch是由Lucene发展而来的,但比Lucene多了抓取页面的功能。从架构上,搜索可分为抓取和检索两个部分,索引是这两部分的中介。反向索引在抓取到指定页面后建立,检索时通过搜索反向索引匹配用户输入的关键字,得到用户需要的信息。
1.2 中文分词介绍
中文分词影响着搜索结果的相关度排序及搜索的效率和准确度,因此好的搜索引擎必须处理好中文分词。现有的中文分词方法有很多,从分词效果来看,可以分为:单字切分,二分法和词库分词。
单字切分把对象分为单个字,NUtch-0.8.1采用这种方法。此方法较准确,不会有遗漏(这也是很多人用这种方法在Nutch中加入中文分词处理的原因),但冗余较多,效率不高。
二分法把对象以相邻两字的组合为单位进行分隔,如:武汉科技学院,分词处理后为:
武汉/汉科,科技,技学/学院。此方法比单字切分效率高。由于Nutch和Lucene属同一作者,Lucene中给出了二分法的类,因此,可以把二分法移植到Nutch中。
关键词:NUtch-0.8.1;二分法;索引;检索
0 引言
随着互联网的飞速发展,海量的信息出现在网络上,为了减少人们搜索信息所用的时间,搜索网站应运而生。除了google,百度外,越来越多的搜索工具出现在网上。例如,Laibin是抓取网页的工具,Lucene是建立索引和检索的工具,这些都是开放源码的搜索引擎,还有News Spider之类个人开发的搜索工具等。
Nutch是搜索引擎的研究热点,它的出现使得抓取、索引、检索一体化,并且开放源码,可以让研究者通过配置,逐步完善各个模块,从而实现所需的搜索引擎。中文分词是搜索引擎的一个技术关键,分词的好坏直接影响搜索的准确度和效率。Nutch对英文的切分比较完善,但没有中文分词处理。有很多在Nutch中增加中文分词处理的方法,这里介绍二分法中文分词在NUtch-0.8.1中的具体实现。
1 Nutch及中文分词介绍
1.1 Nutch介绍
Nutch是一个开源Java实现的搜索引擎。Nutch的开源使得任何人都可以了解它的工作机制;Nutch的插件机制使得它的扩展性也比较好,因此吸引了很多的研究者。Nutch是由Lucene发展而来的,但比Lucene多了抓取页面的功能。从架构上,搜索可分为抓取和检索两个部分,索引是这两部分的中介。反向索引在抓取到指定页面后建立,检索时通过搜索反向索引匹配用户输入的关键字,得到用户需要的信息。
1.2 中文分词介绍
中文分词影响着搜索结果的相关度排序及搜索的效率和准确度,因此好的搜索引擎必须处理好中文分词。现有的中文分词方法有很多,从分词效果来看,可以分为:单字切分,二分法和词库分词。
单字切分把对象分为单个字,NUtch-0.8.1采用这种方法。此方法较准确,不会有遗漏(这也是很多人用这种方法在Nutch中加入中文分词处理的原因),但冗余较多,效率不高。
二分法把对象以相邻两字的组合为单位进行分隔,如:武汉科技学院,分词处理后为:
武汉/汉科,科技,技学/学院。此方法比单字切分效率高。由于Nutch和Lucene属同一作者,Lucene中给出了二分法的类,因此,可以把二分法移植到Nutch中。