基于BP神经网络的微博转发量的预测
邓青1, 马晔风1, 刘艺2, 张辉1     
1. 清华大学 工程物理系, 公共安全研究中心, 北京 100084;
2. 中国人民公安大学 治安学院, 北京 100038
摘要:微博已经成为人们传播和获取信息的重要途径。突发事件相关微博的传播范围对事件的影响起着重要的作用,微博转发是扩大微博传播范围的一种重要方式。该文以城管与民众冲突事件(俗称“城管事件”)为例,将BP(back propagation)神经网络应用到该类事件相关微博的转发行为研究中,以实现该类突发事件下微博转发行为的影响因素分析和转发量的预测。该文先从发帖人和微博内容2个角度分析了突发事件下微博转发行为的影响因素, 结果表明: 1) 微博发帖人的活跃度、微博涉及主题标签、包含视频等可视化信息、提及其他用户及微博的发表时间段均对该微博的转发量有较大影响; 2) 与发帖人相比, 微博内容对其转发量的影响更大。在影响因素分析的基础上, 该文通过将预测问题转化为模式分类问题, 基于BP(back propagation)神经网络对突发事件下的微博转发量进行了预测, 并通过改变样本数对预测结果的稳定性进行了测试, 得到了有一定参考价值的预测结果。
关键词微博    转发    BP(back propagation)神经网络    预测    影响因素    权重分析    应急响应    
Prediction of retweet counts by a back propagation neural network
DENG Qing1, MA Yefeng1, LIU Yi2, ZHANG Hui1     
1. Center for Public Safety Research, Department of Engineering Physics, Tsinghua University, Beijing 100084, China;
2. Pubic Order School, People's Public Security University of China, Beijing 100038, China
Abstract: Twitter has become a major platform for expressing and gathering information to change people's opinions and lives. Retweets are a key mechanism for information diffusion. The retweet mechanism can be a useful method to guide public opinion and contribute to emergency responses. This paper considers a case study of the conflicts between urban management officials (known as Chengguan in China) and the public. This study focused on factor analysis and prediction of a tweet's popularity based on a back propagation (BP) neural network during a crisis. The weighted analysis of various factors from the perspectives of the posters and the content of the microblog messages shows how some factors, including the user's activity, hashtag, visual information, mentioning others and posting time, influences a message's popularity. The results show that followers are more attracted by a tweet's content rather than its poster. The prediction problem is changed into a pattern classification problem to predict the retweet count using a back propagation (BP) neural network. The stability of the results was tested by changing the number of samples.
Key words: Twitter    retweets    back propagation (BP) neural network    prediction    factors    weighted analysis    emergency responses    

作为社交网络的代表,微博成为了传播和获取信息的重要途径,正悄无声息地改变着人们的思维和生活方式。通过转发某用户的微博,他的粉丝可以将该微博分享给自己的粉丝。通过这种转发机制,信息得到了广泛传播,同时也引发了谣言的大范围传播。尤其在突发事件中,一旦谣言被疯狂转发,事件影响将会被扩大,进而使得局势超出控制。如果掌握了微博的转发机制,相关部门就能采取科学有效的干预机制以控制不实信息在网络中的传播并做出正确的舆情引导,因此研究微博转发机制对突发事件的应急响应有着重要的意义。

当前对微博转发的研究主要集中在影响因素分析和转发预测2个方面。在微博转发的影响指标研究方面,GUAN 等分析了热点事件中微博用户性别、身份、是否插入图片、URL等对转发行为的影响[1]; Rudat等通过实验研究了用户引导、微博主题以及信息量3个方面因素对微博转发行为的影响[2]; Morchid 等基于PCA从微博内容和用户2方面分析了微博转发的主要影响因素[3]; 吴凯等提出了兴趣相似程度、社会关系影响、文本特征与用户属性影响、用户受激活次数的影响等4种指标,并基于这些指标构建了一种行为预测的信息传播模型[4]; 在博主搜索和推荐时,LIANG 等认为受欢迎的博主的标签一般涉及学术、职业或公司[5],Armentano 等提出了基于微博内容挖掘用户兴趣的博主推荐系统[6]。这些研究都为本文指标的选择奠定了基础。在微博转发预测方面,Petrovi?等从社会因素和微博内容提出了基于pssive-aggressive算法的人工实验方法来预测微博传播[7]; 张旸基于特征加权算法构建了预测微博是否会被转发的模型[8]; Suh 等在分析了对微博转发率影响较大的因素的基础上提出了预测转发率的广义线性模型[9]; 在微博转发量预测方面,李英乐等从5个影响指标出发提出了基于支持向量机(SVM)的微博转发规模预测模型[10]。可见,当前微博转发预测的研究主要关注的是某微博能否被转发,但是在转发量预测方面的研究却不多。

