收藏 分享(赏)

Nutch中庖丁解牛中文分词的实现与评测.pdf

上传人:weiwoduzun 文档编号:5645631 上传时间:2019-03-10 格式:PDF 页数:4 大小:254.49KB
下载 相关 举报
Nutch中庖丁解牛中文分词的实现与评测.pdf_第1页
第1页 / 共4页
Nutch中庖丁解牛中文分词的实现与评测.pdf_第2页
第2页 / 共4页
Nutch中庖丁解牛中文分词的实现与评测.pdf_第3页
第3页 / 共4页
Nutch中庖丁解牛中文分词的实现与评测.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、计 算 机 与 现 代 化2010 年第 6 期 JISUANJI YU XIANDAIHUA 总第 178 期文章编号 : 1006-2475( 2010) 06-0187-04收稿日期 : 2010-02-22作者简介 : 孙殿哲 ( 1982-) , 男 , 辽宁瓦房店人 , 辽宁石油化工大学研究生学院硕士研究生 , 研究方向 : 计算机应用 , 网络安全 ;魏海平 ( 1964-) , 男 , 河北张家口人 , 辽宁石油化工大学计算机与通讯工程学院教授 , 硕士生导师 , 研究方向 : 计算机网络安全技术与多媒体技术 ; 陈岩 ( 1983-) , 女 , 黑龙江伊春人 , 硕士研究生

2、 , 研究方向 : 计算机应用 , 网络安全 。Nutch中庖丁解牛中文分词的实现与评测孙殿哲1, 魏海平2, 陈 岩1( 1. 辽宁石油化工大学研究生学院 , 辽宁 抚顺 113001; 2. 辽宁石油化工大学计算机与通讯工程学院 , 辽宁 抚顺 113001)摘要 : 中文分词是搜索引擎面临的主要挑战之一 。本文通过分析 Nutch 文档的评分机制 , 针对 Nutch 中文分词模块的分词不符合汉语习惯的情况 , 提出采用以词典分词法为基础的庖丁解牛分词模块对 Nutch 要采集的数据进行切分 , 描述在Nutch 上实现庖丁解牛分词模块的方法 , 并对该分词模块进行测试 。实验表明 ,

3、庖丁解牛分词模块的分词结果更符合汉语习惯 , 并且在词项对文档的覆盖方面更加均衡 , 另外索引文件所占的存储空间节省 20% 65%。关键词 : 中文分词 ; 评分机制 ; 庖丁解牛中图分类号 : TP311.1 文献标识码 : A doi: 10.3969/j. issn.1006-2475.2010.06.053Realization and Evaluation of Paodingjieniu Chinese Segmentation in NutchSUN Dian-zhe1, WEI Hai-ping2, CHEN Yan1( 1. Graduate School, Liaonin

4、g Shihua University, Fushun 113001, China;2. School of Computer and Communication Engineering, Liaoning Shihua University, Fushun 113001, China)Abstract: Chinese word segmentation is one of main challenges for search engine. By analyzing the scoring mechanism of the doc-ument of Nutch, for the situa

5、tion that word segmentation of Chinese word segmentation module of Nutch does not conform to Chi-nese language habit, this paper proposes to use Paodingjieniu Chinese word segmentation module based on dictionary to segmentthe data collected by Nutch, describes the method that how to realize Paodingj

6、ieniu Chinese word segmentation module on Nutch,then tests the word segmentation module. Experiments show that the word segmentation result of Paodingjieniue word segmentationmodule more conforms to Chinese language habit, and the coverage of terms are more balanced for documents, in addition, 20%65

7、% of the storage space of index file is saved.Key words: Chinese word segmentation; scoring mechanism; Paodingjieniu0 引 言Nutch 是用 Java 实现的开源搜索引擎 , 它提供了运行自己的搜索引擎所需的全部工具 1。中文分词影响着搜索结果的相关度排序及搜索的效率和准确度 , 因此好的搜索引擎必须处理好中文分词 。Nutch的分词模块对英文的切分比较完善 , 对中文只进行单字切分 , 若要实现较好的中文信息的搜索查询 , 就需要在 Nutch 中改善中文分词处理的方法 。庖

