14款中文分词开源软件【整理】
1、IKAnalyzer
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
IKAnalyzer3.0特性:
采用了特有的“正向迭代最细粒度切分算法“,具有60万字/秒的高速处理能力。
采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
优化的词典存储,更小的内存占用。支持用户词典扩展定义
针对Lucene全文检索优化的查询分析器IKQueryParser(作者吐血推荐);采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。
授权协议:LGPL
开发语言:Java 在线查看 IKAnalyzer 源码 »
操作系统:跨平台
收录时间:2008年12月03日 (国产软件)
下载:http://www.oschina.net/p/ikanalyzer 或 http://code.google.com/p/ik-analyzer/
2、盘古分词
盘古分词是一个基于 .net framework 的中英文分词组件,提供lucene(.net 版本) 和HubbleDotNet的接口。
高效:Core Duo 1.8 GHz 下单线程 分词速度为 390K 字符每秒
准确:盘古分词采用字典和统计结合的分词算法,分词准确率较高。
功能:盘古分词提供中文人名识别,简繁混合分词,多元分词,英文词根化,强制一元分词,词频优先分词,停用词过滤,英文专名提取等一系列功能。
授权协议:Apache
操作系统:Windows
收录时间:2010年12月29日
下载:http://www.oschina.net/p/pangu 或:http://pangusegment.codeplex.com/
3、Paoding
庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网、企业内部网使用的中文搜索引擎分词组件。Paoding填补了国内中文分词方面开源组件的空白,致力于此并希翼成为互联网网站首选的中文分词开源组件。 Paoding中文分词追求分词的高效率和用户良好体验。
Paoding's Knives 中文分词具有极高效率和高扩展性。引入隐喻,采用完全的面向对象设计,构思先进。
高效率:在PIII 1G内存个人机器上,1秒可准确分词100万汉字。
采用基于不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。
能够对未知的词汇进行合理解析
授权协议:Apache
开发语言:Java
操作系统:跨平台
收录时间:2008年09月07日 (国产软件)
下载:http://www.oschina.net/p/paoding 或 http://code.google.com/p/paoding/
4、FreeICTCLAS
中科院ICTCLAS最新free开放源代码,里面有中文分词算法,大家一起共同学习和研究,对搜索引擎中文分词方面有很大用处哦
授权协议:未知
开发语言:C/C++
操作系统:Windows
收录时间:2010年10月20日 (国产软件)
下载:http://www.oschina.net/p/freeictclas 或 http://pan.baidu.com/s/1ntFQ2I9
5、LibMMSeg
LibMMSeg 是Coreseek.com为Sphinx全文搜索引擎设计的中文分词软件包,其在GPL协议下发行的中文分词法,采用Chih-Hao Tsai的MMSEG算法。
您可以在Chih-Hao Tsai's Technology Page找到算法的原文。
LibMMSeg 采用C++开发,同时支持Linux平台和Windows平台,切分速度大约在300K/s(PM-1.2G),截至当前版本(0.7.1)LibMMSeg没有为速度仔细优化过,进一步的提升切分速度应仍有空间。
授权协议:未知
开发语言:C/C++
操作系统:跨平台
收录时间:2009年05月31日 (国产软件)
下载 : MMSeg 0.7.3 或 http://pan.baidu.com/s/1dDiWLnb
6、PHPCWS
PHPCWS 是一款开源的PHP中文分词扩展,目前仅支持Linux/Unix系统,该项目现在已改名为HTTPCWS,此项目不再继续维护。
PHPCWS 先使用“ICTCLAS 3.0 共享版中文分词算法”的API进行初次分词处理,再使用自行编写的“逆向最大匹配算法”对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。
ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命 名实体识别;新词识别;同时支持用户词典。ICTCLAS经过五年精心打造,内核升级6次,目前已经升级到了ICTCLAS3.0,分词精度 98.45%,各种词典数据压缩后不到3M。ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构SigHan 组织的评测中都获得了多项第一名,是当前世界上最好的汉语词法分析器。
授权协议:BSD
开发语言:PHP
操作系统:跨平台
收录时间:2009年03月19日 (国产软件)
下载:http://www.oschina.net/p/phpcws
7、HTTPCWS
HTTPCWS是一款Linux下的基于HTTP协议的开源中文分词系统,采用BSD协议。
这个分词系统是对中国科学院计算技术研究所免费提供的ICTCLAS 3.0共享版分词后的结果,再采用逆向最大匹配算法,根据作者自己补充的一个9万条词语的自定义词库,对ICTCLAS分词结果进行合并处理,输出最终分词结果。目前只支持GBK编码。
经过测试,局域网内 HTTPCWS 接口中文分词平均处理速度(Wait时间):0.001秒,每秒可处理5000~20000次请求。
授权协议:BSD
开发语言:C/C++
操作系统:Linux
收录时间:2009年08月11日 (国产软件)
下载:http://www.oschina.net/p/httpcws
8、imdict-chinese-analyzer
imdict-chinese-analyzer 是imdict智能词典的智能中文分词模块,算法基于隐马尔科夫模型(Hidden Markov Model, HMM),是中国科学院计算技术研究所的ictclas中 文分词程序的重新实现(基于Java),可以直接为lucene搜索引擎提供简体中文分词支持。
授权协议:Apache
开发语言:Java
操作系统:跨平台
收录时间:2010年03月02日 (国产软件)
下载:http://www.oschina.net/p/imdict-chinese-analyzer
9、mmseg4j
mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/)实现的中文分词器,并实现 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。
MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。
授权协议:Apache
开发语言:Java
操作系统:跨平台
收录时间:2009年09月26日 (国产软件)
下载:http://www.oschina.net/p/mmseg4j
10、smallseg
smallseg -- 开源的,基于DFA的轻量级的中文分词工具包
特点:可自定义词典、切割后返回登录词列表和未登录词列表、有一定的新词识别能力。
授权协议:未知
操作系统:跨平台
收录时间:2009年10月15日 (国产软件)
下载:http://www.oschina.net/p/smallseg
11、CRF
中文分词是互联网应用不可缺少的基础技术之一,也是其他语音和语言产品必不可少的技术组件。
自2003年第一届国际中文分词评测以来,由字构词的分词方法获得了压倒性优势,国内主要通过CRF++开源软件包来学习该分词方法,但是CRF++过于复杂的代码结构,导致了该算法的普及率。
CRF中文分词开源版仅仅包含CRF++软件包中分词解码器部分,简化了CRF++复杂代码结构,清除了分词解码器不需要的代码,大大提高了分词解码器的可读性和可懂度。同时为了方便学习者可视化跟踪和调试代码,在Windows平台下分别建立了VC6.0和VS2008两个工程文件,使得VC6.0用户和VS2008用户都能轻玩转中文分词。
授权协议:未知
开发语言:C/C++
操作系统:Windows
收录时间:2010年08月26日 (国产软件)
下载:http://www.oschina.net/p/crf
12、SCWS
SCWS 是 Simple Chinese Words Segmentation 的缩写,即简易中文分词系统。
这是一套基于词频词典的机械中文分词引擎,它能将一整段的汉字基本正确的切分成词。词是汉语的基本语素单位,而书写的时候不像英语会在词之间用空格分开, 所以如何准确而又快速的分词一直是中文分词的攻关难点。
SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。
授权协议:未知
开发语言:PHP
操作系统:跨平台
收录时间:2010年05月23日 (国产软件)
下载:http://www.oschina.net/p/scws
13、FudanNLP
FudanNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。
授权协议:LGPL
开发语言:Java
操作系统:跨平台
收录时间:2010年07月19日 (国产软件)
下载:http://www.oschina.net/p/fudannlp
14、ictclas4j
ictclas4j中文分词系统是sinboy在中科院张华平和刘群老师的研制的FreeICTCLAS的基础上完成的一个java开源分词项目,简化了原分词程序的复杂度,旨在为广大的中文分词爱好者一个更好的学习机会。
授权协议:Apache
开发语言:Java
操作系统:跨平台
收录时间:2010年10月20日 (国产软件)