首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

左手Python右手R—《白夜行》wordcloud

作者:胡言R语言中文社区专栏作者

知乎ID:

https://www.zhihu.com/people/hu-yan-81-25

前言

我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。你明白吗?我从来就没有太阳,所以不怕失去。”

每每读完一本东野圭吾的书,我都要感慨一次:《白夜行》真是太好看了!

本文利用R和python分别对该书做分词并画词云,为今后更深一层的文本分析打基础。

一、R语言wordcloud

R语言最常用的分词包为jiebaR和Rwordseg,jiebaR分词对名称识别更有优势,Rwordseg效率更高。安装包时需要为电脑安装java,安装过程较繁琐,请各位看官自行百度。

将《白夜行》小说txt版本读入R,查看wordbase有7851行:

OutPut

清除小说中的各种标点符号,这里用到类似正则表达式的gsub()函数:

将清理后的文本进行分词,此处手动加入不希望被拆散的词“亮司”、“雪穗”,jieba包对人名的识别很厉害,在后文python部分我们可以看一下二者的对比:

OutPut

segmentCN()函数将文本拆成了单个的词汇。

将分词后的结果做频数统计:

OutPut

上述结果为部分截取,我们可以看到雪穗是小说中出现次数最多的词,而亮司却不在前10位。

但是出现次数最多的词汇里,“没有”、“什么”、“一个”等词没有任何意义,因为任何作品都会

用到这些最常用的词,所以我们下一步需要去掉停用词stopwords。

OutPut

去停用词后,出现频数很高的词汇,我们明显可以感到《白夜行》特有的严肃和悲凉的气息。

终于可以画词云了,

星星词云:

可怜的亮司,存在感太低了

亮司与雪穗:

只想和你手牵着手再阳光下漫步

二、python---wordcloud

python同样可以画词云,用到jieba、wordcloud模块。

画词云的过程中需要用到ttf格式的字体,需要手动下载。

1

读取文本

用同样的文本,即《白夜行》小说的txt文件,

2

构建停用词表

3

jieba分词

4

画词云

我从来就没有太阳,所以不怕失去。

比较R语言和python,个人感觉R语言的wordcloud更人性化一下,字体设置更方便,更漂亮。

python画的词云可以实现字体颜色向背景图片同化(R语言是否可以我尚不清楚,有机会再研究),字体设置不太方便。两种工具我都将继续学习,做更多更有趣的实践。

愿世间没有伤害,愿天底下的雪穗和亮司都能无忧无虑地成长,快乐幸福地度过一生。

回复爬虫爬虫三大案例实战

回复Python1小时破冰入门

回复数据挖掘R语言入门及数据挖掘

回复人工智能三个月入门人工智能

回复数据分析师数据分析师成长之路

回复机器学习机器学习的商业应用

回复数据科学数据科学实战

回复常用算法常用数据挖掘算法

给我【好看】

你也越好看!

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券