Python 中文分词及词频统计
1. 前言
中文分词是对连续的中文文本进行切分成词语的过程,是自然语言处理中的重要环节。Python 提供了许多中文分词的库,如 jieba、thulac 等。本文将先介绍常用的几个中文分词库,然后通过示例演示如何使用这些库进行中文分词以及如何进行词频统计。
2. 中文分词库介绍
2.1 jieba
jieba 是 Python 中最常用的中文分词库,它具有简单易用、高性能等特点,并且支持三种分词模式:精确模式、全模式和搜索引擎模式。
安装 jieba 库的命令如下:
pip install jieba
下面是使用 jieba 进行中文分词的示例代码:
import jieba
sentence = "我爱自然语言处理"
seg_list = jieba.cut(sentence, cut_all=False)
print("精确模式:", "/".join(seg_list))
seg_list = jieba.cut(sentence, cut_all=True)
print("全模式:", "/".join(seg_list))
seg_list = jieba.cut_for_search(sentence)
print("搜索引擎模式:", "/".join(seg_list))
输出结果如下:
精确模式: 我/爱/自然语言/处理
全模式: 我/爱/自然/自然语言/语言/处理
搜索引擎模式: 我/爱/自然/语言/自然语言/处理
2.2 thulac
thulac 是一个高效准确的中文词法分析工具包,它在广告、搜索、短信、新闻等领域都有大量应用。thulac 的特点是分词准确度高、分词速度快。
安装 thulac 库的命令如下:
pip install thulac
下面是使用 thulac 进行中文分词的示例代码:
import thulac
thu = thulac.thulac()
sentence = "我爱自然语言处理"
seg_list = thu.cut(sentence, text=True).split()
print("分词结果:", "/".join(seg_list))
输出结果如下:
分词结果: 我/爱/自然/语言/处理
2.3 pkuseg
pkuseg 是一个中文分词工具包,它基于深度学习模型,可以实现高准确率和高速度的中文分词。
安装 pkuseg 库的命令如下:
pip install pkuseg
下面是使用 pkuseg 进行中文分词的示例代码:
import pkuseg
seg = pkuseg.pkuseg()
sentence = "我爱自然语言处理"
seg_list = seg.cut(sentence)
print("分词结果:", "/".join(seg_list))
输出结果如下:
分词结果: 我/爱/自然/语言/处理
3. 词频统计
分词完成后,我们可以对分词结果进行词频统计,以了解文章中每个词语出现的频率。Python 提供了 collections.Counter 类来实现简单的词频统计。
下面是一个使用 collections.Counter 进行词频统计的示例代码:
from collections import Counter
# 分词结果
seg_list = ["我", "爱", "自然", "语言", "处理", "我", "喜欢", "Python"]
# 词频统计
word_count = Counter(seg_list)
# 打印词频
for word, count in word_count.items():
print(word, ":", count)
输出结果如下:
我 : 2
爱 : 1
自然 : 1
语言 : 1
处理 : 1
喜欢 : 1
Python : 1
4. 结语
本文介绍了常用的几个 Python 中文分词库,并演示了如何使用这些库进行中文分词以及如何进行词频统计。