用Python生成词云

阳光,大海,诗歌,樱花,明天。。。这是什么?灵魂,时光。。。这又是什么? 黄金周闲来无聊,对自己写的诗歌(五千多字),用Python做了个词云分析,原来诗中常出现的是以上词语,还好,比较正能量。

让我们先了解一下什么是词云。

“词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于近日提出。“词云”就是对文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

那么Python如何实现词云呢?

1. 安装jieba和WordCloud库

Anaconda自身是不带这些库的,需要自己安装,两步即可完成:

1). 开始-所有程序-Anaconda Prompt打开cmd对话框,

2). 用pip install命令安装jieba和WordCloud

2. Python代码

import matplotlib.pyplot as plt

from wordcloud import WordCloud

import jieba

f = open("poem.txt","rb")

text = f.read()

f.close()

mytext = jieba.cut(text,cut_all=False)#结巴分词,采用精准模式,true为全模式

poem = " /".join(mytext)

#设置词云

wc = WordCloud(background_color = "black",#设置背景颜色

max_words = 1000,#设置最大显示的字数

font_path = "simsun.ttc",#设置中文字体,词云默认字体是“DroidSansMono.ttf字体库”,不支持中文

max_font_size = 50,#设置字体最大值

random_state = 30,#设置有多少种随机生成状态,即有多少种配色方案

)

mycloud= wc.generate(poem)#生成词云

#展示词云图

plt.imshow(mycloud)

plt.axis("off")

plt.show()

是不是很容易?可以调整背景颜色,最大显示字数,字体最大值等来产生不同的视觉冲击。词云图重点突出,一目了然的特性,为文本类型的数据分析,提供一种新的思路和方法,它一定会为你的工作助一臂之力,比如:

1.一项调研任务,收集到针对多个问题的多份文字反馈,如何对文字进行高效的统计分析?每个问题的反馈中是否包含共性的问题?如何给汇总一份客观真实的报告,并对频率高的关键词一目了然。

2. 新项目的benchmark,口碑网的客户评价,文本类的这些大数据,都可以形成非常有价值的信息,从而指导公司的新项目的定位

3. 客户抱怨的质量数据,高词频的问题一定是共性问题

4. Weekly CEO note, 可以通过CEO的每周用的高频词语,更清晰的了解公司的战略,发展目标等.

5. 你有哪些感兴趣的分析需求呢,欢迎留言交流。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181003G19VQW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券