Jieba 分词简介
Jieba 是一个用于中文分词的开源库,特别适合处理中文文本。它的名字“结巴”来源于中文“结巴”(stutter),是因为该库能够将中文文本“结巴地”分割成一个个词语。Jieba 提供了多种分词模式,支持自定义词典,并且能够很好地处理中文中的歧义问题。
安装 Jieba
你可以通过 pip 安装 Jieba:
Jieba 的分词模式
Jieba 提供了三种分词模式:
- 精确模式 (default mode):
- 尽可能精确地切分词语,适合文本分析使用。
- 示例:
"我来到北京清华大学"
->["我", "来到", "北京", "清华大学"]
- 全模式:
- 把句子中所有可能的词语都扫描出来,但不能解决歧义问题,适合用于需要尽可能多地提取词语的场景。
- 示例:
"我来到北京清华大学"
->["我", "来到", "北京", "清华", "华大", "大学", "清华大学"]
- 搜索引擎模式:
- 在精确模式的基础上,对长词再次进行切分,适合用于搜索引擎构建索引时的切分。
- 示例:
"我来到北京清华大学"
->["我", "来到", "北京", "清华", "华大", "大学", "清华大学"]
基本使用
精确模式
输出:
全模式
输出:
搜索引擎模式
输出:
自定义词典
Jieba 允许用户添加自己的自定义词典,适应特定领域的分词需求。
添加自定义词典
你可以创建一个文本文件(如user_dict.txt
),内容格式为:
-
清华大学
和北京大学
是词语 -
3
是词频(可选) -
nr
是词性标签(可选)
然后在代码中加载这个词典:
如果没有词频和词性,Jieba 会自动计算并处理。
动态添加词语
你可以在运行时动态添加新词:
删除词语
你也可以在运行时删除词语:
关键词提取
Jieba 还提供了基于 TF-IDF 和 TextRank 算法的关键词提取功能。
使用 TF-IDF 提取关键词
使用 TextRank 提取关键词
词性标注
Jieba 支持对分词结果进行词性标注:
输出:
并行分词
Jieba 还支持并行分词,加快大文本的处理速度:
并行分词的性能取决于文本长度和CPU核心数量。通常,对于短文本,并行分词可能不如单线程模式。
总结
Jieba 是一个功能强大的中文分词库,支持多种分词模式、关键词提取、词性标注以及自定义词典。它能够处理各种中文分词需求,尤其适合自然语言处理任务中的文本预处理阶段。通过Jieba,你可以灵活地处理中文文本,实现高效、准确的分词。