• 精确模式,试图将句子最精确地切开,适合文本分析;
  • 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
  • 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

    分类:
    后端