APP下载

基于活动网络的微博用户影响力分析

2018-09-21张凤娟

计算机技术与发展 2018年9期
关键词:网页影响力节点

张凤娟,王 濛,周 刚

(信息工程大学,河南 郑州 450001)

0 引 言

微博作为一种在线社会网络以其实时性、高效性吸引了大量用户。与传统在线社会网络相比,微博用户间只需通过“关注”行为便可获得目标用户的微博信息,并以此构成具有广播性质的社会信息传播网络;用户间交互方便,可以实时地获取所关注用户的消息并参与讨论;而且微博具有多种信息发布平台和发布形式,已经逐渐成为人们传播消息和获取消息的重要媒介。

在微博中,有一些用户对信息传播和话题发展起到了极大的促进和推动作用,或者能够对其他用户产生很大的影响,这些用户被称为有影响力的用户,这些用户能够引导微博舆论的发展方向。分析并预测微博网络中的用户影响力,有利于分析舆情在网络中的传播轨迹,追踪热点话题的关键人物,为舆情分析提供支持,准确判断影响力高的用户,以便进行网络舆情引导或者社会网络营销等。

影响力一般认为是一种以别人乐于接受的方式,改变他人情感、思想或行为的能力。在微博平台上,用户影响力本质上是某用户发布的帖子等信息引起其他用户行为改变的能力,一个用户对其他用户的作用越大,该用户的影响力也越大。用户通过发布微博消息、评论他人的消息等行为来表达自己的情感与观点,通过关注、转发、评论等与其他用户交互。文中认为那些影响力很大的用户,他们的微博信息,很多都会在微博网络中影响其他用户,与之交互的用户越多,受其影响的用户也越多,表明该用户的影响力也就越大。

因此,做出两个假设:微博中用户通过发布信息和行为影响他人;信息和行为的传播依赖于用户间的交互行为。基于此,文中首先根据用户间的交互行为构建活动网络,在此基础上利用用户的行为特征结合用户间交互的强度改进PageRank算法,提出了一种新的基于活动网络的微博用户影响力分析算法—ANR,并通过实验进行验证。

1 相关工作

近年来,随着互联网的迅速发展,微博呈现爆炸式发展,对于微博的研究受到了科研人员的广泛关注。在微博网络中用户是处于核心地位的,许多文献都对微博网络尤其是微博Twitter中的用户影响力进行探索,主要侧重于对用户属性和网络结构两个方面的研究。Kwak等[1]研究了社交网站Twitter中的数据,使用了粉丝数、微博被转发数以及PageRank算法对用户影响力进行了分析,对排序结果的相关性进行比较,实验结果说明基于粉丝数的排序结果和采用PageRank算法的排序结果具有较强的相关性,但是,基于粉丝数的排序结果却与基于转发数的排序结果有很大差别。Cha等[2]分别从粉丝数、转发数和评论次数三个属性对微博用户影响力进行考量,通过实验对比了三种用户影响力排序方法,得出的结论与文献[1]类似,即粉丝数越多不代表具有越大的影响力,说明了粉丝数并不是衡量用户影响力的唯一与最好指标。Web Ecology Project中对用户影响力的研究[3]同样表明粉丝数多并不代表具有较大的影响力,像转帖的次数、回复的次数、浏览的次数等这些代表用户发表话题的受关注程度的属性也是评价用户影响力的重要指标。上述对微博用户影响力的衡量方法大多依赖于主观感觉,文献[4]通过对微博中多种指标的回归分析详细研究了不同属性在信息传播中的作用,并以此来度量用户影响力,实验表明,用户行为和交互的特征比微博网络的静态拓扑特征(比如粉丝数)更能反映用户的影响力大小。

PageRank算法[5]是Google创始人Lary Page和Sergey Brin提出的,是Google搜索重要的网页排名算法。它主要是通过网页之间的链接结构来确定网页的重要性,不仅可以衡量网页的重要度,由于微博用户节点间的交互行为类似网页的链接关系,因此该算法还可以用来评价社会网络中用户影响力的大小。Daniel Tunkelang[6]改进了PageRank算法,将随机游走的思想和用户微博数量等特征用于Twitter中用户影响力的排序上,提出了用户影响力计算的TunkRank算法。文献[1]中也用到了PageRank算法,并与用户粉丝数、被转发数度量用户影响力的方法进行了比较。Weng等[7]对PageRank算法进行了改进,提出了判断用户在给定某个话题内的影响力的TwitterRank算法。Lü等[8]以传统PageRank算法为基础提出了LeaderRank算法,该算法通过附加一个超级节点来处理PageRank算法中孤悬节点和网络不连通等问题。和PageRank算法相比,LeaderRank算法的优势有无额外参数、适用范围广、收敛性好和排序结果稳定等。但是这些方法,都只是研究了网络结构而没有考虑用户属性和用户的交互行为。

