有声有色工作,有滋有味生活,有情有义做人
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

几款开源分词工具比较

Posted on 2014-10-10 11:47  小采采  阅读(5105)  评论(0编辑  收藏  举报
 

几种开源分词工具的比较

分类: 全文搜索引擎

[转载]

分词工  具

      特点

  

支持语言

    原理

词典及扩展性

StandardAnalyzer

中文、英文(unicode)

中文:单字符切分

英文:根据空格切分

ChineseAnalyzer

中文,不支持中文和英文及数字混合的文本分词 

按字分词,与StandardAnalyzer对中文的分词没有大的区别

CJKAnalyzer

中文,英文,不支持中文和英文及数字混合的文本分词 

采用的双字切分,也就是对一段文字按每两个字来进行切分 

IKAnalyzer

英文字母、数字、中文词汇等分词处理,兼容韩文、日文字符

正向迭代最细粒度切分算法(词典+文法分析)

收录27万中文词汇,

支持用户词典扩展定义、支持自定义停止词

paoding

中文

支持不限制个数的用户自定义词库

MMAnalyzer

支持英文、数字、中文(简体)混合分词

正向最大匹配算法

支持动态扩展

MMSeg4j 

中文,包括一些字符的处理 英文、俄文、希腊、数字(包括①㈠⒈)的分出一连串的。目前版本没有处理小数字问题 

用 Chih-Hao Tsai 的 MMSeg 算法。MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。在complex基础上实现了最多分词(max-word)   

强制使用 UTF-8)

使用sougou词库,也可自定义覆盖

imdict

中文、英文、数字

隐马尔科夫模型

仅coredict核心字典、bigramdict词典,不含人名、地名词典。不支持自定义词典

分词工具

 

特点

速度

文档完整性

大小

Lucene版本

备注

StandardAnalyzer

ChineseAnalyzer

Lucene contrib中附带的分析器

CJKAnalyzer

Lucene contrib中附带的二元分词

IKAnalyzer

3.2.8

83 万字/秒(1600KB/S)

详细

2.62MB

Lucene2.9、

Lucene3.0

支持细粒度和最大词长两种切分模式

paoding

100万字/秒

几乎无

1.3MB

Lucene3.0

MMAnalyzer

第一次分词需要1-2秒(读取词典),之后速度基本与Lucene自带分词持平 

原始网站已经找不到下载,不提供维护和支持

内存消耗30M+

lucene 1.9到2.4之间 

MMSeg4j 

complex 1200kb/s左右, simple 1900kb/s左右 

MMSeg 算法是英文的,但原理比较简单。实现也比较清晰。

内存开销了50M左右 

mmseg4j 1.8.3 只支持 lucene 2.9/3.0 接口 。mmseg4j 1.8.5 支持 lucene 3.1。

imdict

259517字/秒

较全

词典大小7.26MB

Lucene2.9直接收录

分词效果演示:

消歧义效果:

分词工具

    效果

张三买了张三角桌

南京市长江大桥

StandardAnalyzer

张|三|买|了|张|三|角|桌

南|京|市|长|江|大|桥

ChineseAnalyzer

张|三|买|了|张|三|角|桌

南|京|市|长|江|大|桥

CJKAnalyzer

张三|三买|买了|了张|张三|三角|角桌

南京|京市|市长|长江|江大|大桥

IK

Analyzer

最大词长

张三|买了|张三|三角|桌

南京市|市长|长江大桥

最细粒度

张三|三|买了|张三|三角|三|角|桌

南京市|南京|市长|长江大桥|长江|大桥

paoding

张三|买了|张三|三角|  桌  

南|南京|南京市|长|市长|长江|大 |大桥  

MMAnalyzer

张三|买了|张三角|桌

南京市|长江大桥

MMSeg4j 

SimpleSeg

张三|买了|张三|角|桌

南京市|长江大桥

ComplexSeg

张三|买了|张三|角|桌

南京市|长江大桥

imdict

张|三|买|了|张|三|三角|桌

南京市|长江|大桥

数字、英文混合分词效果:

分词工具

        效果

我的QQ号是******

StandardAnalyzer

我|的|qq|号|是|******

ChineseAnalyzer

我|的|qq|号|是

CJKAnalyzer

我的|qq|号|是|******

IKAnalyzer

IK

我|的|qq|号|是|******

MIK

我|的|qq|号|是|******

MMAnalyzer

我的|qq|号|是|******

MMSeg4j 

SimpleSeg

我的|qq|号|是|******

ComplexSeg

我的|qq|号|是|******

paoding

我的|qq|号|****** 

Imdict

我|的|qq|号|******