8、丁解牛分词模块具有效率高 、分词速度快 、分词准确度高的特点 。因此 , 本文将庖丁解牛分词模块与 Nutch 相结合 , 实现 Nutch 的中文分词 。1 Nutch 简介Nutch 是 Lucene 2之上创建的搜索引擎 3。Lu-cene 不是一个完整的全文检索引擎 4-5, 而是一个用于实现全文检索的软件库 。很多开发者希望能有一套完整的开源搜索引擎系统 , 加快目标应用系统的开发进度 。2004 年 Nutch 应运而生 。Nutch 是一个完整的 Java 应用系统 , 以 Lucene 为基础实现了搜索引擎的应用 。188 计 算 机 与 现 代 化 2010 年第 6 期2

9、Nutch 的文档排序评分机制 6Nutch 的索引和检索部分的核心继承自 Lucene,所以 Nutch 的文档排序也继承 Lucene 的评分机制 ,公式 ( 1) 就是 Lucene 的评分公式Score( q, d) = coord( q, d) queryNorm( q) t in q( tf( t in d) idf( t)2tgetBoost( ) norm( t, d) ) ( 1)公式 ( 1) 中影响排序的关键部分为 tf( t in d) 和idf( t) , tf( t in d) 表示的是查询条件中 , 词项 t 在文档d 中的出现频率 。查询关键词出现的频率越高 ,

10、 文档的得分就越高 。这个部分的计算公式是公式 ( 2) 。tf ( t in d)槡= frequency ( 2)idf( t) 表示的是反转文档频率 。这个函数表示的是词项 t 在所有文档中一共在多少个文档中出现过 。因为文档出现的次数越少就越容易定位 , 所以文档数越少 , 得分就越高 。这个函数的计算公式是公式 ( 3) 。idf( t) =1 + log(numDocsdocFreq +1) ( 3)这些公式都遵循这样两条简单的单调限制 : 一个术语在很多文档中出现不应认为比出现在少数文档中的术语重要性高 , 一个包含越多术语的文档不应认为比包含较少术语的文档次要 7。前一条阐述了

11、量化术语重要性的思想 , 出现在越多文档中的术语越不重要 ;后一条阐述的是文档重要性 ( 相对于查询术语 ) 的思想 , 文档包含查询术语越多 , 则该文档的重要性就越高 。因此 , 分词的好坏直接决定了搜索结果的准确度 ,相比以字母组成单词 , 以空格为词之间界限的英语等西方语言中 , 使用表意文字的中文需要一种不同的分析方法来识别和分割语汇单元即中文分词 。3 中文分词及庖丁解牛分词模块的实现中文搜索引擎在处理文档分析内容 , 对中文进行有效的索引和查询时遇到了很大挑战 。中文文档中最基础的结构是句子 、短语 、词汇 、单个的汉字 。中文环境的句子通常可以利用标点符号来分隔 。其他基础结构

12、单元都无法直接利用空格等分隔符进行划分 8。现有的中文分词 9-10的算法 , 基本上可以分为 3 种 : 机械式分词 、理解式分词和统计式分词 , 在这 3 种算法中 ,机械式分词准确度最高 11-13。而机械式分词又可分为机械式单字分词 、机械式二分法和基于词典分词法 。Nutch 中采用的是机械式单字分词和机械式二分法 , 但是两者都存在着查询复杂 、效率不高 、准确率低的缺点 。故采用效果更好的基于词典分词法的庖丁解牛分词模块来实现 Nutch 中的中文分词 。3.1 庖丁解牛分词模块词典分词法是按照一定的匹配策略将输入的字符串与机器词典词条进行匹配 。如果在词典中找到当前字符串 ,

13、则匹配成功输出识别的词汇 。庖丁解牛分词模块是将输入的字符串中首先识别和切分出带有明显特征的确定词汇 , 以这些词汇为间隔点 , 把原输入字符串分割成较小的串再进行词典分词 。为了减小单纯的匹配错误 , 庖丁解牛分词模块采取了最大匹配方法和最大切分 ( 使每一句中切出的词数最多 )相结合的方式来分词 。另外庖丁解牛分词系统支持不限制个数的自定义词库 , 纯文本格式 , 一行一词 , 使用后台线程检测词库的更新 , 自动编译更新过的词库到二进制版本并加载 。3.2 Nutch 中庖丁解牛分词模块的实现Nutch 中的 analysis 包是 Nutch 的分析器 , Nutch分词的最底层使用的

