精确模式,试图将句子最精确地切开,适合文本分析;
全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
jieba.cut
jieba.cut
方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语也可以用 list(jieba.cut(...)) 转化为 list
jieba.lcut()
返回的是list
import jieba
s='jieba模块是一个强大的Python分词库'
for i in jieba.cut(s):
print(i)
print(list(jieba.cut(s)))
print(jieba.lcut(s))
全模式cut_all=True 精确模式cut_all=False
默认为False
import jieba
s='jieba模块是一个强大的Python分词库'
print(list(jieba.cut(s,cut_all=True)))
print(list(jieba.cut(s,cut_all=False)))
print(jieba.lcut(s,cut_all=True))
print(jieba.lcut(s,cut_all=False))
jieba.cut_for_search
方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
返回的结构都是一个可迭代的 generator
添加后默认添加的词为一个词
精确模式情况下不再对该词拆分
import jieba
s='jieba模块是一个强大的Python分词库'
jieba.add_word('jieba模块')
print(list(jieba.cut(s)))
print(list(jieba.cut(s,cut_all=True)))
jieba.add_word('Python分词库')
print(jieba.lcut_for_search(s))
jieba