jieba库

一、jieba 库简介

jieba库是由中国开发者 fxsjy 开发的一款优秀的中文分词工具,它基于 Python 语言实现,具有以下特点:

高效快速:采用基于前缀词典的分词方法,结合动态规划查找最大概率路径,分词速度快,能满足大规模文本处理需求。

准确率高:支持多种分词模式,在不同场景下都能保持较高的分词准确率。

易用性强:API 设计简洁直观,上手难度低,即使是 NLP 新手也能快速掌握。

扩展性好:支持用户自定义词典,方便处理专业领域词汇;还支持繁体分词、词性标注等功能。

正是这些优点,让 jieba 库成为了中文 NLP 领域的 “瑞士军刀”,被广泛应用于文本挖掘、情感分析、信息检索等诸多场景。

二、jieba 库的安装与基本使用

1.安装

安装 jieba 库非常简单,使用 pip 命令即可:

pip install jieba

如果需要安装指定版本,可以加上版本号:

pip install jieba==0.42.1

2. 基本分词功能

jieba 库提供了三种基本的分词模式,满足不同的需求:

精确模式:试图将句子最精确地切开,适合文本分析。

全模式:把句子中所有可以成词的词语都扫描出来,速度快,但不能解决歧义。

搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

示例:

import jieba
text = "我来到北京清华大学"
# 精确模式
cut_result = jieba.cut(text, cut_all=False)
print("精确模式:", "/ ".join(cut_result))  # 输出:我/ 来到/ 北京/ 清华大学
# 全模式
cut_result = jieba.cut(text, cut_all=True)
print("全模式:", "/ ".join(cut_result))  # 输出:我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
# 搜索引擎模式
cut_result = jieba.cut_for_search(text)
print("搜索引擎模式:", "/ ".join(cut_result))  # 输出:我/ 来到/ 北京/ 清华/ 华大/ 大学/ 清华大学

jieba.cut() 方法返回的是一个可迭代的生成器,通过 join() 方法可以将其转换为字符串。如果需要直接得到列表,可以使用 jieba.lcut() 系列方法,它们返回的是列表类型: 

result = jieba.lcut(text, cut_all=False)
print(result)  # 输出:['我', '来到', '北京', '清华大学']

三、自定义词典

1.jieba中的字典

jieba 库内置了一个很大的词典,但在处理特定领域的文本时,可能会遇到一些专业术语或新词无法正确分词的情况。这时,我们可以通过自定义词典来提高分词的准确性。

自定义词典的格式为:每个词占一行,每行分三部分,分别为词语、词频(可省略)、词性(可省略),用空格隔开。例如:

云计算 5 n
李小福 2 nr
创新办 3 i

 然后使用 jieba.load_userdict() 方法加载自定义词典:

jieba.load_userdict("user_dict.txt")  # 加载自定义词典
text = "李小福在创新办负责云计算相关工作"
cut_result = jieba.cut(text)
print("/ ".join(cut_result))  # 输出:李小福/ 在/ 创新办/ 负责/ 云计算/ 相关/ 工作

 

2. 动态调整词典

除了加载自定义词典,jieba 还提供了动态添加或删除词语的方法:

jieba.add_word(word, freq=None, tag=None):向词典中添加词语。

jieba.del_word(word):从词典中删除词语。

jieba.suggest_freq(segment, tune=True):调整词语的词频,使其能(或不能)被分出来。

示例:

text = "台中"
print("默认分词:", "/ ".join(jieba.cut(text)))  # 输出:台/ 中
# 调整词频,使"台中"作为一个词
jieba.suggest_freq(("台", "中"), tune=False)
print("调整后分词:", "/ ".join(jieba.cut(text)))  # 输出:台中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值