本文拟将预测问题转化为模式分类问题来实现对微博转发量的预测。在模式分类中,各指标权重的确定是关键。鉴于BP(back propagation)神经网络在指标权重确定方面发挥的巨大优势[11]以及在很多领域的预测问题中的广泛应用[12, 13, 14, 15, 16, 17],本文基于BP神经网络来分析微博转发量的影响因素并实现对微博转发量的预测。

1 指标选择

本文拟从发帖人和微博内容的角度来探讨微博转发量的影响因素。从发帖人角度看,社会影响力、微博活跃度、注册年限及发帖人身份均能影响其微博的转发量; 从微博内容来看,微博内容表现出的发帖人对突发事件的态度、是否提及其他用户、是否涉及主题标签、是否含有视频、图片等可视化信息以及发表时间都会对该微博的转发量有影响。

社会影响力由用户拥有的粉丝数和其关注的好友数共同决定,如式(1)所示,即

$社会影响力=\frac{用户拥有的粉丝数}{用户关注的好友数}$ (1)

根据社会影响力的值将其分为6类,分别用0、1、2、3、4和5来表示。微博活跃度用该用户的发帖数衡量,根据用户发帖数分为5类,分别用0、1、2、3和4表示。注册年限是用户使用新浪微博的年限,通过对用户的使用年限取整,分别用0、1、2、3和4表征。发帖人身份分为普通民众和官方,分别用0和1表征。发帖人对突发事件的态度分为反对、中立和支持,分别用-1、0和1表征。本文以新浪微博为数据源,新浪微博的特殊功能使得是否提及其他用户和是否涉及主题标签这2个指标的值较易获取。当微博中出现“@用户名”标志时,表明发帖人在提及其他用户,主题标签在新浪微博中用“#微博主题#”标志表示,因此在微博内容中只需要识别“@”和“#”符号即可获取是否提及其他用户和是否涉及主题标签这2个因素的值。图片、视频等可视化信息对舆情态势的影响很大,因此将其作为一个衡量指标。用户在微博上的活跃度受时间段的影响,将发帖时间分为2个阶段。各个影响指标、指标的值及在模型中的表征值等见表1

表 1 影响因素及因变量信息表
因素分类 影响指标 指标的值 指标的表征值
与发帖人相关的因素 社会影响力 (0~1,1~10,10~100,100~1 000,1 000~10 000,>10 000) (0,1,2,3,4,5)
用户活跃度 (1~9,10~99,100~999,1 000~9 999,>9999) (0,1,2,3,4)
注册年限 (0,1,2,3,4) (0,1,2,3,4)
发帖人身份 (普通民众,官方) (0,1)
与微博内容相关的因素 发帖人态度 (反对,中立,支持) (-1,0,1)
是否提及其他用户 (否,是) (0,1)
是否涉及主题标签 (否,是) (0,1)
是否有可视化信息 (否,是) (0,1)
发表时段 (00: 00—06: 000,6: 00—24: 00) (0,1)

本文将预测问题转化为模式分类问题,将微博转发量分为2类: 低流行度和高流行度。根据李英乐等的研究,将转发量超过100的微博定义为高流行度[10],是需要重点关注的,因此本文以100作为分类标准。在BP神经网络模型中,转发量低于100的微博用0表示,高于100的用1表示。

2 数据采集

