一、几个项目github star对比
在网上可以看到很多中文分词器的文章,但是都没说明白到底选择什么。当然一般来说没有最好的只有最合适的,在分词能力、繁体支持等等都可考虑的方向。当然github上的star也可以作为开源项目选择的一个依据。
- HanLP github 21.4k star
https://github.com/hankcs/HanLPgithub.com/hankcs/HanLP
- jieba github 29.6k star
https://github.com/fxsjy/jieba
- ik-analyzer github 589 star
可以看到ik-analyzer和es solr等都有集成好像589star比较少,当然ik-analyzer主要是在code.google里,当最近一次code.google更新的版本也只是2012年的版本
https://github.com/wks/ik-analyzergithub.com/wks/ik-analyzer
- ansj_seg 5.7k
https://github.com/NLPchina/ansj_seggithub.com/NLPchina/ansj_seg
个人建议使用jieba分词器
二、具体说明
(1)Hanlp分词器
hankcs/HanLPgithub.com/hankcs/HanLP
最短路径分词,有中文分词、词性标注、新词识别、命名实体识别、自动摘要、文本聚类、情感分析、词向量word2vec等功能,支持自定义词典;
采用HMM、CRF、TextRank、word2vec、聚类、神经网络等算法;
支持Java,C++,Python语言;
(2)结巴分词
https://github.com/fxsjy/jiebagithub.com/fxsjy/jieba
找出基于词频的最大切分组合,有中文分词、关键词提取、词性标注功能,支持自定义词典;
采用HMM模型、 Viterbi算法;
支持Java,C++,Python语言;
(3)哈工大的LTP
HIT-SCIR/ltpgithub.com/HIT-SCIR/ltp
有中文分词、词性标注、句法分析等功能;
商用需付费;调用接口,每秒请求的次数有限制;
编写语言有C++、Python、Java版;
(4)清华大学THULAC
thunlp/THULACgithub.com/thunlp/THULAC
有中文分词、词性标注功能;
有Java、Python和C++版本;
(5)北京大学 pkuseg
lancopku/pkuseg-pythongithub.com/lancopku/PKUSeg-python
支持按领域分词、有词性标注功能、支持用户自训练模型;
基于CRF模型、自研的ADF训练方法;
有python版本;
(6)斯坦福分词器
The Stanford Natural Language Processing Groupnlp.stanford.edu/software/segmenter.shtml
支持多语言分词包括中英文,提供训练模型接口,也可用已有模型,但速度较慢;
Java实现的CRF算法;
(7)KCWS分词器
koth/kcwsgithub.com/koth/kcws
有中文分词、词性标注功能,支持自定义词典;
采用word2vec、Bi-LSTM、CRF算法;
(8)ZPar
frcchang/zpargithub.com/frcchang/zpar/releases
有中文、英文、西班牙语分词、词性标注;
C++语言编写;
(9)IKAnalyzer
wks/ik-analyzergithub.com/wks/ik-analyzer
有中文分词功能,支持自定义词典;
(10)Jcseg
狮子的魂/jcseggitee.com/lionsoul/jcseg
有中文分词、关键词提取、自动摘要、词性标注、实体识别等功能,支持自定义词典;
基于mmseg、textRank、BM25等算法;
(11)FudanNLP
FudanNLP/fnlpgithub.com/FudanNLP/fnlp
中文分词 词性标注 实体名识别 关键词抽取等;
(12)SnowNLP
isnowfy/snownlpgithub.com/isnowfy/snownlp
有中文分词、词性标注、情感分析、文本分类、提取关键词等功能;
基于HMM、Naive Bayes、TextRank、tf-idf等算法;
Python类库;
(13)ansj分词器
NLPchina/ansj_seggithub.com/NLPchina/ansj_seg
有中文分词、人名识别、词性标注、用户自定义词典等功能;
基于n-Gram+CRF+HMM算法;
(14)NLTK
nltk/nltkgithub.com/nltk/nltk
擅长英文分词,也支持中文分词处理,但建议先用其他分词工具对中文语料分词,再用它的处理功能;
python库;
(15)庖丁解牛
https://code.google.com/p/paodingcode.google.com/p/paoding
3.2,其他
(1)中科院计算所NLPIR
具有分词、词性标注、新词识别、命名实体识别、情感分析、关键词提取等功能,支持自定义词典;
(2)腾讯文智
(3)BosonNLP
(4)百度NLP
(5)阿里云NLP
(6)新浪云
(7)盘古分词
文章摘至
华天清:中文分词方法和软件工具汇总笔记93 赞同 · 3 评论文章