群删推文数据分析

未知

群删推文数据set 1分析

闲来无事,顺便练练手。日前某不存在的公司因众所周知的原因群删了部分帐号,并公布了相关的资料。资料包含用户信息和推文信息两部分;并分别被切成两部分(即四个文件供下载)。经过下载比较发现,推文信息中包含了所有用户信息的字段,故本次基本只分析set 1的推文信息,即可略窥全貌。

因为该公司既没有公布群删的标准,我手上也没有现成的其他未被删除的推文做对比(我可不想为这这么点解读,就开始去整个爬虫来拉数据),故只能就这些数据本身做一次解读。那么这些推文究竟是什么样、是些什么人发的呢?以下主要从这几个方面进行解读:

  • 汇总及用户分层
  • 按发推时间看
  • 按发推客户端看
  • 按推文语言看
  • 按hashtag看

汇总及用户分层

该数据集供包含由699人发布的1,906,831条推文。人均发推2,727条。发推量非常不平均,最少发推1条、最高发推268,284条。如将各用户发推量汇总并按照逆序排列,可得下图。 {% qnimg twitter_hk/tweets_by_pctcum01.png %}

由图可见:

  • 发推量长尾效应非常明显,大量的发推集中在一小部分人手里。
  • 若我们按照发帖量占比从高向低排列,然后按照68%、80%、95%、99.7%的覆盖率来看, 则可将用户分作5个Tier。各Tier的发推状况汇总如下:
TierCoverage#of UsersAvg. #of Tweets/UserDaily #of Tweets/UserComments
468%7184,084.3133.8
380%14108,561.715.9重点人群
295%9119,897.43.2
199.7%3735,096.70.5
0100%6992,727.90.1

后面若有时间,我们可着重研究这部份重点人群(Tier 3的14人)的发推情况。

按发推时间看

该数据集包含2008-06-162019-07-25之间的发帖,这是第一点与我们之前的推测不一致的地方(原本以为这些人是最近密集发帖)。具体发帖量按季度汇总如下: {% qnimg twitter_hk/tweets_by_qtr03.png %} {% qnimg twitter_hk/tweets_by_lc_qtr06.png %}

由图可见:

  • 总体上来说,这部份人的发帖高峰已过,尤其是上述重点人群(Top 80%的14人)已经基本处于蛰伏状态;
  • 上述重点人群在几次发推高峰中起主要作用;
  • 发帖呈阶段性趋势,主要集中在2015Q1、2015Q2、2016Q4、2017Q1、2017Q2、2017Q4及2018Q1;
  • 发帖季节性非常明显。从整体发帖量占比来看,冬(34%) > 春(30%) > 夏(26%) > 秋(10%)。其中以2017年最为明显, 但因其Q3发帖量大量下滑,当年顺序略反常;顺序为:夏(41%) > 春(35%) > 冬(22%) > 秋(2%)。
  • 发帖量较多的Tier不是短期注册、发帖行为。有明显的持续发推和养帐号的特征。

按发推客户端看

从推特客户端来看,客户端呈多样性,数据简单清理归类后,尚有约270种。但如其他统计特征一样,长尾效应明显。按发推量逆序可以发现Top 21种客户端,可涵盖98.8%推文。具体Top 21的分布如下图。 {% qnimg twitter_hk/tweets_by_client04.png %} {% qnimg twitter_hk/tweets_by_client_type05.png %}

由图可见:

  • Tier 4的人大量使用IFTTT、zapier.com等自动转发工具。这个比较符合垃圾制造机制;同时也不失为一种间接科学上网的方式,符合国内发推特征;
  • 传统web(如tweetdeck、web、google)以及twitter for android等相对容易自动化的平台为主。你很难想象一个人每天用手机发推上千条,但有自动化程序,则一切成为可能。
  • 发推客户端呈多样化趋势。

按推文语言看

从现有数据来看,推文语言应该是用户发推以后,引擎根据推文内容进行的自动语言类型检测。长尾效应明显。按发推量逆序可以发现Top 17种客户端,可涵盖98.8%推文。具体Top 17的分布如下图。 {% qnimg twitter_hk/tweets_by_lang07.png %}

由图可见:

  • ISO_639-1中并不能找到占比最大的in所对应的语言。通过浏览、对比,发现其中的数据是葡萄牙语、印尼语等语言的混合体。可能这是检测引擎针对垃圾推文的检测方面尚不完善所致;另外语言特点是空白或者und都属于这种情况。
  • 大量发推的Tier,语言涉及面很广。量主要集中在inenpt及位置语言种。反而是zh中比较少。

按hashtag看

因前述推文的多语言混合特效及标注语言类别不准确等原因(其实主要是懒),就暂不对推文内容进行NLP分析了。这里仅对推文内容中提及的hashtag进行简单的分析。剔除几个高频但看不出具体含义的hashtag(含rtptlpltlrtltlrpnrprptlic)后,按语言分别的Top 20如下: {% qnimg twitter_hk/tweets_by_hotword_top20.png %}

未答案问题

  • 推特的删除标准究竟是什么?
  • 为何每年秋季(7、8、9月)的发推量明显减小?