基于Lucene的中文分词器设计与实现

来源 :哈尔滨工程大学 | 被引量 : 0次 | 上传用户:bohedan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着数字信息时代的到来,搜索引擎的索引数据变得越来越大,其开发与维护的成本亦越来越高。开源的全文搜索引擎工具包Lucene作为一个优秀的全文检索核心框架,得到了越来越广泛的应用。但是,Lucene对中文信息处理能力的不足严重制约了它在中文搜索引擎项目中的有效应用。鉴于此,本文设计并实现了一个基于Lucene的具有添加同义词功能中文分词器MySameAnalyzer,用来提高Lucene对中文信息的处理能力。首先,在分析对比了现有中文分词算法的基础上,本文得出了对搜索引擎而言,目前中文分词最好的解决方案就是基于词典的机械分词法的结论,因此,本文提出并设计了一种优化的基于Trie索引树的分词词典机制—Map-Array联合Trie索引树词典机制,简称MACTIT词典机制。通过实验证明,该词典机制与传统的Trie索引树词典机制相比,其时间开销和空间开销都得到了极大的优化,从而有效地提高了分词算法的分词速度,节约了分词词典的存储空间。其次,鉴于Lucene搜索时采用的是倒排索引的索引结构,其搜索的速度优势在于“全词匹配”而非“like匹配”,因此,对于过于粗粒度的分词输出,尽管其分词结果好看,却常常会导致用户搜不到东西。针对上述问题,本文采用了特有的“正向迭代最细粒度”分词算法,对待分析的文本进行最细粒度的切分,以保证分词搜索过程中检索系统的召回率。再次,在分词过程中,歧义字段是普遍存在的,其中最常见的就是交集型歧义字段,因此,对搜索过程中常遇到的交集型歧义字段的处理,本文充分利用TreeSet数据结构的自定义排序功能,将分词过程中所产生的相交词块存放到TreeSet中,再根据六条歧义消除规则,贪心地选择其中不相交的、近似最优的一组分词结果来进行输出,该分词歧义消除方法并没有遍历TreeSet中所有可能的分词结果,以此来达到节省分词时间的目的。通过实验证明,本文所设计的分词算法和现有的实现了 Lucene接口的几款中文分词器的分词算法相比,其分词速度和分词精度的综合性能是最好的。最后,本文所设计并实现的MySameAnalyzer分词器,充分考虑了用户在实际的搜索行为中对各种产品以及名址信息搜索这一块的应用,因此,对MySameAnalyzer设计了三个子分词器,强化了中文分词中对英文、数字、英文数字混合以及中文数词量词的处理。同时,该分词器支持用户扩展词典、扩展停止词典的加载与更新,并支持用户添加自定义同义词的功能。通过实验测试表明,本文对MySameAnalyzer分词器所设计的这些扩展功能在实际的应用中均取得了良好的分词效果,为Lucene提供了灵活且可靠的中文处理支持,并有效地改善了 Lucene中文全文检索系统的查全率和查准率。
其他文献
期刊
本文通过对2018年全国Ⅰ卷高考数学导数部分的试题分析,整理出近三年全国卷对导数部分的考查情况,揭示其命题特点,据此给出2019年高考备考建议,以期对一线教师有所裨益.
在导体的数量,介质的层数以及导体的横截面形状均是任意的条件下,论文提出利用矩量法计算高压输电线附近电场强度,其基本理论和相应的计算机程序可用于对高压线附近的电磁污
高职教育作为以职业性为特色的高等教育,职业核心能力始终主导着高职学生的生涯发展与规划。以高职学生职业核心能力培养为中心,对思政课程开展全面改革:提高思政课各参加者
讨论了电信管理网中SDH GDMO管理对象类到C++对象类之间的转换规则、转换算法和转换步骤,并实现了SDH GDMO管理对象类到C++类的自动转换,应用转换结果,可以有效地实施管理对象的操作和管理。
首先给出数学滤波器的统一数学模型,并用细胞电路实现了这一模型,然后证明了数学信号处理中常用的红性和非线性滤波器都是该模型的特例。
应用标量衍射理论分析了平面波入射时二元光学型光栅的衍射场分布规律,并进行了数值分析和实验验证。
布勒集团中国区总部3月7日在江苏省无锡市国家高新技术产业开发区举行了迁址典礼。无锡市副市长方伟、国家粮食局外事司司长刘韧、中国粮油学会副会长王瑞元、瑞士驻华大使顾
记者在日前召开的北京市园林绿化工作会议上获悉,2010年,北京市将新建城市绿地2450hm^2,新建郊野公园10处,绿化667hm^2,使全市森林覆盖率达到37%,城市绿化覆盖率达到45%,人均绿地达到5
作为高校共青团基层干部,为适应不断变革的社会需要,必须要具备时代要求的基本素质,本文从德、识、才、学诸方面进行了论述,以不断完善和发展团干部的素质要求.