词云(标签云)是一种常用的基于词频的文本可视化方式,可以通过多种方式完成制作。可以选择在线词云生成工具,如 微词云、WordArt 等,也可以使用程序设计语言( Python 等)进行编写,可以用作制作词云的 Python 库包括 wordcloud、pytagcloud 、pyecharts 等。
词云的概念
“词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)提出。戈登做过编辑、记者,曾担任迈阿密先驱报(Miami Herald)新媒体版的主任。他一直很关注网络内容发布的最新形式——即那些只有互联网可以采用而报纸、广播、电视等其它媒体都望尘莫及的传播方式。通常,这些最新的、最适合网络的传播方式,也是最好的传播方式。 因此,“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。
百度百科:https://baike.baidu.com/item/%E8%AF%8D%E4%BA%91
在线生成工具
在线生成工具有很多,包括 微思词云 、 微词云(收费)、WordArt (免费、不支持中文)等,操作大同小异,基本分为导入数据,选择形状,配置颜色、字体,然后生成词云下载即可,不再赘述。
Python 词云生成库
基于 Python 常用的词云库包括 wordcloud、pytagcloud 等,能够批量化的生成词云,根据需要选择 wordcloud 或 pytagcloud 安装即可,在 Anaconda Prompt 使用 pip 即可,输入命令 “pip install pytagcloud” 、 “ pip install wordcloud” 或 “pip install pyechats” 安装相应的 Python 库即可。本文选用 pyecharts 做示范。pyecharts 是一个用于生成 Echarts 图表的类库,Echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyecharts 是一个用于生成 Echarts 图表的类库。是 Echarts 与 Python 的对接。
安装好后,打开 Jupyter Notebook 开始词云的制作。
1 2 3 4 5 6 7 8 9 10 |
from pyecharts.charts import WordCloud data = [("Sam S Club", 10000),("Macys", 6181),("Amy Schumer", 4386),("Jurassic World", 4055),("Charter Communications", 2467), ("Chick Fil A", 2244),("Planet Fitness", 1868),("Pitch Perfect", 1484),("Express", 1112),("Home", 865),("Johnny Depp", 847), ("Lena Dunham", 582),("Lewis Hamilton", 555),("KXAN", 550),("Mary Ellen Mark", 462),("Farrah Abraham", 366),("Rita Ora", 360), ("Serena Williams", 282),("NCAA baseball tournament", 273),("Point Break", 265)] wordcloud = WordCloud() wordcloud.add('',data,word_size_range=[20,100]) wordcloud.render_notebook() |
Jupyter 中输入上述代码,data 用中的每个元组表示相应的单词和权重,运行即可得到相应的词云图,data 中的数据可以通过 jieba 中文分词库对中文进行分词,然后统计词频,得到任意文本的词云图。
网上有很多使用 Python 生成词云的教程,有兴趣的同学可以尝试使用另外两个词云生成库制作词云!
参考资料
[2] 利用jieba分词,构建词云图
原创文章,作者:麒麟,如若转载,请注明出处:https://zhouqilin.tech/77.html