新浪微博用户网络分析及关键用户快速发现研究
2017-07-14陈智梁娟谢兵傅篱
陈智 梁娟 谢兵 傅篱
摘要:随着微博用户的不断增加,微博用户网络也在不断地变化和发展。该文首先讨论了微博用户网络的现状和微博用户网络分析的内容,然后基于实际的微博用户数据,研究微博用户网络节点的度分布。在此基础上,分析影响微博用户节点关键程度的因素,提出了一种结合用户活跃度、用户粉丝重要程度的微博关键用户发现算法。该算法充分考虑了微博高时效性的特点,能够从不断变化的微博用户网络中,快速发现关键用户。
关键词:新浪微博;微博用户网络;节点度分析;关键用户发现
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)17-0234-03
1概述
随着智能设备的普及以及互联网技术的不断进步,在线社交网络逐渐成为人们生活和工作的一部分。作为国内最主要的在线社交网络之一,微博以其无界共享、以个体为核心的特征得到了广泛的支持和陕速发展。新浪微博发布的《2016微博用户发展报告》显示:2016年,微博月活跃人数和日活跃人数都以30%以上的高速度增长。2017年2月,微博发布了2016年第四季度及全年财报。截至2016年底,微博月活跃用户达到了3.13亿,移动端用户占比首次达到90%。
微博用户的不断增长,使得微博作为社交媒体的平台性作用不断凸显。个人用户以微博作为发布信息、获取信息的手段。首先,基于微博的跨地域性,个人用户可以在足不出户的条件下,通过发表微博、评论微博、发布短视频或直播等多种方式,使自己成为外发的信息源,实现与他人的交流;其次,基于微博的隐匿性,个人用户可以更好的根据自己的兴趣选择虚拟的社会群,更自由地表达对各种社会事件的观点;再次,基于微博的随意性,个人用户也可以充分展示个人个性,突出所长,获得社会认可,而不用像在真實的社会环境中那样在意是否尴尬等问题。企业用户以微博作为广告宣传和在线销售的平台。随着微博用户数的不断增多,企业早已认识到微博在企业宣传、新产品展示、客户兴趣分析、销售预测等方面的重要作用,随着微博用户白领化以及用户对微博内容付费的不断认可,企业用户更可以利用微博,实现企业的在线盈利。与个人用户相比,企业用户多数活动为发布信息,而较少地评论其他用户微博。
作为社交网络,微博复制了现实生活中人类社会的结构,同时也具备信息网络的特性,表现在以下几点。第一,微博具有数据个性化发布、社会性传播和结合用户社交的特点;第二,微博信息在网络上呈网状交差扩展;第三,微博信息扩张速度快,随着转发数量的增加,一条微博往往能以指数速度传播;第四,微博信息的传播能力与最初发布微博用户的人物影响力有密切关系,其扩展能力取决于微博用户网络的拓扑结构。因此,对微博用户网络特性的分析,是分析用户兴趣度、提取敏感话题、舆情监测以及情感传染分析的基础。
2微博用户网络分析的内容
微博用户所组成的网络可以看作一个有向无权图,每个微博用户是图中的一个节点,用户的粉丝数量决定了节点的入度,用户的关注数量决定了节点的出度。对微博用户网络的分析通常以以下三个方面进行。
1)节点分析
节点分析首先收集微博用户的基本信息,包括用户ID、用户名、VIP情况、用户等级、地理位置、关注数、粉丝数、粉丝列表、发表微博数等,然后通过使用贝叶斯网络等分类算法进行用户节点属性分析,并结合人工标识和领域专家知识等建立用户模型,进而筛选出重要的用户节点。通过对用户节点的中心性和影响力进行进一步研究,为舆情监测、用户推荐或为其他分析提供支持。
2)关系分析
微博用户之间的关注关系构成了微博用户网络的边,单纯地分析这种关注关系,可以得到微博用户网络的基本结构,进而得到微博用户的社交圈以及一条微博可能的传播路径及传播方式。进一步通过粉丝对被关注用户所发表微博的点赞、转发、评论等活动,分析用户关系网络的特点,可以预测微博用户网络中,潜在的关系链接,从而实现兴趣话题、兴趣用户的友好推荐,提高微博用户网络的社交平台能力。
3)网络拓扑分析
微博用户网络拓扑结构决定了一条微博的可能传播路径以及传播速度。通过网络拓扑分析,进行话题跟踪,可以有效地为舆情监测提供的最佳监测点,提取相似用户群和进行网络团体挖掘等。
3微博用户网络节点分析
3.1微博数据获取及预处理
本文对微博用户网络进行分析,需要两类微博数据:一类是用户基本数据,主要包括微博用户ID、关注数、粉丝数、粉丝列表、发表微博数等,用于对微博用户节点进行度分析;另一类是某个用户最近发表的微博数据,包括发表微博的时间、转发数、点赞数、评论数等,用于评价微博用户的活跃度,发现关键用户。
新浪微博为获取微博数据提供了开放接口API,可以实现微博、评论、用户及关系的各种操作,但是由于其采用的Oauth2.0认证授权的模式及访问权限限制,使用起来并不是很方便。因此,本文使用的用户基本数据来自专门的数据提供网站“爬盟”,而实时获取的微博数据则使用爬虫程序,以模拟浏览器访问的形式,通过解析得到的HTML文件获取。
网上直接得到的用户基本数据采用CSV格式存储,每条用户数据包括户ID、屏幕名、性别、VIP描述、自我介绍、地区、用户名、关注数、粉丝数、微博数、工作、教育、头像、加V、标签、生日、QQ、Msn、Email、创建时间、关注列表、会员、达人、等级,共24个数据项,很多用户的数据项内容并不完整,部分用户的数据存在缺漏,缺少关键的数据项。在使用之前,需要对数据进行预处理,仅保留在节点度分析中需要的用户ID、关注数、粉丝数、粉丝列表、发表微博数,5个数据项,并删除了存在缺漏的用户数据。经过预处理后,实际使用259836个用户基本数据进行后续的分析。
3.2微博用户节点的度分布
节点的度是网络特征分析最基本,也是最重要的特征度量之一,对一个网络而言,一个节点的度是直接与这个节点相联的其他节点的个数。微博用户节点的度分布情况直接反映了用户在微博用户网络中的重要程度。微博用户节点的出度(关注数)说明了这个用户对微博信息的关心程度,微博用户节点的人度(粉丝数)说明了微博用户在整个网络社区中的重要程度。这里考虑单个微博用户对微博用户网络信息传播的影响力,因此只分析入度的分布规律。
用横轴表示微博用户节点的粉丝数,纵轴表示具有相同粉丝数的微博用户节点个数,可以得到微博用户节点的人度分布情况,如图1。
图1中,没有显示粉丝数小于10微博用户节点个数,这样的节点共96165个,占比37.01%;当粉丝数为439时,微博用户节点个数首次下降到10个,粉丝数大于439的节点数为8378个,占比3.22%。因此,图1显示的是其余155293个微博用户节点(占比59.77%)的入度分布情况,即随着粉丝数的增加,具有该粉丝数的微博用户节点迅速减少。
对微博用户节点进行度分布分析,可以看作是关键用户发现的预处理过程,依据度分布分析的结果,可以对微博用户节点进行过滤,直接忽略97%左右的微博用户,提高关键用户发现算法的执行效率。
4微博关键用户的快速发现
4.1用户关键程度的影响因素
在微博用户网络中,判断一个用户的重要程度,除了和该微博用户节点的粉丝数有关,还和以下两个因素直接相关。
1)用户的活跃度
对于粉丝数相同的用户,活跃度越高其影响力越大。微博用户的活跃度表现为一个用户发表、转发、评论微博的数量,其中,一个用户发表或转发的微博会被推荐给关注者,而其评论的内容是否会引起其他用户兴趣,往往具有一定随意性。所以在评价用户活跃度时,只考虑用户发表或转发微博的数量。
另外,微博具有很高的时效性,距离当前越近发表的微博,被阅读的可能性越高。而很久以前发表的微博,则可能无人问津。因此,在计算活跃度时,用户发表或转发微博的数量需要乘以时间权值。由于一条微博的时效性并不呈线性衰减,故引入模糊数学中的戒上型隶属函数估算时间权值。一条微博的时效通常在一周左右,在确定隶属函数个参数值时,做如下约定:第一,新微博发表1-2天会被频繁浏览和传播,此时活跃度权值为1;第二,微博发表的一周之内,活跃度权值会逐渐降低;第三,微博发表超过一周,活跃度权值会迅速下降;第四,微博权值最终稳定在0.1左右,不再下降。因此,可计算得到参数a,b,c的值为:由此参数得到用户活跃度参数曲线如图2。
2)用户粉丝的重要程度
除了活跃度之外,一个用户的粉丝的重要程度越高,其发表的微博就越容易被更多的人看到,也会一定程度提高用户的重要性。
在计算粉丝的重要程度时,理论上,同样需要考虑三个方面内容:粉丝数、活跃度、粉丝的重要程度。但是这样做,会使算法进入复杂的递推过程,同时,由于微博庞大的用户数量,也会是算法运行缓慢,让人难以接受。因此,在算法中只考虑当前微博用户粉丝的粉丝数,并乘以粉丝权值,计算用户的重要程度。
4.2微博关键用户快速发现算法
综合以上的讨论,可以得到结合用户活跃度、用户粉丝重要程度的关键用户快速发现算法。为方便算法的表示,引入以下标记:
4.3实验数据的执行结果
分析实验数据中的259836个微博用户节点的入度后,去除了明显不能成为关键用户的用户数据,进而使用微博关键用户快速发现算法对剩下的8378个用户进行处理,然后得到了关键度值最高的10个用户,如表1。
分析实验数据的执行结果可以发现,用户“2921020640”拥有远多于其他用户粉丝数,因此成为排名第1的关键用户。排名第5和第6的用户,虽然粉丝数差距不大,但是关键度值相差将近一倍,这主要是因为排名第5的用户在最近一周非常活跃,发表和转发的微博数远超过排名第6的用户。排名第8的用户,虽然粉丝数少于排名第9的用户,但是其粉丝的粉丝数较多,而排名第9的用户,其粉丝多为“水军”,也使两者的评分差别较大。
在所得到的10位关键用户中,有4位为VIP用户,另外6位均为活跃在微博这一网络社交平台的非VIP用户。另外需要说明的是,由于微博关键用户发现算法考虑了“时间”对用户关键程度的影响,每次得到的用户群会有所不同,而这种不同也符合微博用户网络动态变化的特点。
5结束语
通过微博关键用户发现算法,可以得到微博用户网络中最需要关注的用户,对这些用户的行为进行监测,即可以对微博舆情进行更有效的控制;另一方面,关键用户也为微博推广、广告投放等商业活动提供了参考。
微博用户网络分析更多体现的是微博社交网络的静态结构,通过分析微博用户的度分布,进而快速地发现关键用户以及各个用户群,可以为舆情控制、微博营销、微博广告投放等活動提供有力的参考。在对用户关键程度的量化表示时,充分考虑了微博高时效性、动态变化的特点。微博关键用户发现算法使用较简单的模型,简化了微博用户关键程度的评价,为快速找到新兴的关键用户提供了借鉴。当然,由于算法仅运行于部分微博用户数据,当考虑整个微博用户网络时,其可靠性、有效性也需要进一步的研究、比较和讨论。