阳光,大海,诗歌,樱花,明天。。。这是什么?灵魂,时光。。。这又是什么? 黄金周闲来无聊,对自己写的诗歌(五千多字),用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. 你有哪些感兴趣的分析需求呢,欢迎留言交流。
领取专属 10元无门槛券
私享最新 技术干货