河南南阳收割机被堵事件:官员缺德,祸患无穷

极目新闻领导公开“记者毕节采访被打”细节:他们打人后擦去指纹

突发!员工跳楼!只拿低保工资!央企设计院集体罢工!

退休后的温家宝

突发!北京某院集体罢工!

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

词云一眼看穿神秘巨星

糖甜甜甜 DataGo数据狗 2022-07-01

对神秘巨星影评制作词云


有大半个月没更新了,感谢大家一直在身边,前段时间有朋友让我帮他做个词云,第一次接触文本分析,所以把了解到的过程再总结一遍。

数据获取

看了阿米尔汗的神秘巨星有段时间了,想着爬取豆瓣上的评论做个词云看下大家怎么评论这部电影,因为爬取的时候电影才刚上映,所以数据不多,只当练手使用,数据分析结果不做其他参考。

爬虫教程:

Python爬虫从入门到出门(一)

Python爬虫从入门到出门(二)

Python爬虫从入门到出门(三)

Python爬虫从入门到出门(四)

爬取的结果如下所示:


文本处理

首先做准备工作,将评论文本用jieba库进行分词,jieba支持三种分词模式 :

1 精确模式,试图将句子最精确地切开,适合文本分析; 
2 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 
3 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

这里采用精确模式分词,代码如下: 

import jieba
import pandas as pd data = pd.read_excel("..\神秘巨星影评.xlsx")
# read_excel需要先安装xlrd第三方库
seg_list = jieba.cut("".join(data["评论内容"]), cut_all=False, HMM=True)

分词完成后,可以输出打印看看结果,会发现有些很奇怪的emoji符号,还有些常用词对分析无用,例如:的、地、得。所以这里还需要去掉停用词。当然,想要进一步做更精确的分析,需要自己设计语料库。停用词的语料库我是在网上下载的,后台回复语料库即可获取,代码如下:

stopwords = []
for word in open("..\中文停用词库.txt", 'r'):   stopwords.append(word.strip()) stayed_line = []
for word in seg_list:  
   if word not in stopwords:       stayed_line.append(word)

最后将结果保存成txt文件:

file = open('data.txt', 'w', encoding='utf-8')
for word in stayed_line:   file.write(word)   file.write("\t") file.close()


词云制作

词云制作可以用Python完成,但是这里介绍个只需要几分钟完成的方法:

在线的图云制作工具很多,这里介绍不用翻墙就可以实现的工具,图悦http://www.picdata.cn/indexb.php

先将上面得到的txt文件的词复制到图悦里面左边的框内,然后分析出图就行了。

如果想要定制化背景图,设计一个要求的476*376像素的PNG图!然后上传到网站上就可以了。

最后的词频统计部分结果如下:


文章有问题?点此查看未经处理的缓存