【实践】如何用python绘制词云图(文本数据可视化)?
目录
一、介绍
二、代码展示
三、结果展示
四、总结
五、文本可视化的意义
一、介绍
载体作用上体现了语言与沟通的基本功能。由于读者对文本内容的理解需求错综复杂多变,在实际应用中往往需要从不同层面进行解读与分析。具体而言,在面对同一份文本时不同读者的关注点存在显著差异:有的读者关注具体内容要素如实体名称等细节问题而有的则侧重关键词提取等核心要素。基于这种多样性需求通常需要建立多层次的信息提取体系:具体可分为词汇级(Lexical Level)、语法级(Syntactic Level)和语义级(Semantic Level)三个层级。其中词汇级主要采用多种分词技术手段语法级则借助一系列句法解析方法实现而语义级则依赖于主题建模等高级算法支持。文本文档的形式千差万别涵盖单篇文档集合以及时间序列数据等多种类型从而使得信息检索与处理的需求呈现出多样化特征。本文将介绍如何运用Python编程工具构建高效的词云展示系统
二、代码展示
# 导入相应的库
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import PIL
import numpy as np
# 导入文本数据并进行简单的文本处理
# 去掉换行符和空格以及标点符号
text = open("虎年贺词.txt",encoding='utf8').read()
text = text.replace('\n',"").replace(",","").replace("。","").replace("、","").replace(";","").replace("!","").replace(":","")
# 分词,返回结果为词的列表
text_cut = jieba.lcut(text)
#停用词库
stop_words = open("Stop Words.txt",encoding="utf8").read().split("\n")
# 将分好的词用某个符号分割开连成字符串
text_cut = ' '.join(text_cut)
#print(text_cut)
#词云形状
image1 = PIL.Image.open('background.png')
MASK = np.array(image1)
#绘制词云
word_cloud = WordCloud(font_path="simsun.ttc",
background_color="white",
mask=MASK, # 指定词云的形状
stopwords=stop_words
)
word_cloud.generate(text_cut)
# 运用matplotlib展现结果
plt.subplots(figsize=(12,8))
plt.imshow(word_cloud)
plt.axis("off")
plt.show()
相关文件:
1、虎年贺词.txt

2、Stop Words.txt,该文件能帮助我们过滤掉“啊”、“呀”之类不需要提取出来的词

3、background.png,背景参数可有可无,有背景看起来美观一些

三、结果展示

四、总结
具体过程分如下三部分:
1.读入 txt 文本数据
采用结巴(jieba)进行中文分词,并生成相应的字符串内容,默认启用精确模式。若未完成分词操作,则无法直接生成准确的中文词云图。
3. 制作词云图时,请注意WordCloud库默认无法直接处理中文数据,默认情况下无法生成中文主题的词云图,默认情况下不能处理包含中文文本的数据集。因此建议在项目开始阶段就完成这一步骤以确保数据处理的准确性。
五、文本可视化的意义
其核心在于帮助你更直观地获取和分析信息(这一特点适用于所有数据可视化的功能)。例如,在阅读一篇普通的文章时, 文本可视化的功能可以帮助您快速了解文章的主要内容; 在面对社交媒体上的言论时, 它可以帮助您对这些言论进行分类整理; 在处理重大新闻事件时, 它可以帮助您理清事件发展的时间线以及人物之间的关系; 在整理一系列文档时, 它可以帮助揭示这些文档间的内在联系。通常情况下,在情报分析、网络内容管理以及情感与文化研究等领域工作的专业人士会大量使用这种工具。
