最早的中文开源分词项目之一,由中科院计算所的张华平、刘群所开发,采用C/C++编写,算法基于《基于多层隐马模型的汉语词法分析研究》。其中开源版本为FreeICTCLAS,最新API调用版本为NLPIR/ICTCLAS2014分词系统(NLPIR分词系统前身为2000年发布的ICTCLAS词法分析系统,从2009年开始,为了和以前工作进行大的区隔,并推广NLPIR自然语言处理与信息检索共享平台,调整命名为NLPIR分词系统)
FreeICTCLAS源代码地址为:
https://github.com/hecor/ICTCLAS-2009-free
https://github.com/pierrchen/ictclas_plus (ICTCLAS Version 1.0 for Linux)
http://download.csdn.net/detail/shinezlee/1535796
http://www.codeforge.cn/article/106151
NLPIR/ICTCLAS2014 API下载地址为:
http://ictclas.nlpir.org/downloads
其他版本:
(a) 在FreeICTCLAS基础上,由吕震宇老师根据开源版C++改写成的C#版。
下载地址为:
https://github.com/smartbooks/SharpICTCLAS (原版)
https://github.com/geekfivestart/SharpICTCLAS (支持多线程版)
(b) 对ICTCLAS分词系统代码及SharpICTCLAS代码理解可参考:
http://www.cnblogs.com/zhenyulu/articles/653254.html
http://sewm.pku.edu.cn/QA/reference/ICTCLAS/FreeICTCLAS/codes.html(c) ictclas4j中文分词系统是sinboy在FreeICTCLAS的基础上完成的一个java开源分词项目,简化了原分词程序的复杂度。
下载地址为:
http://sourceforge.net/projects/ictclas4j/
https://code.google.com/p/ictclas4j/(d) ICTCLAS Python调用
Python下调用NLPIR(ICTCLAS2013)可参考:
http://ictclas.nlpir.org/newsDetail?DocId=382
Python wrapper for ICTCLAS 2015 可参考:
https://github.com/haobibo/ICTCLAS_Python_Wrapper
https://github.com/tsroten/pynlpir (一个外国小哥搞得,还有文档介绍http://pynlpir.rtfd.org)
http://technology.chtsai.org/mmseg/注:
http://www.coreseek.cn/opensource/mmseg/(b) friso是使用c语言开发的一个中文分词器,使用流行的mmseg算法实现。支持对UTF-8/GBK编码的切分,绑定了php扩展和sphinx token插件
https://code.google.com/p/friso/
http://git.oschina.net/lionsoul/friso(c) MMSEG4J 是基于MMSeg 算法的Java开源中文分词组件,提供lucene和solr 接口
https://code.google.com/p/mmseg4j/(d) RMMSeg is written in pure Ruby. RMMSegis an implementation of MMSEG word segmentation algorithm. It is based on two variants of maximum matching algorithms.
http://rmmseg.rubyforge.org/(e) rmmseg-cpp is a re-written of the original RMMSeggem in C++, the core part is written in C++ independent of Ruby. It ismuch faster and cosumes much less memory than RMMSeg. The interface of rmmseg-cpp is almost identical to RMMSeg.
http://rmmseg-cpp.rubyforge.org/
https://github.com/pluskid/rmmseg-cpp/(f) pymmseg-cpp is a Python interface to rmmseg-cpp.
https://github.com/pluskid/pymmseg-cpp/
https://code.google.com/p/pymmseg-cpp/
https://code.google.com/p/ik-analyzer/
https://github.com/yozhao/IKAnalyzer
https://github.com/xpqiu/fnlp/
http://www.niuparser.com/index.en.html
https://github.com/HIT-SCIR/ltp
注:
(a) LTP的分词模块(LTP-CWS)基于结构化感知器(Structured Perceptron)算法构建,支持用户自定义词典,适应不同用户的需求;另外还新增了个性化(增量式)训练功能,用户可以根据自己的实际需求,如对新领域的文本进行分词等,自行标注少量句子的分词结果(比如对LTP分词结果的修正),LTP分词模块可以重新训练一个更好应对新领域的分词器,进一步提高新领域上分词的准确率。
源代码下载地址为:
https://github.com/HIT-SCIR/ltp-cws
(b) pyltp是LTP的Python封装
源代码下载地址为:
https://github.com/HIT-SCIR/pyltp
https://github.com/NLPchina/ansj_seg
https://github.com/fxsjy/jieba注:
(a)模型数据生成,参见:
https://github.com/fxsjy/jieba/issues/7
(b)CppJieba是"结巴"中文分词的C++版本,代码细节详见:
https://github.com/yanyiwu/cppjieba
(c) cppjiebapy is a wrap for cppjieba by swig. 若想使用python来调用cppjieba,可查阅:
https://github.com/jannson/cppjiebapy
(d) jieba分词学习笔记,参见:
http://segmentfault.com/a/1190000004061791
HanLP是由一系列模型与算法组成的Java汉语言处理工具包,提供中文分词、词性标注、命名实体识别、依存句法分析、关键词提取、自动摘要、短语提取、拼音、简繁转换等完备的功能。CRFSegment支持自定义词典,自定义词典的优先级高于核心词典。
源代码下载地址为:
http://hanlp.linrunsoft.com/
https://github.com/hankcs/HanLP
BosonNLP是一家初创公司提供的API SDK调用接口。功能包括:Tokenization and part of speech tagging, named-entity recognition, tokenization and compute word weight, automatic detection of opinions embodied in text, work out the grammatical structure of sentences, categorization the given articles, Get relative words.
API下载地址为:
https://github.com/liwenzhu/bosonnlp
API调用Pullword,包含python,R等语言,参见:
http://api.pullword.com/
http://www.sogou.com/labs/webservice/
THULAC(THU Lexical Analyzer for Chinese)是清华开源的一套中文词法分析工具包,主要包括中文分词和词性标注功能。该工具包使用了基于词图(word lattice)的重排序算法(re-ranking method).
源代码下载地址为:
http://thulac.thunlp.org
(1) CRF分词训练工具:
CRFsuite (http://www.chokkan.org/software/crfsuite/)
CRF++ (http://taku910.github.io/crfpp/)
wapiti (https://github.com/Jekub/Wapiti) or (https://wapiti.limsi.fr/)
chinesesegmentor (https://github.com/fancyerii/chinesesegmentor) or (http://fancyerii.github.io/sgdcrf/index.html)
CRF decoder 包含CRF++软件包中分词解码器部分,简化了CRF++复杂代码结构,清除了分词解码器不需要的代码,大大提高了分词解码器的可读性和可懂度。 下载地址:http://sourceforge.net/projects/crfdecoder/(2) 中文分词器分词效果评估对比,参见:
https://github.com/ysc/cws_evaluation
(3) 中文词典开源项目(CC-CEDICT)
一份以汉语拼音为中文辅助的汉英辞典,可用于中文分词使用,而且不存在版权问题。Chrome中文版就是使用的这个词典进行中文分词的。
数据及文档下载地址为:http://www.mdbg.net/chindict/chindict.php?page=cedict
http://cc-cedict.org/wiki/