综上所述,以往对微博用户影响力度量的方法无论是基于粉丝数还是基于对PageRank算法的改进,都只是分析了微博网络的不同拓扑特征或节点间的相互作用且多是直接使用微博网络的静态拓扑作结构作为分析的基础。但是微博网络的静态拓扑只关注了网络中的好友关系,而忽略了用户间的真实交互情况。文献[9-10]的研究表明,社交网络中的用户交互网络远小于基于好友关系的静态网络,网络中有大量“不活动”的用户,即“僵尸”用户,显然,使用包含大量“僵尸”用户的关系网来度量用户影响力是不够准确的。另外,还有研究仅使用被转发数、被评论数、用户被提及数等来度量用户影响力,这些指标虽然考虑到了用户之间的交互行为,但是仅利用了交互行为在单个目标上的聚合结果,没有考虑用户间交互行为的强弱和相互作用。

因此,文中将微博用户间的交互行为作为度量用户影响力的标准,首先基于用户交互行为建立活动网络(activity network)[11-13],结合用户交互行为强度、用户在网络中的活跃度、PageRank算法等因素,提出了一种基于活动网络来评估微博用户影响力的新算法。

2 建立活动网络

2.1 活动网络在微博中的运用

活动网络是在用户交往的基础上建立起来的网络,但是这种交往并不一定是友好关系,这种网络的拓扑结构称为活动拓扑结构[9]。例如,微博用户通常通过互相关注(follow)、互相提及(mention)、转发动态(retweet)和评论回复(remark)四种行为进行网络互动行为。通过这几种主要行为来构建活动网络。

2.2 微博活动网络构建算法

以三元组Gr=(V,E,D)形式表示活动网络G,其中:

r∈R={follow,mention,retweet,remark}:活动网络对应的用户交互行为;

V={vi|i=1,2,…,N}:活动网络的节点集合,每个节点对应一个微博用户,N为网络中的节点数目;

E={(vi,vj,wij)|vi,vj∈V,i≠j,viRvj}:活动网络的边集合,viRvj定位为节点vi和节点vj间产生了交互R,wij为边的权值,与交互R的次数、类型等相关;

D={di|i=1,2,…,L}:活动网络中节点的属性向量,对于每一个属性向量,都有一个节点与之对应。

微博用户的所有交互活动内容都在微博文本上得以体现。结构化信息可以从半结构化微博文本中提取,从而间接完成网络活动的构建,这些结构化信息主要包括微博用户的网络节点及其相互之间的联系。

构建微博活动网络的主要过程为:

(1)进行节点获取,得到用户基本信息,把微博用户的节点集结起来,形成集合V。

(2)分析节点间的关系,通过对微博用户互动行为的分析,把用户节点间的关系集结起来,形成集合E,把用户交互行为的次数记录下来,当作边的属性。

(3)提取网络属性,分析数据和网络需求,通过对用户节点属性的构造,得到边与节点之间的属性结果,比如节点的访出和访问可以由用户的好友数和粉丝数来代表,可以作为用户网络行为的特征表示,用户相互间的行为边属性特征等也可以因此表示出来。选取属性时可以参考数据的储量和算法需求程度对其进行合理设置。

3 基于活动网络的微博用户影响力分析

在微博网络中,用户之间的联系是通过关注关系形成的,但是这个关注是单方面的用户网络行为,用户v可以单向关注用户u,而且并不用得到用户u的同意确认,甚至可以把用户u的动态随时随地发给其他关注了用户u的人follow(u),对用户u的评论、回复和转发等操作都没有限制,这样的信息交互过程如图1(a)所示。通过关注关系建立起来的就是好友关系网络,利用这个网络建立信息传播和交互机制,用户可以方便地获取信息和发布消息,并对其他用户产生影响。因此,传统对用户影响力的评价都是通过分析好友关系网络的拓扑特征实现的。

但是,还有一些特殊功能,不同的用户分为了不同的圈子,圈子内的用户可以随意互相评论其他用户的微博动态,而不用互相关注。这种消息传播模式的一个应用如新浪微博微吧,其中,用户圈子内信息传播的主要途径不再是由关注行为构成的好友关系网络,而是通过评论、转发、提及等交互行为构成的新网络,如图1(b)所示。

所以,文中首要任务就是在微博用户行为分析的基础上建立活动网络,再借鉴PageRank算法的随机游走思想建立用户影响力分析模型,最后结合节点的行为特征对链接分析过程进行优化。

图1 微博网络中信息的不同传播模式

3.1 PageRank算法

