手把手教你完成一个数据科学小项目(8):Emoji提取与分布图谱

前言

请先阅读

“中国年轻人正带领国家走向危机”,这锅背是不背?

一文,以对“手把手教你完成一个数据科学小项目”系列有个全局性的了解。

本系列代码统一开源在GitHub:DesertsX/gulius-projects ,感兴趣的朋友可以先行 star 哈。

本文将对评论里的

emoji 进行提取,并绘制分布图谱。

读取数据

本次主要关注评论列,所以仅读取下面几列数据,忽略其他列。

提取 emoji

将提取后的列的全部元素转换成列表。

文章所限,仅显示部分输出:

合并嵌套列表为单一列表,之前文章和代码里已经用过很多次喽。

统计出emoji共76种:

emoji 分组统计

统计结果,看看大家都喜欢发什么表情:

emoji 使用情况

为方便展示,选出top20:

这回的 emoji 没找到对应表情图,所以无法像当你点开这首《八月》的歌:9400余条评论的分析与挖掘里显示,不过从上一个项目了解如何实现也是一样的:

评论数据

拿出评论数据,方便之后绘制emoji分布图谱。

显示部分数据:

将列表合并成一个字符串

字符串长度为83252。

jieba 分词

在GitHub/jieba分词前,先把上面的里的去掉中括号后的一个个都添加进自定义的词典,以免分词时被切分开。

此处需注意,如果不去掉中括号,直接将整个添加进词典的话,后续分词时,括号还是会被分开,可能相应的需要修改jieba源码才行(jieba分词与词性标注自定义词典支持特殊字符),但尝试后无果,于是还是采取现在的方案。

jieba/test/test_userdict.py

或者在的存好,然后读入

展示部分分词结果:

去掉括号后的:

NLTK 分布图谱

分布图谱在《当你点开这首《八月》的歌:9400余条评论的分析与挖掘》项目时,就想实现,可惜一直没成功,notebook里保留了尝试的代码,且整个代码太杂乱,需如本系列一样后续拆分开和润色。

也是因缘际会,想本系列项目结束后,下一个系列就来玩玩热门电视剧、热门电影,也罗列了许多切入点,感觉要是能搞出来,还是不错的。这回也先绘制了于正的热门清宫剧《延禧攻略》里的一些主要人物在小说文本中的分布图谱。

扯远了,因为上述尝试成功后,这回也用到emoji的分布上来。虽然评论数据是拼接到一起,因而分布图谱的可解释性一般,权当尝个鲜、玩玩新花样。

上面是top15的分布图谱,结合pyecharts的柱形图一起看,风味尤佳:

而全部emoji的分布图谱,纵坐标太密集,但整张图有种说不出的美感,逃……

你听说过安利吗?

本系列代码统一开源在GitHub:DesertsX/gulius-projects ,感兴趣的朋友可以先行 star 哈。

https://github.com/DesertsX/gulius-projects

欢迎关注“牛衣古柳”哈!

请备注“公众号”,以免误伤

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

扫码关注腾讯云开发者

领取腾讯云代金券