jieba分词值基于规则和统计这两类方法。其首先基于前缀词典进行词图扫描,前缀词典是指词典中的词按照前缀的包含顺序排列的,从而形成一种层级包含结构。这种前缀词典的好处便是可以快速构建包含全部可能分词结果的有向无环图,这个图包含多条分词路径,无环是指节点间不构成闭环。然后基于标注语料,使用动态规划算法可以找到最大概率路径,也就是分词结果。对于未登陆词,jieba使用了HMM模型,采用Viterbi算法进行推导。
Jieba提供了三种分词模式
- 精确模式:分出精确结果
a = jieba.cut(txt,cut_all=Ture) #全模式
- 全模式:将所有分词结果都返回
a = jieba.cut(txt,cut_all=False) #精确模式
a = jieba.cut(txt) #默认精确模式
- 搜索引擎模式:在精确模式的基础上对长词再进行切分
a = jieba.cut_for_search(txt) #搜索引擎模式