python中处理中文分词常用jieba库,1.安装使用pip install jieba并调用jieba.cut()进行精确或全模式分词;2.通过jieba.load_userdict()加载自定义词典提升准确性;3.分词后可转列表、过滤停用词优化结果;4.支持关键词提取和词性标注功能,分别用jieba.analyse.extract_tags()和jieba.posseg模块实现。

处理中文分词在Python中其实挺常见的,尤其是用jieba这个库。它简单好上手,功能也够用,不管是做文本分析、自然语言处理,还是写个小项目都挺合适。

首先得安装jieba,命令很简单:

装好了就可以用了。最基础的用法就是调用jieba.cut()函数来对一段中文文本进行分词。比如:
立即学习“Python免费学习笔记(深入)”;
import jieba
text = "我爱自然语言处理技术"
seg_list = jieba.cut(text, cut_all=False)
print("精确模式:", "/".join(seg_list))输出大概是这样的:

精确模式: 我/爱/自然语言/处理/技术
这里有个参数cut_all=False,意思是采用“精确模式”,也就是默认推荐的方式。如果你改成True,那就会是全模式,把所有可能的词语都切出来。
jieba自带的词典已经不错了,但如果你有一些特定领域的词汇,比如行业术语、人名、品牌名等,它的默认分词可能就不够准了。这时候你可以自己加词典。
添加自定义词的方法也很简单,准备一个txt文件,每行一个词,格式可以带词频和词性(可选),然后加载进去就行:
jieba.load_userdict("my_dict.txt")比如你的my_dict.txt里有:
自然语言处理 50 nlp 深度学习 45 ai
这样jieba就知道这些词是一个整体,不会被拆成“自然/语言/处理”这种错误分法了。
分完词之后,一般我们会把这些词转成列表或者保存成某种结构,方便后续处理,比如统计词频、做词云、文本分类等等。
常见做法:
list(jieba.cut(...))
停用词这块可以准备一个停用词表,读进来过滤一下:
with open("stopwords.txt", "r", encoding="utf-8") as f:
stopwords = set([line.strip() for line in f])
filtered_words = [word for word in seg_list if word not in stopwords]这样能有效提高后续分析的准确性和效率。
除了基本分词,jieba还支持关键词提取和词性标注,这两个功能在做内容分析时特别有用。
关键词提取可以用jieba.analyse.extract_tags():
from jieba import analyse
keywords = analyse.extract_tags(text, topK=5)
print("关键词:", keywords)词性标注的话,需要引入jieba.posseg模块:
import jieba.posseg as pseg
words = pseg.cut("我喜欢Python编程")
for word, flag in words:
print(f"{word}({flag})", end="/")输出类似:
我(r)/喜欢(v)/Python(nz)/编程(n)/
这样你就能知道每个词是什么类型的词了,对理解句子结构很有帮助。
基本上就这些了。jieba虽然看起来简单,但用好了也能解决很多实际问题。关键是根据自己的需求去调整词典和分词方式,别一股脑全按默认来。
以上就是Python怎样处理中文分词?jieba库实战教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号