目录

一、介绍

二、代码展示

 三、结果展示

四、总结

五、文本可视化的意义


一、介绍

                文本是语言和沟通的载体,文本的含义以及读者对文本的理解需求均纷繁复 杂。例如,对于同一个文本,不同的人的解读也是不一样的,有的人希望了解文本 中涉及到的事物,而有的人希望得到文本中的关键词。鉴于对文本信息需求的多样 性,需要从不同层级提取与呈现文本信息。一般把对文本的理解需求分成三级:词汇级(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

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bGx5pyq5a2k44GG,size_20,color_FFFFFF,t_70,g_se,x_16

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bGx5pyq5a2k44GG,size_20,color_FFFFFF,t_70,g_se,x_16

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bGx5pyq5a2k44GG,size_20,color_FFFFFF,t_70,g_se,x_16

 三、结果展示

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bGx5pyq5a2k44GG,size_20,color_FFFFFF,t_70,g_se,x_16

四、总结

具体过程分如下三部分:

1.读入 txt 文本数据

2. jieba(结巴)中文分词,生成字符串,默认精确模式,如果不通过分词,无法直接生成 正确的中文词云

3.生成词云图,需要注意的是 WordCloud 默认不支持中文,所以这里需已下载好 的中文字库

五、文本可视化的意义

文本可视化的作用有以下四点: 简单来说就是让你更加直观迅速的获取、分析信息(所有可视化的作用都是这个)。 举个例子,针对一篇文章,文本可视化能更快的告诉我们文章在讲什么;针对社交网络上的发言,文本可视化可以帮我们信息归类,情感分析;针对一个大新闻,文本可视化可以帮我们捋顺事情发展的脉络、每个人物的关系等等;针对一系列的文档,我们可以通过文本可视化来找到它们之间的联系等等。 一般来说,情报分析人员、网络内容分析人员、情感分析或文学研究者等相关职业更需要文本可视化。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