jieba用法和jieba模式

mydict.txt文件内容如下:
‘’’

第一行,井号开头表示注释。每行一个单词,包含三个部分,每个部分以空格隔开,第一部分是单词,第二部分是词频,第三部分是词性

杨氏
聪惠 66666
未成
弃去
‘’’

import jieba

# 基础分词
word_a = '上海自来水来自海上'
# word_a = '把汉字串与词典中的词条进行匹配'
# word_a = '梁国杨氏子九岁,甚聪惠。孔君平诣其父,父不在,乃呼儿出。为设果,果有杨梅。孔指以示儿曰:“此是君家果。”儿应声答曰:“未闻孔雀是夫子家禽。”'
"""
def cut(self, sentence, cut_all=False, HMM=True)
 sentence:字符串类型的文本数据
 cut_all: 是进行全模式还是精确模式,False表示精确模型
 HMM: 是否启动HMM来发现新词,True表示发现,一般不改动
cut API返回的数据类型是一个迭代器类型,迭代器类型就表示数据只能从头到尾访问一次
"""
seg_a = jieba.cut(word_a, cut_all=True)
# print(type(seg_a))
print("全模式:{}".format('/'.join(seg_a)))  # 全模式:上海/自来/自来水/来自/海上
seg_b = jieba.cut(word_a, cut_all=False)
# print(type(seg_b))
print("精确模式:{}".format('/'.join(seg_b)))  # 精确模式:上海/自来水/来自/海上
seg_c = jieba.cut_for_search(word_a)
print("搜索模型:{}".format('/'.join(seg_c)))  # 搜索模型:上海/自来/自来水/来自/海上

# 添加自定义单词(代码中自定义添加和删除操作)
# word_b = '梁国杨氏子九岁,甚聪惠'
# """
# add_word(self, word, freq=None, tag=None)
# 在代码中添加自定义的单词,word就是添加的单词;freq就是词频,默认为1;tag是词性,eg:名词(n)、动词(v)...
# """
# jieba.add_word('杨氏')
# jieba.add_word('聪惠', freq=10)
# # jieba.del_word('杨氏')
# seg_a = jieba.cut(word_b)
# print("结果:{}".format('/'.join(seg_a)))  # 结果:梁国/杨氏/子/九岁/,/甚/聪惠

# 自定义词典
# jieba.load_userdict('./mydict.txt')
# word_b = '梁国杨氏子九岁,甚聪惠'
# jieba.del_word('杨氏')
# seg_a = jieba.cut(word_b)
# print("结果:{}".format('/'.join(seg_a)))  # 结果:梁国/杨氏子/九岁/,/甚/聪惠

# 更改词频
"""
suggest_freq(self, segment, tune=False)
segment:指定需要更改的单词的形式
tune:增大、减小词频
"""
word_b = '如果放到post中将出错'
# word_b = '台中的天气怎么样呢?'
a = jieba.suggest_freq(('中', '将'), True)
jieba.suggest_freq('台中', True)
seg_a = jieba.cut(word_b, HMM=False)
print("结果:{}".format('/'.join(seg_a)))
# 结果:如果/放到/post/中/将/出错
# 结果:台中/的/天气/怎么样/呢/?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值