最近身边的人都在谈论一件事:10月8日中午的一条微博,引发了一场微博的轩然大波。导致微博瘫痪的原因是全球超人气偶像明星鹿晗发了一条“大家好,给大家介绍一下,这是我女朋友@关晓彤”。这条微博并@关晓彤。数据分析,可以在这里自取!
截止目前,鹿晗的这条微博已经被转发1024887,回复2649409,点赞5173532。
关晓彤的这条微博转发67652,回复873532,点赞:2260400。
这么庞大的数据量相当上亿的“肉鸡”(粉们和吃瓜群众)对微博的一次“攻击”。
难怪微博工程师要一边结婚一边工作,都是鹿晗这条微博惹的祸。最后加了1000台服务器暂时顶住了。
这条微博评论非常的多了,大家对这件事态度怎么样?我们利用数据来分析一下。
原料:
鹿晗微博3万条评论;
关晓彤微博3万条评论;
3.500万微博语料,下载地址,密码:tvdo
工具:
Python3.6
SnowNLP(https://github.com/isnowfy/snownlp可方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己(不是本人)实现的,并且自带了一些训练好的字典。)
WordCloud,词云。
实施过程:
- 1.对微博语料进行情感分类,可以基于原有SnowNLP进行积极和消极情感分类:积极情绪类:pos.txt和消极情绪类:neg.txt 然后进行训练:
from snownlp import sentiment
sentiment.train('neg.txt', 'pos.txt')
sentiment.save('sentiment.marshal')
在snownlp/sentiment/init.py中第11行改到你训练的文件。
2.爬取两人的微博数据,使用http://m.weibo.com,解决懒加载问题,具体方式不在赘述,google 一下吧。
- a. 微博提供了接口地址,微博提供API 地址,通过接口返回标准的json数据
{
"comments": [
{
"created_at": "Wed Jun 01 00:50:25 +0800 2011",
"id": 12438492184,
"text": "love your work.......",
"source": "<a href="http://weibo.com" rel="nofollow">新浪微博</a>",
"mid": "