结巴分词

结巴分词有多种语言实现的版本,从github的star数量等方面来看,python版本应是最早的一个。 另外,它也具有词性标注等功能。

python版本地址:


https://github.com/fxsjy/jieba

pyhton2.7安装jieba:

sudo pip install jieba



官方的一个使用示例:


#encoding=utf-8
import jieba

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print "Full Mode:", "/ ".join(seg_list)  # 全模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print "Default Mode:", "/ ".join(seg_list)  # 精确模式

seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print ", ".join(seg_list)

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print ", ".join(seg_list)



运行结果:
【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学

【精确模式】: 我/ 来到/ 北京/ 清华大学

【新词识别】:他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)

【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造



采用的算法:

http://site.douban.com/146782/widget/notes/15468638/note/320822246/给出:
基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法

代码分析:

jieba 分词源代码研读(1)
jieba 分词源代码研读(2)
jieba 分词源代码研读(3)
jieba 分词源代码研读(4)
Trie树:应用于统计和排序

你可能感兴趣的:(结巴分词)