14、是 Lucene 的 Analyzer 抽象类( 见图 1) 。NutchAnalyzer 是 Nutch 中扩展分析文本的扩展点 , 所有用于解析文本的插件都得实现这个扩展点 , 该抽象类中定义了一个公有的抽象方法 token-Stream( String fieldName, Reader reader) , 返回类型 To-kenStream。该方法用于分析文本 , 其后的具体类中在这个方法中实现了从文本中提取索引词组的策略 、算法 。图 1 各个类与接口的 UML 图为了引入庖丁解牛分词 , 所要做的只需要使用庖丁解牛的分词方法替换 Nutch 原本的分词方法 , 即在返回的时候返回

15、, 从而实现庖丁解牛分词 , 然后修改NutchAnalysis. jj 文件中的 为 , 使 Nutch 支持庖丁解牛分词 ,并用 JavaCC 14对该文件重新编译 。最后使用 Ant 工具来重新生成 Nutch 的 jar 和 job 文件 。2010 年第 6 期 孙殿哲等 : Nutch 中庖丁解牛中文分词的实现与评测 1894 分词模块评测Nutch 中对中文的切分主要采用的是基于机械式单字分词的 StandardAnalyzer 和基于机械式二分法的CJKAnalyzer。故实验用 StandardAnalyzer 和 CJKAna-lyzer 同庖丁解牛分词模块 Paoding

16、Analyzer 进行比较 。4.1 分词结果示例对 “Nutch 中庖丁解牛中文分词的实现与评测 ”进行分析 , 结果如表 1 所示 。从表中不难看出 Stan-dardAnalyzer 将每一个汉字当作一个词 , CJKAnalyzer将相邻的两个汉字当作一个词 , 而 PaodingAnalyzer 的分词结果更符合人们的习惯 。表 1 分词结果的比较分词模块 分词结果StandardAnalyzer Nutch 中 庖 丁 解 牛 中 文 分 词 的 实 现 与 评 测 CJKAnalyzer Nutch 中庖 庖丁 丁解 解牛 牛中 中文 文分 分词 词的 的实 实现 现与 与评 评

17、测 PaodingAnalyzer Nutch 中 庖丁 庖丁解牛 中文 分词 词的 实现 评测 4.2 建立索引大小以及词汇量的比较实验是针对辽宁石油化工大学校内的六千多个网页进行索引 , 从实验数据 ( 表 2) 中可以看出 , 应用PaodingAnalyzer 后得到的索引文件比用 CJKAnalyzer的索引文件存储空间少约 65%, 即使在 StandardAna-lyzer 生成的词项远少于 PaodingAnalyzer 的情况下 ,PaodingAnalyzer 仍比用 StandardAnalyzer 的索引文件存储空间少将近 20%, 这是因为 StandardAnaly

18、zer 生成的索引文件中需要记录项频数的文件较大 , 所以应用 PaodingAnalyzer 相比较而言更加节省存储空间 。表 2 索引文件占据存储空间以及生成词项数比较索引文件存储空间 /MB 词项 ( Term) 数 /个StandardAnalyzer 9.72 40488CJKAnalyzer 13.4 276690PaodingAnalyzer 8.12 1110114.3 词项对文档的覆盖率比较PaodingAnalyzer 的词项对文档的覆盖最广 , 覆盖最均匀 。每一些文档都有与之对应的一些主题词范围 , 而这些主题词代表着这些文档的特征 , 当针对这些主题内容进行查询时 ,

19、 能够从众多文档之中被查到 , 经过排序计算后排在较高的位置 。而 Standard-Analyzer 和 CJKAnalyzer 都有一些文档主题词缺失 ,从而影响查询的准确性 。如图 2、图 3、图 4 所示 。图 2 StandardAnalyzer 的词项对文档的覆盖率图 3 CJKAnalyzer 的词项对文档的覆盖率图 4 PaodingAnalyzer 的词项对文档的覆盖率5 结束语本文采用基于词典分词法的庖丁解牛中文分词模块 , 实现了新的应用于 Nutch 搜索引擎的中文分词 。该分词模块在分词效果 、存储空间以及词项对文档的覆盖率方面都有更好的效果 。另外用户可以根据自己的

