1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【实践】如何用python绘制词云图(文本数据可视化)?

【实践】如何用python绘制词云图(文本数据可视化)?

时间:2018-10-10 13:37:27

相关推荐

【实践】如何用python绘制词云图(文本数据可视化)?

目录

一、介绍

二、代码展示

三、结果展示

四、总结

五、文本可视化的意义

一、介绍

文本是语言和沟通的载体,文本的含义以及读者对文本的理解需求均纷繁复 杂。例如,对于同一个文本,不同的人的解读也是不一样的,有的人希望了解文本 中涉及到的事物,而有的人希望得到文本中的关键词。鉴于对文本信息需求的多样 性,需要从不同层级提取与呈现文本信息。一般把对文本的理解需求分成三级:词汇级(Lexical Level)、语法级(Syntactic Level)和语义级(Semantic Level)。 不同级的信息挖掘方法也不同,词汇级当然是用各类分词算法,语法级用一些句法 分析算法,语义级用主题抽取算法。文本文档的类别多种多样,包括单文本、文档 集合和时序文本数据三大类,这使得文本信息的需求更为丰富。本博客介绍如何利用Python工具对文本数据进行可视化,也就是我们生活中经常看到的词云图。

二、代码展示

# 导入相应的库import jiebafrom wordcloud import WordCloudimport matplotlib.pyplot as pltimport PILimport 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 文本数据

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

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

五、文本可视化的意义

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。