近年来,城管和民众的冲突已成为热点话题,引起了大家的广泛关注,因此本文以该类事件中比较典型的2014年青海湟中城管打人事件和2013年福建厦门城管被泼硫酸事件为例进行研究。新浪微博API为微博数据的爬取提供了有力途径,采用关键词搜索的方法来获取事件相关微博数据,最终采集到的青海湟中城管打人事件相关的微博3 141条、厦门城管被泼硫酸事件相关的微博6 090条,具体信息包括: 用户昵称、用户关注的人数、粉丝数、活跃度、注册年限、身份、发表时段、微博内容。通过文本语义挖掘从微博内容中提取发帖人对该冲突事件的态度、是否提及其他用户、是否涉及主题标签及是否包含可视化信息等。结合前面的指标选择,收集到的数据经过标准化处理,选取其中3条数据为例列在表2中。

表 2 经过处理后的微博数据的分类
社会 影响力 用户 活跃度 注册 年限 发帖人 身份 发帖人 态度 是否提及 其他用户 是否涉及 主题标签 是否有可 视化信息 发表 时段
2 3 2 0 0 0 0 0 1
5 4 4 1 0 0 0 0 1
2 4 2 0 0 1 1 1 0
3 BP神经网络实现

三层BP神经网络可实现任意非线性映射,因此本文基于最简单的三层BP神经网络来实现微博转发量的影响因素分析以及微博转发量的预测。

3.1 网络结构

三层BP神经网络由输入层、隐含层和输出层组成。各层的节点数是需要重点关注的,其中输入层和输出层的神经元个数分别由输入参数以及输出参数的个数来决定,因此输入层和输出层的节点数分别为9个和1个。而对于隐含层节点数,若节点过多,会使得训练时间延长甚至出现过拟合的情况,而节点太少,会使得结果不收敛,但目前还没有唯一的确定准则,当前比较实用的方法是通过对比不同隐含层节点数下的网络训练误差进行判断和选择[11, 12],本文基于该方法得到的隐含层神经元个数是10。具体的网络结构见图1wij是输入层和隐含层间的权重,wjk是隐含层和输出层间的权重。

图 1 BP神经网络结构图
3.2 参数确定

BP神经网络有3个重要的参数需要确定,包括学习率、目标误差和阈值。对于学习率,学习率越大,训练速度越快,但是当其太大时,将影响网络的稳定性,通常学习率的取值范围在0.01到0.8之间[11],本文取0.01。误差函数采用均方误差E,如式(2)所示,即

$E=\frac{1}{2}{{\left( t-y \right)}^{2}}$ (2)
其中: t是与实际输出y相对应的期望输出。本文中的期望输出是收集到的样本数据的微博转发量。神经网络通过训练使得实际输出尽可能地接近期望输出,也就是使误差E趋向最小。本文中的目标误差设为0.01,初始阈值为0。

3.3 传递函数

本文中,输入层到隐含层以及隐含层到输出层的传递函数分别为正切Sigmoid函数和对数 Sigmoid 函数。对于输入样本xi,隐含层的输出zj和输出层的输出y分别见式(3)和式(4),即

${{z}_{j}}=\frac{{{e}^{{{x}_{i}}}}-{{e}^{-{{x}_{i}}}}}{{{e}^{{{x}_{i}}}}+{{e}^{-{{x}_{i}}}}}$ (3)
$y=\frac{1}{1+{{e}^{-{{z}_{j}}}}}$ (4)
最后,本文基于Matlab 7.12.0 工具进行编程实现。

4 实验与结果分析

本文基于三层BP神经网络实现各指标对微博转发量的影响分析和微博转发量的预测。从前面收集到的微博数据中随机选取80条作为样本数据,其中60条作为训练样本,另外的20条作为测试样本。先从60个训练样本中选择50个,指标的影响分析以及微博转发量的预测研究是基于这50个训练样本展开的: 基于BP神经网络对50个训练样本进行学习和训练,得到输入层到隐含层的连接权重矩阵,进而计算各个指标对微博转发量的影响权重实现指标的影响分析; 然后用训练得到的连接权重矩阵进一步对测试样本进行仿真,输出其转发量的仿真结果从而实现对微博转发量的预测; 最后文章通过改变训练样本数对预测结果的稳定性进行了测试。

4.1 指标影响分析