20、需要更新词典 , 使得分词模块更加符合自己的需要 。参考文献 : 1 Cafarella M, Cutting D. Building Nutch: Open source search J . ACM Queue, 2004, 2( 2) : 54-61. 2 Cutting D. Lucene EB/OL . http: / /Jakarta. apache. org/lucene/, 2009-11-01. 3 文振威 , 秦晓 . 个性化搜索引擎的研究与设计 J . 计算机工程与设计 , 2009, 30( 2) : 342-344, 394. 4 王莉云 , 王华 , 陈刚 , 等

21、. 基于 Lucene 的全文检索系统的设计与实现 J . 计算机工程与设计 , 2007, 28( 24) :5959-5961. 5 郎小伟 , 王申康 . 基于 Lucene 的全文检索系统的研究与开发 J . 计算机工程 , 2006, 32( 4) : 94-96, 99. 6 Cohen D, Amitay E, Carmal D.Lucene and jura at trec 2007: 1-million queries track C / /Proceedings of the 16th Text Re-trieval Conference( TREC 2007) . Gai

22、thersburg, Washington,USA, 2007: 321-327.190 计 算 机 与 现 代 化 2010 年第 6 期 7 Ian H Witten, Alistair Moffat, Timothy C Bell. ManagingGigabytes: Compressing and Indexing Documents and Ima-ges( 2 Edition) M . 梁 斌 译 . 北 京 : 电 子 工 业 出 版社 , 2009. 8 Sproat R, Gale W, Shih C. A stochastic finite-state word-seg-

23、mentation algorithm for Chinese J . Computational Liguistics,1996, 22( 3) : 377-404. 9 胡长春 , 刘功申 . 面向搜索引擎 Lucene 的中文分析器 J . 计算机工程与应用 , 2009, 45( 12) : 157-159. 10 王继明 , 杨国林 . 基于 Lucene 的中文文本分词 J . 内蒙古工业大学学报 , 2007, 26( 3) : 185-188. 11 张庆扬 , 柴胜 . 使用二级索引的中文分词词典 J . 计算机工程与应用 , 2009, 45( 19) : 139-141.

24、 12 索红光 , 孙鑫 . 针对中文检索的 Lucene 改进策略 J . 计算机应用与软件 , 2009, 26( 6) : 175-177. 13 张科 . 多次 Hash 快速分词算法 J . 计算机工程与设计 ,2007, 28( 7) : 1716-1718. 14 Kodaganallur V. Incorporating language processing into Javaapplications: A JavaCC Tutorial J . IEEE Software, 2004,21( 4) :櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡

25、櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡70-77.( 上接第 182 页 )( 1) 采用 Windows CE 操作系统和 qt-embedded-wince-opensource 4.5 界面设计工具 , 具有源码开放 、功能强大 、系统接口丰富等特点 。可以将本系统方便地移植到其它平台上 , 系统界面简洁 , 操作简单 。( 2) 系统是新一代的智能通讯导航设备 , 具有快速定位 、联合报警等功能 ; 同时系统具备影音播放 、图片浏览器 、无线上网等功能 。在实现导航功能的基础上 , 还提供丰富的娱乐功能 。参考文献 : 1 加拿大 Jasmin Blanchette, 英国 Mark Summerfie

26、ld. C+ GUI Qt4 编程 ( 第 2 版 ) M . 闫锋欣 , 曾泉人 , 张志强译 . 北京 : 电子工业出版社 , 2008. 2 汪兵 , 等 . Windows CE 嵌入式高级编程及其实例详解( 用 C + 实现 ) M . 北京 : 中国水利水电出版社 , 2008. 3 何宗键 . Windows CE 嵌入式系统 M . 北京 : 航空航天大学出版社 , 2006. 4 蔡志明 , 卢传富 , 李立夏 , 等 . 精通 QT4 编程 M . 北京 :电子工业出版社 , 2008. 5 卢望 , 胡鹏飞 . 基于 ARM9 处理器 S3C2440 的 GPS 导航终端