PageRank算法是Google搜索重要的网页排名算法,它主要是通过网页之间的链接结构来确定网页的重要性。由于微博网络中的用户节点链接关系与网页节点间的链接关系相似,可以用PageRank算法来分析在线社会网络中重要用户、发现最优话语权的用户。PageRank算法的基本原理如下:凡是一个网页受到用户的拥护和追捧,而得到了很高的排名,那么它必然与许多其他网页相链接。PageRank算法的两个基本假设:(1)网页的重要程度是和页面的入链数呈正比的;(2)网页的入链质量越高,网页就越重要,从而就会向其他页面传递更多的权重。PageRank算法可以表述为:

(1)

其中,p1,p2,…,pN表示网页;M(pi)表示页面pi的页面链入数;L(pj)表示页面pj的页面链出数;N表示网络中的页面数量;PageRank(pi)表示页面pi的PageRank值,所有页面的PageRank值构成网络的PageRank向量;q表示用户继续浏览该页面之后的页面的概率,通常概率值为0.85;1-q表示用户浏览该页面之后的页面的概率。

文中将PageRank算法的思想用于微博网络用户影响力排名,但是微博活动网络与互联网有很大不同,传统的PageRank算法有很大的局限性。

(1)传统PageRank算法只是在Web网络的基础上建立起来的页面链接关系,符合二元关系,这种关系大部分建立在微博好友关系的基础上,不过大多时候,比如在热门话题的讨论、微吧、微群中,用户信息并不是沿着好友关系链传播而是通过特定的用户分组或用户群传播,用户间不需要添加为好友就可以直接进行交互。因此将PageRank算法用于基于回复/评论的活动网络,而不是好友关系网络。

(2)传统PageRank算法没有考虑到节点间的相互作用是不同的。微博用户的相互联系越强烈,相互间的影响就越大。在微博好友关系网中,边仅代表关注与被关注关系,一次即可完成,微博用户之间在互相评论、回复、转发等多次交互行为时产生了很多相互叠加的关系。PageRank算法中在计算PageRank数值时,假设权值转移是相同的,并没有把节点的重要性考虑进去。

(3)传统PageRank算法只考虑了静态节点,没有考虑动态节点,只考虑了网页节点之间的关系对节点的重要影响,没有考虑微博用户的行为特征,这种行为特征是具有自主能动性的。在分析节点之间的传播上,PageRank数值只考虑了节点的结构,没有考虑节点的非结构行为带来的活跃特征程度。在网络活动中用户的行为例如发布微博动态、评论回复、转发等都会在很大程度上影响信息的传播,PageRank算法没有很好地体现这一特征。

3.2 在微博用户网络活动基础上的影响力分析算法

为了更准确地衡量微博用户的影响力,适应活动网络的特点,文中对PageRank算法进行了改进,设计了基于活动网络的用户影响力排序算法—ANR算法。

已知活动网络Gr=(V,E,A),算法描述为:

(2)

(3)

(4)

同时定义用户ui对用户uj的交互序列为:

actionsi→j=r1,r2,…,rM,rm∈R,m=1,2,…,M

(5)

用户节点活跃度h(ui)为用户评论他人和发帖的总数:

(6)

用户间交互强度g(uj,ui)为用户间交互次数:

(7)

4 实 验

4.1 数据集

文中实验数据来自于新浪微博中的“微吧”。微吧是一个基于主题讨论与交流的社区,上线于新浪微博,实现了微博内容的按主题聚合、深度讨论和潜在热点挖掘。微吧的显著特点为同一微吧内的用户都是关注同一主题的,具有较高的聚合度和活跃度,用户不需关注即可获取微吧内其他用户所发的消息,用户间的主要交互方式为评论或回复,适合进行影响力分析。

通过网络爬虫抓取了新浪微博郑州微吧部分帖子及其回复信息,抽取参与讨论的用户信息以及微吧内用户间的交互信息建立活动网络,并使用新浪微博API采集用户的属性特征,比如用户的朋友数量、粉丝数量、发帖数等。同时,可以通过对抓取的帖子的分析得到用户在微吧内的相应属性特征。其基本信息如表1所示。

表1 基本信息

通过对表1的分析可以发现,微吧内每个用户交互量是用户关注关系量的5.8倍,相比于非好友用户数量,在微博贴吧内完全没有交互关系的用户数量只占了4.1%。图2和图3是用户在微吧内和在全网络的好友关系数量的CDF图,通过对所有用户微吧内和全网内关系数量的研究得出结论,微博贴吧内的朋友数量和粉丝数量仅占全网朋友数和粉丝数的一小部分,分别是5.2%和1.2%。间接说明了基于微博用户交互的活动网络比仅使用好友关系网络来分析用户影响力更具有合理性。

图2 用户在微吧内的朋友数和全网的朋友数

图3 用户在微吧内的粉丝数和全网的粉丝数

4.2 实验及分析

4.2.1 对比算法

为验证ANR算法,运用以下两种常用影响力度量方法作为对照:

