python中jieba库详解


函数 描述
jieba.cut(s) 精确模式,返回一个可迭代的数据类型
jieba.cut(s, cut_all = Ture) 全模式,输出文本s中所有可能的单词
jieba.cut_for_search(s) 搜索引擎模式,适合搜索引擎建立索引的分词结果
jieba.lcut(s) 精确模型,返回一个列表模型,建议使用
jieba.lcut(s, cut_all=Ture) 全模型,返回一个列表模型,建议使用
jieba.lcut_for_search(s) 搜索引擎模型,返回一个列表类型,建议使用
jieba.add_word(w) 向分词词典中添加新词w

分词返回值类型:

  • cut 和 cut_for_search 返回值类型都是一个迭代器(可迭代对象, 使用for可以依次遍历出来)
  • lcut 和 lcut_for_search 返回值类型都是一个列表

参数问题:

  • jieba.cut 和 jieba.lcut接受 3 个参数:

    • 需要分词的字符串(unicode 或 UTF-8 字符串、GBK 字符串)
    • cut_all 参数:是否使用全模式,默认值为 False
    • HMM 参数:用来控制是否使用 HMM 模型,默认值为 True
  • jieba.cut_for_search和jieba.lcut_for_search 接受 2 个参数:

    • 需要分词的字符串(unicode 或 UTF-8 字符串、GBK 字符串)
    • HMM 参数:用来控制是否使用 HMM 模型,默认值为 True

模式问题:

  • 全模式和精确模式:

    # 全模式
    seg_list = jieba.cut("他来自河北地质大学", cut_all=True)
    print("【全模式】:" + "/ ".join(seg_list))
    
    # 【全模式】:他/ 来自/ 河北/ 北地/ 地质/ 大学
    
    
    # 精确模式
    seg_list = jieba.cut("他来自河北地质大学", cut_all=False)
    print("【精确模式】:" + "/ ".join(seg_list))
    
    #【精确模式】:他/ 来自/ 河北/ 地质/ 大学
    

    由上面可得:

    • 全模式是吧该文档中所有可能组成的词语划分出来
    • 精确模式就是单纯的对句子进行划分
  • 搜索引擎模式:

    # 搜索引擎模式
    seg_list = jieba.cut_for_search("我朋友现就读于河北地质大学软件工程专业,现在正在自己搞机器学习,他说有点难")  
    print("【搜索引擎模式】:" + "|".join(seg_list))
    
    #【搜索引擎模式】:我|朋友|就读|现就读|于|河北|地质|大学|软件|工程|软件工程|专业|,|现在|正在|自己|搞|机器|学习|,|他|说|有点|难
    
    # 搜索引擎模式
    seg_list = jieba.lcut_for_search("我朋友现就读于河北地质大学软件工程专业,现在正在自己搞机器学习,他说有点难")  
    print(f"【搜索引擎模式】:{seg_list}")
    
    # 【搜索引擎模式】:['我', '朋友', '就读', '现就读', '于', '河北', '地质', '大学', '软件', '工程', '软件工程', '专业', ',', '现在', '正在', '自己', '搞', '机器', '学习', ',', '他', '说', '有点', '难']
    

    搜索引擎模式由上面可得,就是先把分词写在前面,然后把组合后的词语放在后面,

  • HMM 模式

    # 未启用 HMM
    seg_list = jieba.cut("这是奥运史上独特的一次奥运会", HMM=False) #默认精确模式和启用 HMM
    print("【未启用 HMM】:" + "/ ".join(seg_list))  
    
    #【未启用 HMM】:这/ 是/ 奥运/ 史/ 上/ 独特/ 的/ 一次/ 奥运会
    
    
    # 启用 HMM
    seg_list = jieba.cut("这是奥运史上独特的一次奥运会") #默认精确模式和启用 HMM
    print("【启用 HMM】:" + "/ ".join(seg_list))  
    
    #【启用 HMM】:这是/ 奥运/ 史上/ 独特/ 的/ 一次/ 奥运会
    

    HMM模式可以将一些有关联的词语分成一个

AI