python 之jieba分词

本文详细介绍jieba分词器的使用方法,包括提取关键字、不同分词模式、以及词性标注等功能。通过实例展示了如何利用jieba进行中文文本处理,适用于自然语言处理初学者和技术人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

jieba.analyse 提取关键字

【参考:https://blog.youkuaiyun.com/Dorisi_H_n_q/article/details/82114649

jieba.analyse.extract_tags("华师数院港澳暑期社会实践队")

>>> import jieba.analyse
>>> p = jieba.analyse.extract_tags("华师数院港澳暑期社会实践队")
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.130 seconds.
Prefix dict has been built succesfully.
>>> for w in p:
...     print(w)
...
华师
数院
暑期社会
港澳
实践
>>>
>>> import jieba.analyse
>>> p = jieba.analyse.extract_tags("我想元旦开车载我女朋友去杭州西湖参观和游玩。路线该怎么走?")
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.994 seconds.
Prefix dict has been built succesfully.
>>> p
['游玩', '车载', '女朋友', '元旦', '西湖', '参观', '路线', '杭州', '怎么']
>>>

 

jieba.cut

【有三种模式】

【参考材料:https://wenku.baidu.com/view/4e6a8f21302b3169a45177232f60ddccdb38e66a.html?from=search

jieba.cut(s) 精准模式

jieba.cut(s,cut_all = True) 全模式

jieba._lcut_for_search(s) 搜索引擎模式

import jieba

s = u'我想元旦开车载我女朋友去杭州西湖参观和游玩。路线该怎么走?'

#精确模式
print('精确模式:')
print('|'.join(jieba.cut(s)))
print('\n')

#全模式
print('全模式')
print('|'.join(jieba.cut(s,cut_all = True)))
print('\n')

#搜索引擎模式
print('搜索引擎模式:')
print('|'.join(jieba._lcut_for_search(s)))

得到的结果:

精确模式:
我|想|元旦|开|车载|我|女朋友|去|杭州|西湖|参观|和|游玩|。|路线|该|怎么|走|?


全模式
我|想|元旦|开车|车载|我|女朋友|朋友|去|杭州|西湖|参观|和|游玩|||路线|该|怎么|走||


搜索引擎模式:
我|想|元旦|开|车载|我|朋友|女朋友|去|杭州|西湖|参观|和|游玩|。|路线|该|怎么|走|?

jieba.posseg(分词词性)

import jieba.posseg as psg

s = u'我想元旦开车载我女朋友去杭州西湖参观和游玩。路线该怎么走?'
#获取词性
print('分词结果:')
print([(x.word,x.flag) for x in psg.cut(s)])

得到结果:

[('我', 'r'), ('想', 'v'), ('元旦', 't'), ('开', 'v'), ('车载', 'n'), ('我', 'r'), ('女朋友', 'n'), ('去', 'v'), ('杭州', 'ns'), ('西湖', 'ns'), ('参观', 'n'), ('和', 'c'), ('游玩', 'n'), ('。', 'x'), ('路线', 'n'), ('该', 'r'), ('怎么', 'r'), ('走', 'v'), ('?', 'x')]

可以根据词性进行分析,比如获取词性为名词的词语(通过如下语句):

print([(x.word,x.flag) for x in psg.cut(s) if x.flag.startswith('n')])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值