(1)PageRank算法:PageRank算法是经典的网络算法,微博中的用户影响力排序就是通过该算法进行的。另外,ANR算法是在PageRank算法的基础上优化得来的,所以PageRank算法是基本对比算法之一,并且是在好友关系网络的基础上建立起来的。

(2)粉丝数:使用关注微吧中用户的粉丝数进行影响力排序,称为FansC(fans count)算法。Twitter等已经使用了该方法,它也被当作对比算法作为许多文献的参考。该方法也是文中的基准算法。

4.2.2 实验结果

表2左侧给出了在ANR、PageRank和FansC三种影响力排序算法的基础上得到的Top-20名用户。观察可得,PageRank与FansC两种方法得到的Top-10有相同用户重叠(不考虑排名),Top-20也有14名重叠用户—得到的结果与其他文献的研究结果相同[1],PageRank与FansC两种方法得到的用户排名结果是近似的。

表2 三种排序方法的前20名用户

表3给出了上述三种排序算法以及按发帖数、评论数Top-10和Top-20的共同覆盖率。可以看出,ANR算法得到的Top-10/20用户与用PageRank和FansC方法得到的用户的相同率仅有20%左右。ANR算法是否可行,可以从排名结果上看出,排名结果可以使用发帖数和被评论数进行分析—这两个指标在一定程度上表现了用户行为的数量和质量,文献[4,14]的结论表明这两项都能够较好地表示用户的影响力。

表3 不同方法TopN共同覆盖用户比例

表3给出了Top-20用户的相关属性特征,分析可得如下结论:

(1)ANR算法预测得到的Top-20用户的发帖数和被评论数普遍较高;在所预测的Top-20用户中,三种算法的平均发帖数量分别为233.7、96.5和98.9;而对于不在ANR Top-20的用户中,基于PageRank和基于粉丝数FansC两种算法的平均发帖量仅为2.1和2.3。另外,可以看出,不在ANR算法Top-20的用户中有很大一部分没有或者很少在微吧中发帖子。

“影响”在维基百科和现代汉语词典中定义为“对别人的思想、情感或行为起作用”,发帖数体现了用户的活跃程度,被回复数则体现了该用户的影响力,是否影响了别人。通过结论(1)的分析可知,ANR算法预测的Top-20用户发帖数和被评论数都比PageRank和FansC算法预测的高,也证明文中算法是有效的。

(2)分析ANR算法得到Top-20用户,发现一些发帖数较少的用户也有所出现。例如“一米Andrew”、“_馨小馨钱多多_”、“Nice-u”等三个用户的发帖数仅为1,但仍然排进了Top-20。分析这些用户的评论发现:这些用户的评论中存在大量自己的回复,而PageRank算法计算中无法识别这类问题,会大幅度提高这类节点的得分值。另外还发现,有些用户只活跃在早期,但排名仍然靠前。典型用户为“新浪郑州汽车”,只有5个帖子的发帖量。这5个帖子都是在微博建立之初发布的,但是由于一些微吧活跃的用户,如“樱空旭”、“凡心”等,使得该用户的影响力比实际要高很多。

结论2表现了ANR算法的问题,即Native PageRank算法本身具有的缺点,在对时间的感觉上不是很敏感。

不过在预测用户影响力的排名时,PageRank和FansC方法基本无法准确预测出微吧内的有影响力用户,而ANR算法能较准确找出有影响力的用户,也就是说文中算法对于预测用户影响力在像微吧这样的应用中是有效的。

5 结束语

通过分析现有对微博用户影响力的相关研究,提出一种在活动网络基础上的新算法-ANR。该算法针对传统微博用户影响力评估的一些问题,考虑用用户交互行为构建活动网络,结合个人的属性特征和行为特征两方面体现在PageRank算法中,进而预测用户影响力。通过对微吧数据的分析表明,基于活动网络的微博用户影响力算法对影响力的识别准确性超过了基于好友关系网络的PageRank算法和基于粉丝数排序的算法。另一方面,ANR算法的种种问题也在实验中表现出来,忽视了用户的自我评论倾向和时间对用户评论行为预测的影响。

影响微博用户准确评估涉及的因素是多方面的[15]。文中单独举出了评论这一种网络行为,其他的交互模式以及用户属性特征也会对用户影响力预测产生较大影响,如果能将多种因素有效结合将大大提高用户影响力预测的准确度。

猜你喜欢

网页影响力节点
基于HTML5与CSS3的网页设计技术研究
概念格的一种并行构造算法
结合概率路由的机会网络自私节点检测算法
采用贪婪启发式的异构WSNs 部分覆盖算法*
Crosstalk between gut microbiota and antidiabetic drug action
天才影响力
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
搜索引擎怎样对网页排序
黄艳:最深远的影响力