为了分析各指标对微博转发量的影响程度,本文基于BP神经网络计算了各指标的影响权重。通过对50个训练样本的学习和训练,获得了输入层到隐含层的连接权重矩阵,其值W为:

$\begin{align} & W= \\ & \left[ \begin{matrix} 0.3129 & 0.3282 & -0.3135 & 1.3033 & 0.0493 & -0.6777 & 0.0314 & 0.0448 & 0.1197 & 0.3419 \\ -1.6863 & 1.7977 & 1.9469 & -0.555 & 0.8015 & -1.1761 & -0.4183 & 2.0784 & 1.5291 & 1.6989 \\ 0.1918 & -0.3314 & 0.3716 & 0.0797 & -0.2335 & 1.4752 & 0.4911 & -0.1343 & 1.4917 & -0.3031 \\ 0.2539 & -0.3966 & -0.2379 & 0.5428 & -0.3801 & 1.3726 & 0.2423 & -0.2284 & 0.4822 & -0.4302 \\ -0.1515 & -0.4157 & 0.5719 & 0.1217 & -0.2796 & -0.3194 & -0.1493 & 0.3629 & 0.3101 & 0.466 \\ -1.1042 & 0.6163 & 0.6656 & -0.856 & -0.9388 & -0.0324 & 2.3588 & -0.7983 & 0.2076 & -1.0213 \\ 1.2418 & -0.5911 & 0.006 & 0.5871 & 1.3649 & 2.0412 & 0.1972 & -0.7931 & -1.5147 & -0.8855 \\ 1.6811 & -1.3369 & 1.3369 & -0.7349 & 1.4334 & -0.6019 & -1.4454 & -1.2433 & 0.5986 & -0.8985 \\ -0.7267 & 1.4803 & 0.3389 & -0.1483 & 1.4566 & -0.7649 & 1.2321 & 1.2788 & -0.4232 & 0.2644 \\ \end{matrix} \right] \\ \end{align}$

以输入指标xj到所有隐含层节点的连接权重的绝对值之和的归一化结果wi作为该指标对微博转发量的影响权重[13, 14],如式(5)所示,即

${{w}_{i}}=\frac{\sum\limits_{j=1}^{n}{\left| {{w}_{ij}} \right|}}{\sum\limits_{i=1}^{m}{\sum\limits_{j=1}^{n}{\left| {{w}_{ij}} \right|}}}$ (5)
其中: m为输入指标的个数; n为隐含层的节点数。

由式(5)计算得到9个指标的权重向量为: w=(0.056,0.214,0.049,0.056,0.049,0.134,0.16,0.156,0.127),各个指标的权重分布见图2。从图2中可以看出,微博发帖人的活跃度、微博涉及主题标签、包含视频等可视化信息、提及其他用户及微博发表时间段均对该微博的转发量有较大影响。因此,一个在微博上活跃度较高的用户在非夜间发表了一条包含视频等可视化信息、关于某主题并提及其他用户的微博更容易被其他用户转发。

图 2 各指标的权重分布

发帖人相关和微博内容相关的影响因素的权重分别为0.375和0.625,因此,与发帖人相比,微博内容对微博转发量的影响更大,也就是粉丝更容易被一条微博的内容所吸引而并非发微博人本身。

4.2 微博转发量预测与结果测试

通过前面对训练样本的学习,已经得到了输入层到隐含层以及隐含层到输出层的连接权重矩阵,进而输入测试样本,用训练得到的连接权重来实现对20个测试样本的仿真,输出微博转发量的仿真结果。通过实际输出与期望输出的对比,来判断预测模型的准确率,结果见表3

表 3 不同样本数的预测结果
样本数 训练时间/s E 准确率/%
40 58 0.045 7 95
57 0.047 0 95
57 0.030 1 95
50 57 0.061 9 85
57 0.051 9 100
59 0.048 4 95
60 57 0.079 2 90
58 0.032 5 100
57 0.050 8 95

为了测试训练样本数对预测结果的影响,本文选取了3组不同个数的训练样本,分别为40、50和60,而对于每组训练样本均重复训练3次,然后比较迭代10 000次后的训练结果,结果见表3

