结巴分词——学习笔记

本笔记是根据寒小阳课程教授内容,自己练习所写,并非个人原创:
(本代码编译环境为python3)

  • jieba.cut 的全模式和精确模式
#encoding = utf-8
import jieba
#使用全模式进行分词
seg_list_1 = jieba.cut('我在学习自然语言处理',cut_all = True)
print(seg_list_1) # 结巴分词产生的一个可迭代的generator
>>> <generator object Tokenizer.cut at 0x00000248E63E8E60>
print ('结巴分词全模式'+'/'.join(seg_list_1))
>>> 结巴分词全模式我/在/学习/自然/自然语言/语言/处理

#使用精确模式进行分词(结巴默认为精确模式分词)
seg_list_2 = jieba.cut('我在学习自然语言处理',cut_all = False)
print('结巴分词精确模式'+'/'.join(seg_list_2))
>>> 结巴分词精确模式我/在/学习/自然语言/处理
  • jieba.cut_for_search 方法——分词粒度较细
import jieba
seg_list_3 = jieba.cut_for_search('小明硕士毕业于中国科学院计算机所,后在哈佛大学深造')
print(','.join(seg_list_3))
>>> 小明,硕士,毕业,于,中国,科学,学院,科学院,中国科学院,计算,算机,计算机,计算机所,,,后,在,哈佛,大学,哈佛大学,深造
  • jieba.lcut以及jieba.lcut_for_search 直接返回list
#jieba.lcut
result_cut_1 = jieba.lcut('小明硕士毕业于中国科学院计算机所,后在哈佛大学深造')
print(result_cut_1)
>>> ['小明', '硕士', '毕业', '于', '中国科学院', '计算机所', ',', '后', '在', '哈佛大学', '深造']
print(' '.join(result_cut_1))
>>> 小明 硕士 毕业 于 中国科学院 计算机所 , 后 在 哈佛大学 深造
#jieba.lcut_for_search
result_cut_2 = jieba.lcut_for_search('小明硕士毕业于中国科学院计算机所,后在哈佛大学深造')
print(result_cut_2)
>>>['小明', '硕士', '毕业', '于', '中国', '科学', '学院', '科学院', '中国科学院', '计算', '算机', '计算机', '计算机所', ',', '后', '在', '哈佛', '大学', '哈佛大学', '深造']
print(' '.join(result_cut_2))
>>>小明 硕士 毕业 于 中国 科学 学院 科学院 中国科学院 计算 算机 计算机 计算机所 , 后 在 哈佛 大学 哈佛大学 深造
  • 加载自定义词典进行分词,通常在工程和科研中会加入领域词典
#调节单个词语的词频,使其能(或不能)被分出suggest_freq(segment,turn = Ture)
result_1 = '/'.join(jieba.cut('如果放到旧字典中将不会出错',HMM = ))
print(result_1)
>>> 如果/放到/旧/字典/中将/不会/出错
jieba.suggest_freq(('中','将'),tune = True)
result_2 = '/'.join(jieba.cut('如果放到旧字典中将不会出错',HMM = False))
print(result_2)
>>>如果/放到/旧/字典/中/将/不会/出错
#动态修改词典,加词 add_word()
jieba.add_word('不会出错')
result_3 = '/'.join(jieba.cut('如果放到旧字典中将不会出错',HMM = False))
print(result_3)
>>>如果/放到/旧/字典/中/将/不会出错
#动态修改词典,减词 del_word()
jieba.del_word('放到')
result_4 = '/'.join(jieba.cut('如果放到旧字典中将不会出错',HMM = False))
print(result_4)
>>>如果/放/到/旧/字典/中/将/不会出错

猜你喜欢

转载自blog.csdn.net/weixin_38755238/article/details/80212173