!cat dict.txt
必应输入法 微软亚洲研究院 新一代 拼音输入法
在分词前通过 jieba.load_userdict(file_name)
来加载分词字典,file_name
为文件类对象或自定义词典的路径。
import jieba
text1="必应输入法官方版是微软亚洲研究院推出的新一代拼音输入法."
words = jieba.cut(text1)
print('载入自定义词典前:','/'.join(words))
Building prefix dict from the default dictionary ... Loading model from cache /tmp/jieba.cache Loading model cost 1.502 seconds. Prefix dict has been built successfully.
载入自定义词典前: 必/应/输入法/官方版/是/微软/亚洲/研究院/推出/的/新一代/拼音输入/法/.
加载词典文件,内容为:
!cat dict.txt
必应输入法 微软亚洲研究院 新一代 拼音输入法
重新运行:
jieba.load_userdict("dict.txt")
words2 = jieba.cut(text1)
print('载入自定义词典后:','/'.join(words2))
载入自定义词典后: 必应输入法/官方版/是/微软亚洲研究院/推出/的/新一代/拼音输入法/.
text2 = '我的家乡是山东省日照市,我现在在吉林省长春市工作。'
# words3 = jieba.cut(text2, cut_all = True)
words3 = jieba.cut(text2, cut_all = False )
print('载入自定义词典前:','/'.join(words3))
载入自定义词典前: 我/的/家乡/是/山东省/日照市/,/我/现在/在/吉林省/长春市/工作/。
jieba.load_userdict('dict_geo.txt')
words4 = jieba.cut(text2)
print('载入自定义词典后:','/'.join(words4))
载入自定义词典后: 我/的/家乡/是/山东省日照市/,/我/现在/在/吉林省长春市/工作/。
import jieba
text2='双十一已经不单单是光棍节了。'
words3 = jieba.cut(text2)
print('添加自定义词之前:','/'.join(words3))
添加自定义词之前: 双十/一/已经/不单单是/光棍节/了/。
jieba.add_word("双十一")#添加自定义词
words4 = jieba.cut(text2)
print('添加自定义词后:','/'.join(words4))
添加自定义词后: 双十一/已经/不单单是/光棍节/了/。
删除词汇,通过 del_word(word)
:
jieba.del_word("双十一")#删除自定义词
words5 = jieba.cut(text2)
print('删除自定义词后:','/'.join(words5))
删除自定义词后: 双十/一/已经/不单单是/光棍节/了/。
调节单个词语的词频。使用 suggest_freq(segment, tune=True)
可调节单个词语的词频,使其能(或不能)被分出来。
注意:自动计算的词频在使用 HMM 新词发现功能时可能无效。
import jieba
print('调节词频之前'+'/'.join(jieba.cut('如果放到post中将出错。', HMM=False)))
调节词频之前如果/放到/post/中将/出错/。
jieba.suggest_freq(('中', '将'), True)
print('调节词频后'+'/'.join(jieba.cut('如果放到post中将出错。', HMM=False)))
调节词频后如果/放到/post/中/将/出错/。
print('调节词频之前'+'/'.join(jieba.cut('「台中」正确应该不会被切开', HMM=False)))
调节词频之前「/台/中/」/正确/应该/不会/被/切开
jieba.suggest_freq('台中', True)
print('调节词频后'+'/'.join(jieba.cut('「台中」正确应该不会被切开', HMM=False)))
调节词频后「/台中/」/正确/应该/不会/被/切开