27、机的设计 J . 电子元器件应用 , 2009, 11( 8) : 1-2. 6 冯正 , 韩焱 , 王黎明 . 多线程串口通信技术在 GPS 导航中的应用 J . 现代电子技术 , 2009, 32( 5) : 28-30, 33. 7 王三军 . GPS 导航电子地图的应用研究 D . 上海 : 同济大学土木工程学院硕士学位论文 , 2007. 8 张丹 . 嵌入式 GPS 导航引擎的研究与实现 D . 成都 : 电子科技大学硕士学位论文 , 2009. 9 林潇 . 基于 ARM 嵌入式系统的车载 GPS 导航系统研究 D . 南京 : 东南大学硕士学位论文 , 2007. 10 王琛

28、. 基于 Windows CE 的手持 GPS 导航系统的设计 J . 深圳职业技术学院学报 , 2009, 8( 1) : 50-54. 11 武梦龙 , 刘文楷 , 王莉 , 等 . 基于 Windows CE 的嵌入式车载应用系统设计 J . 太原理工大学学报 , 2009, 40( 5) :501-503. 12 Kai Hua, Xu Puyao, QiaoYuhua. Achieving the real-timerectification of remote sensing data based on 4S integrationin handset C / /IEEE Inte

29、rnational Conference on Comput-er Science and Information Technology ( ICCSIT, 2009) .Beiijing, China, 2009. 13 王莲玉 , 马晓东 , 曹金莲 . 浅析 MapInfo 到 KML 格式的数据转换过程中的技术方法 J . 测绘与空间地理信息 ,2009, 32( 4) : 122-125, 130. 14 李春宇 , 周新力 , 吕万里 , 等 . 基于 MapInfo 和 MapX 的导航电子地图实现 J . 舰船电子工程 , 2009, 29( 1) : 73-75,櫡櫡櫡櫡櫡櫡

30、櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡櫡112.( 上接第 186 页 ) 2 张南平 , 朱富利 . 基于 MVC 模式的 Struts 框架的研究与应用 J .计算机技术与发展 , 2006, 16( 3) : 229-231, 234. 3 闫宏印 , 张卫争 , 刘超慧 . 开源框架下 Web 应用分层的设计与实现 J . 计算机工程与设计 , 2008, 29( 23) : 6023-6025, 6028. 4 朱铮雄 . 基于 Spring 框架的 Web_Services 系统整合与研究 J . 计算机应用与软件 , 2007, 24(

31、10) : 128-129, 132. 5 胡启敏 , 薛锦云 , 钟林辉 . 基于 Spring 框架的轻量级J2EE 架构与应用 J . 计算机工程与应用 , 2008, 44( 5) :115-118, 133. 6 周相兵 , 杨小平 . 基于 iBATIS 的持久性层次框架研究 J . 科学技术与工程 , 2007, 7( 16) : 4062-4066. 7 孙强 , 孙龙清 , 邱小彬 . 基于 Struts + Springi + BATIS 的轻量级 Web 应用框架研究 J . 计算机应用与软件 , 2008,25( 10) : 135-137. 8 李小平 , 肖岳峰 ,

32、 宿元 , 等 . 基于 J2EE 多层架构的 Web 开发框架研究 J .计算机应用研究 , 2008, 5( 5) : 1429-1431. 9 Donald Brown, Chad Michael Davis, Scott Stanlick. Struts 2in Action M . USA: Manning, 2008: 68-72. 10 郭宏杰 , 朱荣 . 基于 SSH 的物流信息系统的研究与实现 J . 计算机与数字工程 , 2009, 37( 2) : 63-65, 83. 11 杨勇 , 刘红军 , 宿元 . 基于 IoC 容器的异构数据集成技术 J . 计算机应用 , 2007, 27( z1) : 27-30. 12 张英捷 , 刘万军 . Spring AOP 技术在 J2EE 系统安全性验证中的应用研究 J . 计算机工程与科学 , 2008, 30( 8) :137-139, 149. 13 美 Craig Walls, 美 Ryan Brdenbach. Spring 2 in Action( 第 2 版 ) M . 毕庆红 , 王军 , 等译 . 北京 : 人民邮电出版社 , 2008: 134-138.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报