jieba 是目前表现较为不错的 Python 中文分词组件。
主要支持四种分词模式:
支持繁体分词、支持自定义词典、MIT 授权协议
pip install jieba
import jieba
import jieba.posseg as pseg
试图将句子最精确地切开,适合文本分析,cut_all 默认 False
content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
print(jieba.cut(content, cut_all=False))
# 若需直接返回列表内容, 使用jieba.lcut即可
print(jieba.lcut(content, cut_all=False))
运行结果
<generator object Tokenizer.cut at 0x000001D2FD21D970>
['工信处', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换机', '等', '技术性', '器件', '的', '安装', '工作']
把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能消除歧义
content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
print(jieba.cut(content, cut_all=True))
# 若需直接返回列表内容, 使用jieba.lcut即可
print(jieba.lcut(content, cut_all=True))
运行结果
<generator object Tokenizer.cut at 0x000001D2FD21D970>
['工信处', '处女', '女干事', '干事', '每月', '月经', '经过', '下属', '科室', '都', '要', '亲口', '口交', '交代', '24', '口交', '交换', '交换机', '换机', '等', '技术', '技术性', '性器', '器件', '的', '安装', '安装工', '装工', '工作']
在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
content = "工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"
print(jieba.lcut_for_search(content))
content = "煩惱即是菩提,我暫且不提"
print(jieba.lcut(content))
运行结果
['工信处', '干事', '女干事', '每月', '经过', '下属', '科室', '都', '要', '亲口', '交代', '24', '口', '交换', '换机', '交换机', '等', '技术', '技术性', '器件', '的', '安装', '工作']
['煩惱', '即', '是', '菩提', ',', '我', '暫且', '不', '提']
自定义内容写入 .userdict.txt 中
云计算 5 n
李小福 2 nr
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
print(jieba.lcut("八一双鹿更名为八一南昌篮球队!"))
jieba.load_userdict("./userdict.txt")
print(jieba.lcut("八一双鹿更名为八一南昌篮球队!"))
运行结果
['八', '一双', '鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
['八一双鹿', '更名', '为', '八一', '南昌', '篮球队', '!']
r: 人称代词
v: 动词
n: 名词
vn: 动名词
print(pseg.lcut('我爱北京天安门'))
运行结果
[pair('我', 'r'), pair('爱', 'v'), pair('北京', 'ns'), pair('天安门', 'ns')]