为了减小随机误差的影响,将实验重复进行了3次,3次实验的平均值见表4。3次实验准确率的平均值达到了93.3%以上。

表 4 不同样本数实验的平均值
样本数 训练时间/s E 准确率/%
40 57.3 0.040 9 95
50 57.7 0.054 1 93.3
60 57.3 0.054 2 95

由表中结果可知,样本数对预测结果的影响很小,尤其从训练时间和预测准确率(平均值)方面比较,3次实验的差别很小。从训练误差来看,当训练样本数是40时,误差相对较小,这是因为当训练样本越少时,训练结果越容易精确地接近每一个训练样本,但是这对测试样本的输出结果的准确性影响不大。因此,训练样本数在一定范围内对预测结果的准确率影响很小,也就是该预测模型对样本数的要求不高,预测结果较稳定,从而也说明上述以50个训练样本为例所得到的结果有一定的参考价值。

5 讨论

本文在探讨突发事件下的微博转发量的影响因素时,除了综合考虑前人已论证过的一些因素,如发帖人的粉丝量、关注量、活跃度、注册时间、发帖时间、发帖人的态度等,在模型中也引入了一些其他因素,如是否提及其他用户、是否涉及主题标签、发帖人身份和是否含有可视化信息等。在应急处置中,官方和民众往往处于对立的面,他们对事件存在不同看法,将其引入到研究模型中,对突发事件的应急处置有一定的意义。在突发事件中,微博的文本内容是一个方面,图片、视频等可视化信息对舆情态势的影响也很大,因此文中将其作为影响因素加以探讨。“@”和“#”成为了微博中流行的元素,因此将是否提及其他用户、是否涉及主题标签考虑到预测模型中,研究也表明这2个因素对微博的转发量有较大的影响。

为了综合考虑上述所有因素,需要用计算机能识别的语言将各指标表达出来,但这些指标不在同一个范畴且度量范围差别很大,因此本文尽可能对各指标采取了归一化处理。然而,这样处理之后依旧只能根据各指标的单位变化衡量引起的微博转发量的波动幅度,无法严谨地证明各指标对微博转发量的影响大小。

6 结论

本文将BP神经网络应用到突发事件下用户的微博转发行为的影响因素分析和微博转发量的预测中。以城管事件为例,从发帖人和微博内容的角度分析了突发事件下的微博转发量的影响因素,并基于此对微博转发量进行了预测。在微博转发量的影响因素分析中,微博发帖人的活跃度、微博是否涉及主题标签、是否包含视频等可视化信息、是否提及其他用户及发帖时间段均对该微博的转发量有较大影响,也就是一个在微博上活跃度较高的用户在非夜间发表了一条包含视频等可视化信息、关于某主题并提及其他用户的微博更容易被其他用户转发。与发帖人相比,微博内容对微博转发量的影响更大,这说明粉丝更容易被一条微博的内容所吸引而并非发微博人本身。本文对微博转发量进行了预测,预测结果的准确率较高并且在一定范围内对样本数的要求不高。

虽然该预测模型在本文中得到了较好的结果,但是本文基于的是案例研究,对于该模型是否同样能应用到其他情景这个问题暂时还没有进行较深入的探讨,这也是今后研究的方向。然而本文基于BP神经网络构建的模型为该类突发事件下的微博转发量的预测提供了一个新的视角。在该类事件的处置过程中,相关部门可以根据预测结果采取科学有效的舆情干预和引导措施,有效地制止谣言的传播,为相关部门的应急响应提供决策支持。

