python词云之习近平和特朗普演说稿

1. 前言

在学习了python词云后,想着要自己实践做一下,苦恼一直没有好的题,
《用Python玩转数据》(南京大学)
中列举了很多有趣的题(有各种类型的,不止是词云),列表如下

  • 美国大选数据分析(数据操作)
  • 产品评论挖掘(词频和词云)
  • 总统就职演说稿分析(词频和词云)
  • A股股票分析(数据操作)
  • 书评、音乐和电影数据爬取与分析(爬虫)
  • Google学术文献爬取器(爬虫)
  • 地区空气污染数据分析(数据操作)
  • 微博舆情控制(词频和词云)
  • 航空公司客户价挖掘
  • 新闻标题分析(词频和词云)
  • 百度贴吧表情分析
  • 英文文献难度分析
  • 就职网站职业需求统计(词频和词云)
  • 比赛数据分析球队风格
  • 知乎热门话题讨论(词频和词云)
  • B站弹幕数据分析(词频和词云)
  • 房价数据挖掘(数据操作)

没有打括号的说明我还不清楚用哪方面知识。。。
总之如果大家有兴趣都可以去试试。

本文主题为 习近平和特朗普演说稿的词云分析

2.准备工作和应用的知识点以及资源链接

  • 目的在于分别对习近平和特朗普的演说稿进行词云分析,从而把握两人的演讲风格
  • 需要分别写两篇代码制作词云
  • 需要两人的演说稿,为了方便比较,本文采用特朗普的中译版本演说稿
  • 需要导入wordcloud库
  • 因为是中文需要进行分词所以需要导入jieba库
  • 后期美化阶段用到了两人的照片作为词云形状,所以需要两人照片,并预先处理为白色背景
  • 使用照片作为形状需要导入scipy.misc的imread

使用的资源及链接
1. 习近平演说稿 习近平:再接再厉,继续为实现中国梦奋斗(实录) 复制演讲稿部分,保存为txt格式
2. 特朗普演说稿 特朗普就任美国第45任总统 发表就职演说(全文) 复制中文部分(观察者网中译版本)保存为txt格式
3. 习近平照片
4. 特朗普照片

3.固定长宽词云代码及效果

习近平演讲稿词云代码

import jieba #导入jieba库用于中文分词
import wordcloud #导入wordcloud库用于词云制作
f = open("president_xi.txt","r",encoding="utf-8") #以只读方式打开txt,编码为utf-8
t = f.read() #读入所有
f.close() #关闭txt
ls = jieba.lcut(t) #利用jieba进行分词
txt = " ".join(ls) #以空格连接
w = wordcloud.WordCloud(font_path = "msyh.ttf",width = 1000,height=700,background_color = "white",) #制作词云,指定字体,高度和宽度,背景颜色为白色
w.generate(txt) #使用txt制作词云
w.to_file("president_xi.png") #将制作好的词云保存为图片输出

特朗普演讲稿词云代码

import jieba
import wordcloud
f = open("president_trump.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttf",width = 1000,height=700,background_color = "white",)
w.generate(txt)
w.to_file("president_trump.png")

制作好的词云是这样的

习近平
习近平演讲稿词云
特朗普
特朗普演讲稿词云

4.照片为形状词云代码及效果

习近平演讲稿词云代码2

import jieba
import wordcloud
from scipy.misc import imread #导入imread用于设置形状
mask = imread("president_xi_image_white.png") #将处理好的白色背景照片导入
f = open("president_xi.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttf",mask = mask,width = 1000,height=700,background_color = "white",) #添加设置mask参数
w.generate(txt)
w.to_file("president_xi2.png")

特朗普演讲稿词云代码2

import jieba
import wordcloud
from scipy.misc import imread
mask = imread("president_trump_image_white.png")
f = open("president_trump.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttf",mask = mask,width = 1000,height=700,background_color = "white",)
w.generate(txt)
w.to_file("president_trump2.png")

制作好的词云是这样的

习近平
习近平演讲稿词云
特朗普
特朗普演讲稿词云

5.后记

  • 最早使用R做过一个词云,但是当时完全是照着人家的代码照做的,一行一行一样的敲下来,也没有什么目的,成就感也比较小。做完了也不知道能干什么。。。
  • 真正觉得词云有用是发现词云可以设置形状的时候,比如说蒙娜丽莎作为形状,狗啊猫啊作为形状,然后里面的词云也是跟形状有关的,一下子就觉得很形象生动了,曾经想过什么时候做一个自己的词云
  • 总结来说,词云就是一种可视化工具,它使得我们不需要去阅读大篇的文章,而只要瞄一眼就能知道文章的重心,当然还有写文章的人的风格
  • 词云的基础是词频
  • 本文的时间遇到的最大的困难一个是安装第三方库,另一个就是导入字体的时候出现了问题,经过查询资料发现win7字体后缀不是ttc而是ttf,修改后就正常了

词云分析结论
1. 两份演讲稿中最常出现的词是“我们”
2. 习近平演讲稿中次常出现的为“中国”“人民”“实现”“发展”“共同”
3. 特朗普演讲稿中次常出现的为“你们”“美国”“他们”“人民”“国家”
4. 虽然中国和美国的发展方向和政策方针都不尽相同,但从演讲稿上看风格还是很相近的,这对我们以后演讲或许有借鉴意义。

配套资源下载

猜你喜欢

转载自blog.csdn.net/weixin_41980474/article/details/80191554
今日推荐