微博内容分词后怎样用Jupyter Notebook画词云图

2021-5-31 11:37| 发布者: Fuller| 查看: 6051| 评论: 5

摘要: 词云图是文本数据的一种可视化展现方式,它一般是由文本数据中提取的词汇组成某些彩色图形。词云图的核心价值在于以高频关键词的可视化表达来传达大量文本数据背后的有价值的信息 ...

1,项目说明

1.1,数据分析师可以驾驭的数据处理模板

词云图是文本数据的一种可视化展现方式,它一般是由文本数据中提取的词汇组成某些彩色图形。词云图的核心价值在于以高频关键词的可视化表达来传达大量文本数据背后的有价值的信息。

虽然GooSeeker分词和文本分析软件可以生成多种词云图,并且可以把生成的图片保存到本地。但是,GooSeeker分词软件能生成的词云图只有几个可选的形状,文字色彩等效果也是不能调整的。另外,很多时候我们在Jupyter Notebook中进行交互式数据处理和数据分析,分析过程和结果展示往往是一个整体,那么需要在Notebook中生成词云图, 以直观的了解内容的词频分布,并用文字进行分析说明。而GooSeeker分词和文本分析软件只提供数据源。

然而Python毕竟是一个全功能的编程语言,对于非编程出身的数据分析师来说,Pandas,Numpy,Matplotlib这些词让人望而生畏。本系列Notebook将设法解决这个问题,让非编程出身的数据分析师能够忽略复杂的编程过程,专注于数据处理和统计分析部分,就像使用Excel的公式一样驾驭Python。

所以,我们将尝试发布一系列Jupyter Notebook,像文档模板,一些基本的程序环境设置、文件操作等固化下来,在设定的分析场景下不需要改动程序代码。而数据处理部分的代码可以根据需要截取选用。每一项功能用一个code cell存代码,不需要的处理功能可以删除。

1.2,本模板适应的场景

本模板根据GooSeeker分词和文本分析软件生成的词频统计表,对数据进行基本处理后,生成词云图。

1.3,使用方法

基本操作顺序是:

  1. GooSeeker分词和文本分析软件上进行任务创建并导入包含原始内容的excel,并导出词频统计表
  2. 将导出的词频统计表放在本notebook的data/raw文件夹中
  3. 从头到尾执行本notebook的单元

注意:每个notebook项目目录都预先规划好了,具体参看Jupyter Notebook项目目录规划参考。如果要做多个分析项目,把整个模板目录专门拷贝一份给每个分析项目。

1.4,简要技术说明

在每个功能项单元,如果不需要关心的编程细节,将注明【编程细节】。

本notebook主要实现以下几个步骤:

  1. 读取data/raw文件夹中的从分词工具导出的词频统计表
  2. 对词频统计数据进行基本的预处理
  3. 使用wordcloud生成词云
  4. 使用matplotlib画图

2,第三方库

本notebook使用了wordcloud,需要安装这个第3方库: pip install wordcloud

3,数据源

数据源是GooSeeker分词和文本分析软件生成的词频统计表。 原始数据是从微博上采集的关于“甘肃马拉松事故”的博文数据。供参考和实验。

常用的自然语言处理包括分词、文本分类、情感分析等等,虽然也有对用的Python程序库直接调用,为了降低项目执行的复杂度,直接使用GooSeeker分词和文本分析软件。将要分析的微博内容以Excel格式导入该软件,几分钟后就能得到词频词性表和分词效果表。如果还做了关键词筛选,还可以生成共词矩阵和社交关系图。另外情感分析也可自动执行,也可以配置自己的情感词库和文本分类关键词。下图展示了可导出的分析结果表。本文使用Python对词频表进行统计分析和画图。

4,修改历史

2021-05-31:第一版发布

5,版权说明

本notebook是GooSeeker大数据分析团队开发的,所分析的源数据是GooSeeker分词和文本分析软件生成的,本notebook中的数据和代码可自由共享使用,包括转发、复制、修改、用于其他项目中。

6,准备程序环境

导入必要的Python程序包,设定要分析的文件名变量。使用以下变量对应GooSeeker分词结果表:

file_word_freq:词频表

pic_background: 背景图

【编程细节】本节下面的代码将对上述词频表名变量赋值

7,读取词频统计表

以下的演示以GooSeeker分词和文本分析软件生成的词频统计excel表为例,需要把词频统计表放到本notebook的data/raw文件夹下

8,生成词频dict

9,读取背景图片

背景图片也存放在本notebook的data/raw文件夹下。可以替换成自己想用的其它图片

10,生成词云

11,画图

12,善于选词

上面显示的词云图看起来很花哨,但是里面含有太多没有意义的词,从而大大影响了词云图的使用价值。这是因为使用了分词后的原始词频表,NLP处理程序进行分词以后,词频表里有很多没有实际含义的“虚词”。在GooSeeker分词软件的筛选词语界面上,有多种过滤条件,比如,只看名词或者动词,会按照词频高低排序,勾选排在前面的词,使用选词结果表里面的词频,按照上述方法执行一遍程序,就能得到更有意义的词云图。具体程序代码请读者参照上面的代码自行编写。

13,下载本Jupyter Notebook文件

作为数据探索实验,本notebook放在文件:notebook\eda

点击现在notebook源代码:微博内容分词后用Python画词云图

3

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (3 人)

发表评论

最新评论

评论 Duan1234 2024-3-5 00:52
好的,非常感谢!这么晚还回复消息!
Fuller: javascript echart库是其中一个
评论 Fuller 2024-3-4 23:08
javascript echart库是其中一个
Duan1234: 请问集搜客可视化词云图用的是什么库呢?比如Jupyter Notebook利用Wordcloud库来实现词频特征的可视化 或者换一种问法:集搜客将分词筛选后得到的高频词“可视化 ...
评论 Duan1234 2024-3-4 22:55
请问集搜客可视化词云图用的是什么库呢?比如Jupyter Notebook利用Wordcloud库来实现词频特征的可视化
或者换一种问法:集搜客将分词筛选后得到的高频词“可视化”这个过程中采用了什么方法呢?谢谢
评论 Fuller 2021-5-31 11:57
发誓学好内容分析: 这个Jupyter notebook文件,包括这个文章说的目录结构,能发给我吗?
我已经发出来了,在第13章
评论 发誓学好内容分析 2021-5-31 11:52
这个Jupyter notebook文件,包括这个文章说的目录结构,能发给我吗?

查看全部评论(5)

GMT+8, 2024-11-18 16:55