参考文献
[1] GUAN Wanqiu, GAO Haoyu, YANG Mingmin. Analyzing user behavior of the micro-blogging website Sina Weibo during hot social events [J]. Physica A, 2014, 395: 340-351.
[2] Rudat A, Buder J, Hesse F W. Audience design in Twitter: Retweeting behavior between informational value and followers' interests [J]. Computers in Human Behavior, 2014, 35: 132-139.
[3] Morchid M, Dufour R, Bousquet P M, et al. Feature selection using principal component analysis for massive retweet detection [J]. Pattern Recognition Letters, 2014, 49: 33-39.
[4] 吴凯, 季新生, 刘彩霞. 基于行为预测的微博网络信息传播建模 [J]. 计算机应用研究, 2013, 30(6): 1809-1813. WU Kai, JI Xinsheng, LIU Caixia. Modeling information diffusion based on behavior predicting in microblog [J]. Application Research of Computers, 2013, 30(6): 1809-1813. (in Chinese)
[5] LIANG Bin, LIU Yiqun, ZHANG Min, et al. Searching for people to follow in social networks [J]. Expert Systems with Applications, 2014, 41(16): 7455-7465.
[6] Armentano M G, Godoy D, Amandi A A. Followee recommendation based on text analysis of micro-blogging activity [J]. Information Systems, 2013, 38(8): 1116-1127.
[7] PetroviS, Osborne M, Lavrenko V. RT to Win! Predicting Message Propagation in Twitter [C] // Fifth International AAAI Conference on Weblogs and Social Media (ICWSM). Barcelona, Spain: Association for the Advancement of Artificial Intelligence, 2011.
[8] 张旸, 路荣, 杨青. 微博客中转发行为的预测研究 [J]. 中文信息学报, 2012, 26(4): 109-115. ZHANG Yang, LU Rong, YANG Qing. Prediction retweeting in Microblogs [J]. Journal of Chinese Information Process, 2012, 26(4): 109-115. (in Chinese)
[9] Suh B, Hong L, Pirolli P, et al. Want to be retweeted? Large scale analytics on factors impacting retweet in twitter network [C] // 2010 IEEE Second International Conference on Social Computing (SocialCom). Minneapolis, USA: IEEE, 2010.
[10] 李英乐, 于洪涛, 刘力雄. 基于SVM的微博转发规模预测方法 [J]. 计算机应用研究, 2013: 30(9), 2594-2597. LI Yingle, YU Hongtao, LIU lixiong. Predict algorithm of micro-blog retweet scale based on SVM [J]. Application Research of Computers, 2013, 30(9): 2594-2597. (in Chinese)
[11] ZHANG Yiwen, QI Jiayin, FANG Binxing, et al. The indicator system based on BP neural network model for net-mediated public opinion on unexpected emergency [J]. China Communications, 2011, 8(2): 42-51.
[12] 何长虹, 黄全义, 申世飞, 等. 基于BP神经网络的森林可燃物负荷量估测 [J]. 清华大学学报: 自然科学版, 2011, 51(2): 230-233. HE Changhong, HUANG Quanyi, SHEN Shifei, et al. Forest fuel loading estimates based on a back propagation neutral network [J]. Journal of Tsinghua University: Science and Technology, 2011, 51(2): 230-233. (in Chinese)
[13] 杨淑娥, 黄礼. 基于BP神经网络的上市公司财务预警模型 [J]. 系统工程理论与实践, 2005, 1(1): 12-18. YANG Shu'e, HUANG Li. Financial crisis warning model based on BP neural network [J]. System Engineering-Theory & Practice, 2005, 1(1): 12-18. (in Chinese)
[14] 张天云, 陈奎, 魏伟, 等. BP神经网络法确定工程材料评价指标的权重 [J]. 材料导报, 2012, 26(2): 159-163. ZHANG Tianyun, CHEN Kui, WEI Wei, et al. The determination of index weights for comprehensive evaluation engineering materials with BP neural network [J]. Materials Review, 2012, 26(2): 159-163. (in Chinese)
[15] 刘敏, 孙树栋. 基于ANN的电子商务水平测度指标权重的确定方法 [J]. 电子商务, 2006, 4(88): 136-140. LIU Min, SUN Shudong. Research on method of computing indicator weight for E-commerce development level estimaion based on ANN [J]. Journal of E-commerce, 2006, 4(88): 136-140. (in Chinese)
[16] WANG Zhiliang, LI Yongchi, Shen R F. Correction of soil parameters in calculation of embankment settlement using a BP network back-analysis model [J]. Engineering Geology, 2007, 91(2): 168-177.
[17] REN Chao, AN Ning, WANG Jianzhou, et al. Optimal parameters selection for BP neural network based on particle swarm optimization: A case study of wind speed forecasting [J]. Knowledge-Based Systems, 2014, 56: 226-239.