词云一眼看穿神秘巨星
对神秘巨星影评制作词云
有大半个月没更新了,感谢大家一直在身边,前段时间有朋友让我帮他做个词云,第一次接触文本分析,所以把了解到的过程再总结一遍。
一
数据获取
看了阿米尔汗的神秘巨星有段时间了,想着爬取豆瓣上的评论做个词云看下大家怎么评论这部电影,因为爬取的时候电影才刚上映,所以数据不多,只当练手使用,数据分析结果不做其他参考。
爬虫教程:
爬取的结果如下所示:
二
文本处理
首先做准备工作,将评论文本用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图!然后上传到网站上就可以了。
最后的词频统计部分结果如下: