jieba分词器-学习笔记

jieba分词器

jieba 是一个常用的 Python 中文分词库,主要用于把连续的中文文本切分成词语。它简单易用,支持多种分词模式、自定义词典、词性标注和关键词提取。

jieba演示版本:0.42.1

三种分词模式

精确模式

精确模式:默认模式,适合文本分析,只保留最合理的切分结果。

py 复制代码
context = "我来到北京清华大学上学"
result1 = jieba.cut(context, cut_all=False)
print(result1)
# 结果是迭代器:
# <generator object Tokenizer.cut at 0x00000260C61005C0>


print([x for x in result1]) # 效果同下
result2 =jieba.lcut(context, cut_all=False)
print(result2)
# ['我', '来到', '北京', '清华大学', '上学']

全模式

全模式:把所有可能成词的都切出来,适合快速召回,会有冗余。

py 复制代码
context = "我来到北京清华大学上学"
result1 = jieba.lcut(context, cut_all=True)
print(result1)
# ['我', '来到', '北京', '清华', '清华大学', '华大', '大学', '学上', '上学']

搜索引擎模式

搜索引擎模式:在精确模式基础上,对长词再切分,适合搜索索引

py 复制代码
context = "我来到北京清华大学上学"
result1 = jieba.lcut_for_search(context)
print(result1)
# ['我', '来到', '北京', '清华', '华大', '大学', '清华大学', '上学']

词典与自定义分词

jieba 的分词结果高度依赖词典。默认词典决定大部分切分,自定义词典用来补充新词、专有名词、领域术语,并调整词频来解决歧义。

1. jieba 词典基础

默认词典

jieba 自带一个默认词典 dict.txt,里面包含:

1.词语

2.词频:影响动态规划选择最大概率路径。

3.词性:供 jieba.posseg 词性标注使用。

词典如何影响分词

jieba 精确模式会构建 DAG,然后根据词频找最大概率路径。

如果某个词不在词典里,或者词频太低,就可能被切碎。

2. 用户自定义词典

词典文件格式

每行一个词,支持三种写法:

复制代码
词语
词语 词频
词语 词频 词性

说明:

词频可省略,省略时使用自动计算值。

词性可省略。

文件编码建议使用 UTF-8。

词频不是越大越好,过高可能导致过度合并。

加载用户词典

也可以多次调用:加载多个词典

py 复制代码
jieba.load_userdict("dict1.txt")
jieba.load_userdict("dict2.txt")

设置主词典

注意:这会替换默认词典,可能导致很多常用词丢失,一般不推荐。

py 复制代码
jieba.set_dictionary("my_dict.txt")

3. 动态修改词典

参数:

word:词语

freq:词频,可选

tag:词性,可选

1. 添加词

除了加载文件,也可以在代码中动态增删词。

py 复制代码
jieba.add_word("云计算", freq=100, tag="n")

2. 删除词

py 复制代码
jieba.del_word('云计算')

3. 调整词频

用于调节词频,使某个词能或不能被切出来

1. suggest_freq 方法参数说明:

segment:这是你想要调整的目标。

如果想合并成一个词,就传入一个字符串,比如 "台中"。

如果想拆分一个词,就传入一个元组,把你想拆成的部分放进去,比如 ("中", "将")

tune这是一个布尔值,默认为 False。

当 tune=True 时,函数会实际修改词典中的词频,让调整立即生效。

如果为 False(默认),它只返回计算出的建议词频,但不会真正修改词典。

2. lcut 方法参数说明:

HMM:

True(默认):开启新词发现

False:关闭新词发现。分词将完全依赖词典。

py 复制代码
jieba.suggest_freq('西方大道',tune=True)
jieba.suggest_freq(('大','学'),tune=True)

l = jieba.lcut('小明上大学了,小红去西方大道了', HMM=False)
print(l)
# ['小', '明', '上', '大', '学', '了', ',', '小', '红', '去', '西方大道', '了']
相关推荐
醉颜凉6 天前
RedisSearch 全文检索:中文分词、索引构建与搜索结果排序
全文检索·中文分词·索引构建·搜索排序·redissearch
HwJack209 天前
HarmonyOS开发全文检索 FTS 小实战:中文分词与聊天记录搜索
全文检索·中文分词·harmonyos
2601_9620996810 天前
Python环境下中文分词实现与应用探索
python·自然语言处理·中文分词·jieba·开源社区
诗词在线20 天前
《江东文学发展史》,东吴文风,和中原文坛有什么不同
中文分词
@LiX1 个月前
NLP问题--中文分词
自然语言处理·中文分词
m沐沐2 个月前
【自然语言处理】词向量转换与中文文本情感分类——从CountVectorizer到朴素贝叶斯
人工智能·算法·机器学习·自然语言处理·分类·中文分词·词向量转换
knighthood20013 个月前
鸿蒙PC迁移:jieba 中文分词 Python 三方库鸿蒙PC适配全记录
python·中文分词·harmonyos
2601_961845423 个月前
考研公共课资料推荐|英语数学政治|电子版|资料已整理
搜索引擎·中文分词·solr·lucene·sphinx·高考
2601_961845423 个月前
高考真题下载|2025高考全科真题网盘分类整理
搜索引擎·中文分词·solr·lucene·sphinx·高考