切词工具[编辑]
目前常用的切词工具有Paoding、IKAnalyzer、Ictclas4j。
一、paoding
1、庖丁简介
paoding是庖丁解牛分词器,paoding中的庖丁系统是个完全基于lucene的中文分词系统,它就是重新建了一个analyzer,叫做PaodingAnalyzer,这个analyer的核心任务就是生成一个可以切词TokenStream。
2、庖丁系统的核心内容
net.paoding.analysis.dictionary 字典抽象—提供查询字典
net.paoding.analysis.knife 切割抽象—分词算法
net.paoding.analysis.analyzer 封装适配器到lucene接口
3、庖丁分词系统的缺点
这种切分还是有很明显的缺点.例如下面一段文字:
“发展社区老年活动场所和服务设施”
如果想搜索日本的和服相关资料,输入关键字“和服”的时候,上面的资料也会被搜索出来
搜索引擎是第一步搜索:
在浩瀚的信息中,快速集结最后可能是所想要的结果, 按照可能是最好的顺序展现出来。
人的眼睛是第二步搜索:
找寻最符合要求的结果,同时将机器无法轻易识别的少数“无效”结果过滤
“和服”问题,涉及了汉语语义的问题,几乎不可完全解决(可作为“特例”解决,或通过排序方法,将他排到相对靠后等价解决)。
二、 IK Analyzer
1、 IK Analyzer的简介
IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包,新版本的IK Analyzer 3.0是发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
2、 IK Analyzer的特性
1)采用了特有的“正向迭代最细粒度切分算法“,具有50万字/秒的高速处理能力。
2)采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
3)优化的词典存储,更小的内存占用。支持用户词典扩展定义针对Lucene全文检索优化的查询分析器IKQueryParser;
4)采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。
三、ictclas4j
1、ictclas4j的简介
ictclas4j中文分词系统是sinboy在中科院张华平和刘群老师的研制的FreeICTCLAS的基础上完成的一个java开源分词项目,简化了原分词程序的复杂度,旨在为广大的中文分词爱好者一个更好的学习机会。
2、ictclas4j的使用方法
使用方法:
SegTag st = new SegTag(1);
SegResult sr = st.split(str);
System.out.println(sr.getFinalResult());
切词效果:在/p 传统/n 意义/n 上/f 的/u 几何学/n 是/a 研究/n 图形/n 的/b 形状/n 大小/a 等/a 性质/n
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。