一、中文分词(Chinese Word Segmentation)
1. 基本概念
中文分词是将连续的汉字序列切分成具有语义意义的词语的过程。例如:
-
输入:
"自然语言处理很有趣"
-
输出:
["自然语言", "处理", "很", "有趣"]
为什么需要分词?
-
中文没有像英文那样的空格分隔单词。
-
分词是中文自然语言处理(NLP)的基础任务,直接影响后续的文本分析(如情感分析、机器翻译等)。
2. 分词的难点
-
歧义问题:同一个句子可能有多种分词方式。
例:"南京市长江大桥"
→"南京市/长江大桥"
或"南京/市长/江大桥"
(错误切分)。 -
未登录词识别:如新词、人名、地名、网络用语等。
-
重叠词处理:例如
"乒乓球拍卖完了"
→"乒乓球/拍卖/完了"
或"乒乓/球拍/卖完了"
。
3. 分词方法
-
基于规则的分词:使用词典和规则(如最大匹配法、最短路径法)。
-
基于统计的分词:利用机器学习模型(如隐马尔可夫模型、条件随机场)。
-
混合方法:结合规则与统计模型(如深度学习模型:BERT、BiLSTM)。
4. 常用工具
-
Jieba(结巴分词):Python 中最流行的中文分词库,支持精确模式、全模式和搜索引擎模式。
-
HanLP:功能更全面的自然语言处理工具包,支持多语言。
-
SnowNLP:适用于中文文本处理的库,包含分词、情感分析等功能。
二、词云可视化(Word Cloud)
1. 基本概念
词云是一种通过视觉化展示文本中高频词汇的图表,词语的大小与其出现频率成正比。常用于:
-
快速理解文本主题
-
发现关键词
-
数据报告或演示中的可视化工具
2. 生成词云的步骤
-
文本预处理:清洗数据(去停用词、标点符号、数字等)。
-
分词(中文特有):将文本切分为词语。
-
统计词频:计算每个词语的出现次数。
-
可视化设计:根据词频生成词云图(颜色、形状、字体可自定义)。
3. 核心要素
-
词频统计:高频词更大、更显眼。
-
停用词过滤:去除无意义词汇(如“的”、“是”)。
-
自定义形状:词云可以填充到特定形状(如地图、动物轮廓)。
4. 常用工具
-
Python 的 WordCloud 库:灵活且功能强大,支持自定义形状。
-
其他编程语言:R 语言的
wordcloud2
包、JavaScript 的D3.js
。
三、两者的结合
中文分词是生成高质量词云的前提。具体流程:
-
输入一段中文文本。
-
使用分词工具(如 Jieba)切分词语。
-
过滤停用词并统计词频。
-
将词频数据输入词云工具生成可视化结果。