jieba 分词器是一个 Python 中文分词组件,支持精确模式、全模式、搜索引擎模式、paddle模式四种分词模式,支持自定义词典
介绍
- 源码地址:https://github.com/fxsjy/jieba
安装
pip install jieba
使用
基础使用
import jieba
seg_list = jieba.cut("欢迎来到上海东方明珠", cut_all=True)
print(f'全模式:{"/".join(seg_list)}')
seg_list = jieba.cut("欢迎来到上海东方明珠", cut_all=False)
print(f'精确模式:{"/".join(seg_list)}')
seg_list = jieba.cut("欢迎来到上海东方明珠")
print(f'默认模式(精确模式):{"/".join(seg_list)}')
全模式:欢迎/迎来/来到/上海/上海东方/海东/东方/东方明珠/方明/明珠
精确模式:欢迎/来到/上海/东方明珠
默认模式(精确模式):欢迎/来到/上海/东方明珠
添加自定义字典
import jieba
text = '故宫的著名景点包括乾清宫、太和殿和黄琉璃瓦等'
seg_list = jieba.cut(text, cut_all=True)
print(f'全模式:{"/".join(seg_list)}')
seg_list = jieba.cut(text, cut_all=False)
print(f'精确模式:{"/".join(seg_list)}')
全模式:故宫/的/著名/著名景点/景点/包括/乾/清宫/、/太和/太和殿/和/黄/琉璃/琉璃瓦/等
精确模式:故宫/的/著名景点/包括/乾/清宫/、/太和殿/和/黄/琉璃瓦/等
- 添加自定义字典
mydict.txt
内容如下(文件需要为 UTF-8 字符集):
乾清宫 1 n
黄琉璃瓦 1 n
import jieba
text = '故宫的著名景点包括乾清宫、太和殿和黄琉璃瓦等'
# jieba.load_userdict('./mydict.txt') # 加载自定义字典
jieba.add_word('乾清宫') # 动态添加
jieba.add_word('黄琉璃瓦')
seg_list = jieba.cut(text, cut_all=True)
print(f'全模式:{"/".join(seg_list)}')
seg_list = jieba.cut(text, cut_all=False)
print(f'精确模式:{"/".join(seg_list)}')
全模式:故宫/的/著名/著名景点/景点/包括/乾清宫/清宫/、/太和/太和殿/和/黄琉璃瓦/琉璃/琉璃瓦/等
精确模式:故宫/的/著名景点/包括/乾清宫/、/太和殿/和/黄琉璃瓦/等
关键字抽取
import jieba
import jieba.analyse
text = '故宫的著名景点包括乾清宫、太和殿和黄琉璃瓦等'
seg_list = jieba.cut(text, cut_all=False)
print(f'分词结果:{"/".join(seg_list)}')
tags = jieba.analyse.extract_tags(text, topK=5)
print(f'关键字:{"、".join(tags)}')
tags = jieba.analyse.extract_tags(text, topK=5, withWeight=True)
for word, weight in tags:
print(f'{word}: {weight}')
分词结果:故宫/的/著名景点/包括/乾清宫/、/太和殿/和/黄琉璃瓦/等
关键字:著名景点、乾清宫、黄琉璃瓦、太和殿、故宫
著名景点: 2.3167796086666668
乾清宫: 1.9924612504833332
黄琉璃瓦: 1.9924612504833332
太和殿: 1.6938346722833335
故宫: 1.5411195503033335
词性标注
import jieba
import jieba.posseg as pseg
words = pseg.cut('我爱北京天安门')
for word, flag in words:
print(f'{word}: {flag}')
我: r
爱: v
北京: ns
天安门: ns