1. IK和Paoding的技术介绍
一、Ik分词器介绍:
优点:
-
采用了特有的“正向迭代最细粒度切分算法”,具有60万字/秒的高速处理能力。
-
采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
-
优化的词典存储,更小的内存占用。支持用户词典扩展定义。
-
针对Lucene全文检索优化的查询分析器IKQueryParser,采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。
缺点:
-
在出现连词时,不是顺序取词,而是取最后的词,如:“流体用”,(词典有‘流体’和‘体用’)本应该分为“流体 | 用”,而IK却分成了“流 | 体用”。
二、Paoding分词器介绍:
优点:
-
高扩展性:能非常方便的扩充字典,也可以非常方便的添加停用词。
-
效率极高-极高效率的字典查找算法;尽量避免无谓试探查找。
-
算法简练-简单易理解的算法,但效率却是非常高效的。
-
轻松支持最大/最小切词。
缺点:
-
分词精确度不好,涉及了汉语语义的问题,几乎不可完全解决。如:“和服”实例。
2. IK和Paoding的技术对比
(评估:二者的分词方式很相近; 且对未登录词都是采用二元分词。)
一、IK分词策略:
-
采用 “正向迭代最细粒度切分算法”细粒度全切分,对于不在词典中的词进行二元分词;多子处理器分析模式。
-
三个分词器:CJKSegmenter(中文分词),CN_QuantifierSegmenter(数量词分词),LetterSegmenter(字母分词)。
-
有两种分词模式:细粒度分词和智能分词。
二、Paoding分词策略:
-
细粒度全切分,对于不在词典中的词进行二元分词;
-
使用不同的 Knife(主要为CJKKnife、LetterKnife和NumberKnife) 切不同类型的流,不算很复杂。
-
有两种分词模式:most-words(最大词量分词方式)和max-word-length(按词在词典中的原序来进行编译,基本不再做其他处理)。
-
max-word-length此种分词模式还有问题(不能加载所有数据),未能解决。
三、二者的分词区别:
-
细粒度分词
IK分词是“正向迭代最细粒度切分算法”,故它是从开始以循序分词。
而Paoding分词虽然也是正向分词(迭代器来进行的缓存),但是它是贪婪的切词,就是说找到一个词后,继续往下找,找到以这个字开头的所有词为止。
-
粗粒度分词
二者的粗粒度的结果是一样的,都是取最大词。
3. IK和Paoding实现数据对比
例句:“圆柱滚子轴承 N313EM-P4 SKF -- 流体用冷不锈钢无缝钢管 22*3 316L -- 45°无缝弯头 DN200 8mm 20# 219 1.5D -- 无缝等径三通 DN250 7mm 20# GB/T12459”
-
IK细粒度分词效果:
圆柱|滚子|滚|子|轴承|n313em-p4|n|313|em|p|4|skf
-
IK智能分词效果:
圆柱|滚子|轴承|n313em-p4|skf
-
Paoding细粒度分词效果:
圆柱|滚子|轴承|n|313|em|p|4|p4|em-p4|313em-p4|n313em-p4|skf
圆柱|滚|滚子|轴承|n|313|em|p|4|p4|em-p4|313em-p4|n313em-p4|skf|
-
Paoding粗粒度分词效果:
圆柱|滚子|轴承|n313em-p4|skf
出处:http://my.oschina.net/MrMichael/blog/361899
相关推荐
本文将深入探讨基于Lucene的四种中文分词器:Paoding、IK、Imdict和Mmseg4j,它们都是针对Java开发的高效、开源的中文分词工具。 1. Paoding(庖丁)分词器: Paoding是一款高性能的中文分词器,设计目标是提供...
中文分词器是一种非常重要的自然语言处理技术,能够将中文文本分割成单个词语,以便于文本挖掘、信息检索和机器学习等应用。当前有多种中文分词器可供选择,每种分词器都有其特点和优势,本文将对当前常用的中文分词...
Solr支持多种中文分词器,如IK Analyzer、Smart Chinese Analyzer、Paoding Analyzer等,它们各自有不同的特性和适用场景。 1. IK Analyzer:是一款开源的Java语言实现的中文分词工具,支持词典动态更新,对新词...
能兼容solr-4.10.2的分词器,大礼包...包括IK分词器,mmseg4j分词器,庖丁分词器.都是经本人测试可用,其中mmseg4j与庖丁都是下载源码,修改重编译并测试生成的.希望大家喜欢.至于与solr的整合方式,网上很多,这里就不介绍了.
3,分享一波分词器SDK开发包及使用手册(IK分词器、imdict(ictclas)分词器、je分词器、mmseg分词器、paoding分词器、Shuzhen分词器、庖丁解羊分词器、增强版lucene分词器) 文件比较大,请耐心下载。
含建索引,内容检索(多种方式的检索),中文分词(IKAnalyzer、PaodingAnalyzer);Lucene采用3.03版,太新版和 ik paoding不兼容。 ----------------------------------------- 极易分词只支持1.9-2.4版,未测试 ...
为了实现更好的中文处理,我们可以选用第三方分词器,如Paoding、Imdict、IK Analyzer和Mmseg4j。在这些分词器中,Mmseg4j因其较高的准确率(98%)和简单的配置而被选中。通过在Solr的schema.xml中定义新的fieldType...
paoding 是一个基于 Java 的中文词法分析程序,支持 Lucene 3.0,具有高效率的分词能力,在 PIII 1G 内存个人机器上,1 秒可准确分词 100 万汉字。 ansj 是一个基于 Java 的中文词法分析程序,具有高速处理能力,...
中文分词技术是将中文文本拆分为有意义的词汇单元,主要算法有字符串匹配、统计理论和形象理解等,代表技术有ICTCLAS、IKAnalyzer和Paoding。全文检索技术则是基于全文内容进行搜索,提高了检索效率和准确度,例如...
它使用了 HanLP、IK Analyzer 或者 Paoding 分词器等工具,以适应中文的语法特点,提高搜索精度。 4. **lucene-queryparser-4.7.0.jar**:这个包包含了 Lucene 的查询解析器,可以将用户的查询字符串转换为内部表示...
- **解析器(token parser)**:即分词器,常见的工具有IK、Paoding等。分词过程包括去除停用词、词元切分、词性分析及过滤等步骤。 - **断词/分词(word segmentation)**:针对不同语言的特点进行,尤其是中文这种复杂...
- **Paoding’s Analysis(庖丁分词)**:具有极高的分词效率和良好的扩展性。它采用面向对象的设计思想,可以在高性能的情况下处理大量的文本数据。 - **IKAnalyzer**:采用了高效的正向迭代最细粒度切分算法,能够...
Paoding、IK等业界知名分词器可能提供了更高级的特性,如中文数字识别、歧义识别等特性。 而CC暂不考虑这些,因为目前暂没有很好滴歧义算法,且很难评价好坏。而有时我们希望尽量返回更多的内容,甚至于类似SQL的...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...
jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...