一种改进的微博用户影响力分析算法
2020-08-12李勇
李 勇
(解放军信息工程大学,河南 郑州 450000)
0 引 言
微博(Microblog)是一种新型的网络传媒,它通过140字符左右的文字、图片和链接等信息形式,实现信息的分享。当前中国正处于社会转型时期,虽然经济持续发展,但社会矛盾日益凸显。无论是新疆暴乱、昆明暴恐,还是南海仲裁、钓岛争端等,这些重大突发舆情无一不受到人民的强烈关注。通过分析微博网络中用户的影响力,实时掌握准确舆情、制定解决方案、积极引导社会舆论,维护社会和谐稳定。
《现代汉语词典》对“影响力(Influence)”的定义为:“对别人的思想或行为起作用的能力”。学界对影响力的定义也不尽相同。刘耀庭[1](2008)认为用户的影响力指的是改变他人思想和行为的能力,其可以通过传播实现。Benevenutoy[2](2009)认为用户影响力是用户之间的相互作用力,这种作用力产生的效果越大,其影响力也就越大。
文中将“用户影响力”定义为对别人的思想或行为产生作用甚至使之改变的能力,也就是指用户在微博消息传播过程中所发挥的重要作用。主要从微博用户影响力的两类因素开展研究,第一类是用户关系[3],包括用户之间的关注和粉丝关系,可以认为是它的静态属性;第二类是用户行为[4],包括用户的发布、转发、评论、点赞、@提及等操作,可以认为是它的动态属性。如果微博用户发布的信息有足够的吸引力,那么他的微博将会被更多的人评论和转发,也就会影响更多的用户,他的影响力就会更大,同时该用户所发布的信息就会传播得越快越远。
1 PageRank算法分析
PageRank算法是由Google公司的拉里·佩奇和谢尔盖·布林提出并发表。Google使用PageRank算法进行网页排名,标识页面等级,继而评价网站的质量高低。PageRank算法通过网页的链入数量和链入质量来标志页面,并对其进行了量化。网页的重要性[5]采用PR值来表示,每个网页的PR值不仅仅要考虑被链接网页的数量,还要考虑链接到该网页的网页质量和重要性的影响,如图1所示。
PR值为100的网页A将PR值平均分配给了2个网页B和C,每个网页获得50;网页B获得网页A和C的PR值,所以PRB=90;网页C获得网页A的PR和其他网页的PR,所以PRC=80。
图1 PageRank算法PR值分配图
PageRank算法的PR值计算公式如下所示:
(1)
其中,PR(x)表示x的PR值,Y(x)表示链入x的网页集合,PR(y)表示y的PR值,N(y)表示网页y的链接数量,d是规范化因子。经过大量的实验,Google认为一般取d=0.85[3]。通过以上公式可知:页面的PageRank值是由所有链入它的页面的重要性决定的,并经过算法迭代实现。
PageRank算法主要依靠历史节点(例如旧网页)来进行判断,并且由于不同节点(网页)的类型不同,所以还存在一些缺陷。例如:PageRank算法仅仅依靠网页反向链接的数量来决定PR值,链接数量决定了页面的排名,并没有区分反向链接页面的质量,显然垃圾网页和权威页面是不同的;同时PageRank算法将网页权值平均分配给它的链出网页,没有区分其链出网页的不同,同样影响了页面的排名质量。因此在将该算法应用到微博用户影响力计算的同时,需要对以下两个问题[6]进行重点解决:
(1)解决用户粉丝的“陈旧”问题。
如果“旧粉丝”微博更新不及时,内容陈旧,这些微博用户的影响力可参考性不高;“新粉丝”更新微博及时,能够增加所关注的用户影响力。
(2)解决用户关注度权重平均的问题。
由于社交网络中节点之间存在差异性,不同的微博用户对于其关注者的关注度之间也存在明显的差异。
2 MBUInfluence算法
2.1 算法理论依据
在微博用户网络中,每个用户都有自己的关注列表与粉丝列表,其中关注列表表示该用户关注了哪些人,粉丝列表表示有多少粉丝关注该用户,并能够通过微博超级链接进行访问和浏览[7-9]。基于上述分析,文中提出了基于PageRank思想的微博用户影响力排名算法(microblog user influence,MBUInfluence),其理论依据如下:
(1)每个微博用户的关注数量类似于Web页面中的出度,粉丝数量类似于Web页面的入度,因此微博具有与Web页面相似的网络结构。
(2)用户在社交网络中的影响力的评价,主要考虑用户之间的关注和粉丝关系,通过计算影响力值来对社交网络中的用户进行排名。因为涉及的参考因素少,所以效率和结果较好。
2.2 算法基本思想
文中对PageRank算法进行了改进,MBUInfluence算法涉及到的因素包括以下两个方面:
(1)用户自身行为权重:指的是算法中通过分析用户自身行为(包括用户自身微博总数、粉丝总数、是否被认证、所发微博被评论数和被转发数等方面)综合得到的用户影响力指标。
(2)粉丝影响力:指的是粉丝自身对所关注的微博用户影响力产生的贡献,粉丝自身作为微博用户,其影响力可以由下级粉丝的影响力来贡献和衡量。
2.3 算法设计
在MBUInfluence算法中,用户的影响力由用户自身行为权重和粉丝影响力组成,前者主要考虑粉丝数量、评论数、转发数和是否认证用户等因素,全面衡量得到微博自身的行为权重。后者主要考虑用户粉丝的影响力分配,粉丝的重视程度决定分配多少影响力权重给该用户[10-11]。基于上述分析,定义用户m的影响力值MBUInf计算公式如下:
MBUInf(m)=SelfInf(m)+(1-dm)+
(2)
其中,SelfInf(m)表示用户m自身的行为权重,公式的剩余部分基于PageRank算法改进而来,MBUInf(n)表示用户m的粉丝用户n的影响力,n:(n,m)∈E表示n是m的粉丝之一,E表示m的粉丝集合。MBUInf算法模型中的参数描述如下:
(1)SelfInf(m):表示用户m自身的行为权重,其可以由用户的活跃度、用户的积极度、用户的传播度三个指标来衡量[12],具体如图2所示。
图2 微博用户的行为权重
图中,SelfInf(m)表示用户n的行为权重,同时考虑用户的活跃度、积极度和传播度等三方面的信息,得到用户m的行为权重计算公式:
SelfInf(m)=aXm+bYm+cZm
(3)
将Xm、Ym、Zm根据定义得到:
(4)
其中,T表示一个时间段,Um表示用户更新微博的数量,Fm表示用户转发微博的数量,Cm表示用户评论微博的数量,Zm表示用户点赞微博的数量,A表示用户是否是认证用户。通过Um解决了PageRank算法的问题1(微博更新不及时问题)。a,b,c,d,e,f表示加权系数,文中做如下设定:a=0.4,b=0.6,c=0.1,d=0.5,e=0.3,f=0.2,然后通过上述公式可以计算Wi。
(2)参数dm:dm表示用户m的微博消息被粉丝转发的平均概率,数学公式定义如下:
(5)
(3)影响力分配比例A(n,m)。
A(n,m)表示用户n的MBUInf值分配给其关注者m的比例,通过分配比例的不同,解决了PageRank算法的问题2(关注度权重平均问题),A(n,m)的数学公式定义如下:
(6)
通过上面的三个公式可以看出,关注度W(n,m)的计算是一个关键,关注度表示用户n对m的微博消息的关注程度,体现了用户n和m之间的亲密关系。文中的关注度定义由用户转发关注者的微博、评论关注者的微博以及点赞关注者的微博构成。具体如下所示:
(7)
用户之间的关注度W(n,m)的影响因素包含用户n对m所发微博的转发数、评论数和点赞数,用户自身的行为权重SelfInf(m)的影响因素包括所有粉丝(包括n)对m所发微博的转发数、评论数和点赞数,因此关注度W(n,m)的加权系数p、q、r认为与SelfInf(m)的系数d、e、f相同,因此系数p=0.5,q=0.3,r=0.2。
某时刻用户m影响力值MBUInf的具体算法如下所示:
算法1:MBUInf微博用户影响力算法
输入:用户m的元数据系列信息
输出:用户m的影响力值
过程:(1)根据式(4),计算出用户m的自身行为权重SelfInf(m)。
(2)根据式(7),计算出用户m的所有粉丝(包括n)对其的关注度W(n,m)。
(3)根据式(5)和步骤(2)所得结果,计算当前时刻,用户m所有粉丝转发其微博信息的概率dm。
(4)初始化用户的影响力,设置用户MBUInf的初始值为1。
(5)根据式(6)和步骤(2)所得结果,计算当前时刻,用户m的每个粉丝给其关注度的分配比例A(n,m)。
(6)根据式(2),计算用户m新的MBUInf值,并作为下次迭代的初始MBUInf值。
(7)重复步骤(6),直到用户的MBUInf值收敛就停止计算,收敛条件设置为两次迭代的MBUInf值的差小于极小值ε。
(8)得到用户m的影响力值MBUInf。
通过对MBUInfluence算法的设计,将用户的影响力与用户自身行为权重和用户粉丝的影响力结合起来,其中后者的计算需要进行迭代,当粉丝的迭代结果趋于收敛时,将得到稳定的微博用户影响力值。该算法以社交网络理论为基础,结合PageRank算法,既考虑微博用户网络特征,充分考虑了粉丝的影响力,又考虑微博用户的属性特征,以及微博转发率、评论率、点赞率等特征,能够更好地反映用户的综合影响力。
3 实验及分析
3.1 实验数据
实验主要完成用户影响力算法的评价与分析。实验数据来源于新浪微博,首先设置采集条件进行微博搜索,然后采集发布这些微博的用户详细信息,采集结果数据使用json格式进行存储。该实验用户数据采集详细条件如表1所示。
表1 微博用户数据采集条件
3.2 评价标准
本小节将对MBUInfluence算法通过实验进行对比与分析,对比的对象是用户影响力研究领域中常见的算法和排名方法,它们是:
(1)FansRank算法[15]:该算法主要通过比较微博用户的粉丝数量,来衡量用户在某时刻的影响力大小。特点直观,因此大多数学者都将它作为重要的算法来进行对比。
(2)PageRank算法:经典的PageRank算法将微博用户看作Web页面,规范化因子d取Google的经验值0.85,计算用户在某个时刻的影响力。
(3)ForwardRank算法[16-17]:该算法主要通过用户微博的总转发量,来衡量微博用户在该时刻的影响力,原因在于转发数表示了其他用户对于该用户所发微博的认可。
(4)微博风云榜:微博风云榜是一家面向社交媒体平台来做数据统计、监测和挖掘分析的网站,提供微博和微信账号的影响力与价值排名服务。
根据3.1节所述,从用户数据库中随机抽取10个用户并按照粉丝数排名,计算2015年12月15日用户的影响力值并进行对比。对比用户的基本信息如表2所示。
表2 用户基本信息
3.3 结果与分析
下面将MBUInfluence算法从不同的角度与其他排名方法进行对比。
(1)同FansRank和ForwardRank算法的对比。
微博的用户影响力体现了用户节点对其他节点能够施加的影响,具体表现形式包括评论、转发或关注。其中评论动作表示粉丝对用户发布的信息认同或者否定,同用户之间进行的互动;转发动作表示粉丝对用户发布的信息认可,并且希望与自己的粉丝分享这条消息,客观上加速了信息的传播;关注表示粉丝浏览用户的信息后,希望跟踪该用户发布的全部消息,所以粉丝会将该用户加入关注列表。例如,在微博平台上,许多人对于明星、意见领袖、知名媒体或者兴趣相同的人感兴趣,他们就会加这些用户为关注者,继而及时得到他们的相关信息。
通过MBUInfluence算法将得到用户的MBUInf值,该算法的排名结果与FansRank和ForwardRank算法的排名结果对比分析情况如表3所示。
表3 MBUInf排名同FansRank、ForwardRank排名对比
通过表3可以看到,MBUInf值的排名结果与ForwardRank值的排名结果基本相同,但是与FansRank值的排名结果具有显著差异,说明用户的影响力与微博转发次数具有强联系,而与用户粉丝数具有弱联系。在相同的时间段内,MBUInf排名仅有第5、6名的结果与ForwardRank存在差异,ID为5591596171的用户其微博被转发的次数低于用户5051675817,但他的MBUInf排名比后者靠前,经过进一步分析得到,用户5591596171的粉丝数量比用户5051675817多了2万多名。MBUInf算法在分配MBUInf值的过程中,用户将从自己的粉丝处得到被分配的MBUInf值,如果粉丝数量存在差异,那么得到的MBUInf值也会存在差别,所以如果两个用户的粉丝数如果存在巨大悬殊,那么几乎可以肯定粉丝数高的用户其MBUInf值也必然大。由于用户5591596171的粉丝数高于用户5051675817,那么如果他发一条微博消息,将会被更多人看到,他的信息将传播的更广,他的影响力也就相对更大。
(2)同PageRank算法、微博风云榜排名方法的对比。
根据式(1),用户的粉丝数表示入链,关注数表示出链,能够计算表2用户的PageRank数值,然后进行排名,并与MBUInf排名进行对比。从表4可以看出,MBUInf的排名结果与PageRank排名完全不同,说明MBUInf虽然是基于PageRank思想,但是其排名与PageRank排名并没有太大的相关性。
同时MBUInf的排名结果与用户的粉丝数排名也没有必然联系,说明MBUInf不完全依赖于粉丝数。MBUInf的排名同微博风云榜的排名基本相同(除部分风云榜无法提供查询用户的排名外),说明该排名方法基本反映了微博用户的实际影响力,具体排名信息如表4所示。
表4 MBUInf排名同PageRank排名对比
(3)不同时刻的MBUInf值对比。
MBUInfluence算法增加了时间因素,为了验证不同时刻粉丝因素的影响,分别选取一个月前后用户的MBUInf值进行对比,设定t1为2015年12月15日,t2为2015年11月15日。实验结果如表5所示:
表5 不同时刻的MBUInf值对比关系
下面分析不同时刻用户影响力的变化,主要从新增加粉丝的数量、质量(通过新增粉丝最高的MBUInf值来体现)来比较。
首先分析用户3624248184和用户2139796227,从t2时刻到t1时刻,第一二名的位置发生了变化,除了上文分析过的新增粉丝数量比较接近外,用户3624248184有高影响力的粉丝关注他,由于该粉丝的影响力比较高,所以分给用户3624248184的影响力也比较高。因此导致用户3624248184的排名经过1个月超过了2139796227的排名。
用户2085811113和用户5591596171,其名次没有发生变化,虽然两个用户粉丝最高MBUInf比较接近,但是由于用户2085811113新增的粉丝较多,所以其排名仍然领先于用户5591596171。
综合以上分析,可以得出如下结论:微博用户影响力在不同时刻的变化同新增粉丝的数量以及新增粉丝的质量相关。上述结论与实际情况相符合,在某个时间段内,如果用户A得到高影响力的用户关注,那么用户A的影响力也将变高,成为“明星宠儿”;如果用户A得到许多用户的关注,即使没有高影响力的用户,用户A的影响力也会变高,成为“草根领袖”。
4 结束语
通过考虑用户之间的行为交互对PageRank算法进行改进,提出一个新的MBUInfluence算法来对用户影响力进行分析,并将该算法得到的MBUInf排名与FansRank、ForwardRank、PageRank等排名方法进行比较,进一步分析它们之间的差异。
实验结果表明,提出的算法所获得的排名相对准确和高效。根据综合分析可以得到以下结论:用户影响力与用户粉丝的绝对数量之间不存在必然联系;用户影响力与一段时间内新增粉丝的数量以及新增粉丝的质量存在联系,上述两种如果突出就将改变用户的影响力排名;用户影响力和用户与粉丝之间的交互行为密切相关,这些交互行为包括转发、评论等,不同交互行为对他人影响力的贡献也不一样。