1. 引言
近年来中国互联网技术的迅速发展催生了大量的社交网络平台,例如新浪微博、微信、抖音短视频等等。这些平台拥有大量的网民用户,并且用户可以通过这些平台自由发布个人评论和态度,这样使得网络舆情由此产生。由于网络舆情具有虚拟性、突发性以及破环性等特点,很容易出现一些网民将网络平台作为随意发泄情绪的空间,发布一些有悖于事实的言论导致网络空间的混乱甚至影响社会的稳定发展。因此建立一套合理的自动化网络舆情预警体系有利于协助相关人员及时关注网络舆情的走向,更加准确地对网络舆情转播中的突发状况进行预警,对维护和促进社会和谐稳定产生积极影响。
国外对于舆情的研究起步较早,美国等国家基本都是围绕选举发展起来的,1936年Archibald Crossley对民众舆情进行研究来预测当年美国总统大选结果 [1]。进入互联网时代国外学者加速开展利用现代先进技术进行网络舆情预警分析。专家可通过使用人工智能算法理论进行数据挖掘工作。Antioine Naud等利用文本主题聚类算法对舆情事件的热点主题进行文本倾向性分析,及时发现民众情感倾向性进行及时预警 [2]。Geng利用层次分析法的极限学习机(AHP-ELM)预警建模来处理食品安全中复杂的食品检验数据方面的问题 [3]。大多数国外的研究成果对于我国网络舆情安全预警方面有较大的参考价值,但是国外大部分解析网络舆情方法均不对外公开,很难获取和借鉴。
我国对于网络舆情预警模型的研究开始较晚。但是随着时代发展,使用先进技术手段建模的文献逐渐增加。刘毅利用基于三角模糊数的模糊德尔菲法和模糊层次分析法,建立了针对某一具体热点话题或公共事件的网络舆情预警指标体系 [4]。王铁套等也是利用传统的模糊综合评价法建立网络舆情预警模型 [5]。孙玲芳将遗传算法和BP神经网络和遗传算法相结合,构造了基于BP神经网络和遗传算法的网络舆情危机预警体系 [6]。张艳岩建立了基于支持向量机的网络舆情危机预警模型 [7]。
梳理国内外文献可以发现:从研究内容看,我国对于社会稳定预警研究起步较晚且研究内容较少,并且依据的理论基础大多数都从国外理论展开,没有从我国的基本国情出发,导致研究成果缺乏可操作性。从研究方法上看,多数文献在网络舆情预警指标选择上采取定性描述的方式,缺乏定量指标的设定。而定量分析应当是网络舆情预警研判的基础。从研究实证和影响看,多数研究成果在对网络舆情预警指标设定之后缺乏实证分析和检验,呈现出重理论、轻实证的现状。本文首先使用改进的复合权重的计算方法,将专家对网络舆情不同时间点的预警得分与百度指数相结合,计算出最终的预警综合得分。其次采用BP神经网络在建立的网络舆情预警指标体系基础上构建完整的网络舆情预警模型对具体网络舆情事件进行定量预警。
1.1. 专家打分法
在使用BP神经网络构建网络舆情预警模型时设置期望输出值时引入专家打分法作为预警等级进行评判重要依据,使得BP神经网络可以有效训练和学习。同时便于模型最终预警的评价和分析。
1.2. 复合权重得分法
通过对主观得分与客观得分进行赋权计算不同时间点的综合得分。本文将主观得分与客观得分采用公式(1)对不同时间点综合得分S的计算 [8]。其中,主观得分为专家打分数据,客观得分为百度指数评价数据。
(1)
其中
为主观得分分数,
为客观得分分数,
为权重偏好系数。
为确定
值,可以采用最小二乘法建立规划模型,可得到:
(2)
通过求解可得到动态的权重偏好系数
为:
(3)
1.3. BP神经网络简介
BP神经网络全称是基于误差反向传播算法的人工神经网络,是神经网络学习算法的一种。误差逆传播(Back Propagation,简称BP)算法是目前最成功的神经网络学习算法。它包括输入层、隐层以及输出层。不同的层级之间互联,相同层级的神经元不相连,图1为BP网络结构图:

Figure 1. Structure diagram of BP neural network
图1. BP神经网络结构图
算法步骤主要分为以下几步:
1) 初始化网络连接权和阈值。输入样本X和期望输出Y,输入层第I个神经元与隐层第H个神经元之间的连接权为
,隐层第h个神经元与输出层第j个神经元的连接权为
,输出层第j个神经元的阈值为
,隐层第h个神经元的阈值为
。输入神经元个数即为设计的预警体系指标数为d,输出神经元个数为预警等级数量为l,隐层神经元个数为q,学习率为
。
2) 计算隐层输出,其中f为隐层传递函数
(4)
3) 计算输出层输出。由隐含层输出,计算预测输出层输出:
(5)
其中f为输出层传递函数。
4) 进行误差计算并判断计算实际输出各节点的误差:
(6)
计算隐层输出各节点的误差:
(7)
当误差小于预期设定的误差时返回步骤(1)进行下一个样本的学习,若所有样本学习完成,则训练结束。当误差未达到预定要求且学习次数未超限制时,需要对权值和阈值进行更新。
5) 连接权值的更新。更新输出层的连接权值:
(8)
其中N表示迭代次数,
表示修正系数,且
。更新隐层的连接权值:
(9)
其中N表示迭代次数,
表示修正系数,且
。
6) 阈值的更新。更新输出层的阈值
(10)
更新隐层的阈值
(11)
7) 将步骤(5)和(6)中修正的连接权值和阈值返回步骤(2)中进行继续训练学习,直至训练误差达到预期要求或者循环次数足够大。
2. 数据处理与描述
2.1. 网络舆情预警指标的选取
网络舆情预警指标体系是不仅能够及时反映网络舆情现状和存在的问题,并且可以及时对于突发事件作出及时预警。在结合相关网络舆情传播理论以及网络舆情的发展及变化规律的一些特点,同时遵循科学性、可操作性、定性与定量相结合、灵敏性原则建立网络舆情预警指标体系。
在已有相关研究结果和网络舆情理论研究的指导下,又通过向政府舆情管理部门和媒体单位的相关专家进行咨询,经过多次整改遴选,最终构建了4个一级指标和16个二级指标的网络舆情预警指标体系如表1所示。

Table 1. Network public opinion warning index system
表1. 网络舆情预警指标体系
2.2. 网络舆情预警指标含义
1) 网络搜索量是指在某个时间段之内网民使用百度搜索引擎搜索相应舆情事件的数量。该指标可以使用百度指数进行描述,百度指数是将网民在百度的搜索量作为基础,计算不同关键词在百度搜索中的频次进行加权计量得出。
2) 媒体来源数量是指在某个时间段内发布某舆情事件相关报道的网络新闻媒体的数量。通过综合统计,国内使用频率较高影响力度和公信力度较大的10个新闻媒体网站分别是:人民网,凤凰资讯,央视网,新浪新闻,新华网,中国网,观察者网,今日头条,腾讯新闻,搜狐新闻。在百度搜索引擎中对舆情事件进行搜索,并将搜索出的报道标题结果进行分词处理,与上述10个网站进行匹配,计算出舆情事件出现在10个网站中的次数。
3) 媒体报道量是指某个时间段内某舆情话题相关的所有媒体报道的数量。
4) 原创微博发布量是指微博用户在某个时间段内发布某舆情事件的原创微博数量。通过新浪微博网页版搜索某舆情事件关键词,选择对应时间段,使用高级检索工具抓取原创微博数量。
5) 微博转发量是指在某个时间段内转发某舆情事件的微博条数。
6) 微博评论数是指在某个时间段内评论某舆情事件的微博条数。
7) 微博点赞量是指在某个时间段内某舆情事件的微博的点赞数量。
8) 发布者影响度是指不同舆情信息的传播者对于网络舆情事件发展的影响力。本文将此指标量化为发布者影响度 = 0.8 * 大V博主数量 + 0.2 * 普通博主数量。
9) 事件搜索量变化率是指在一段时期内某个舆情事件搜索量的变化量。
10) 原创微博发布量变化率是指在一段时期内某个舆情事件原创微博的变化量。
11) 微博评论数变化率是指在一段时期内某个舆情事件微博评论的变化量。
12) 微博转发量变化率是指在一段时期内某个舆情事件微博转发量的变化情况。
13) 舆情内容直观度是指网民获取网络舆情事件进展的直观程度。据《2010年中国互联网舆情分析报告》研究表明 [9],带有舆情事件相关图片、视频等较直观内容的信息传播速度更快。因此舆情内容直观程度可以通过发布的有关微博中带有图片和视频的数量占全部微博的比例来表示。
14) 事件性质是由不同网络舆情事件的类型决定的。不同的事件类型网民的参与程度也会有所不同。可以将事件分为自然灾害、事故灾难、公共卫生事件、社会安全事件、娱乐事件等。此定性指标可由专家打分的方式来量化不同事件性质的重要程度,得分在0和1之间,表示对应事件性质类型的重要程度,0表示不重要,1表示非常重要,0.5、0.7分别表示重要、很重要。
15) 舆情主题敏感度是指网民对于某个舆情事件的关注和反映程度。0表示不敏感,1表示非常敏感,0.5、0.7分别表示敏感、很敏感。
16) 舆情主题容忍度是指网民对于某一网络舆情事件的容忍程度的大小,其取值范围是[0,1]。
2.3. 网络舆情事件的概述
2019年3月30日18时许,四川省凉山州木里县雅砻江镇立尔村发生森林大火由于火情等级较高,火灾波及范围和破坏力较大,在搜救和灭火过程中受自然地形和风力突变等原因发生山火爆燃事件,造成27名消防指战员和4名地方扑火人员壮烈牺牲。本文选取四川省凉山州木里县“3.30”森林火灾这一突发性自然灾害事件作为样本采集的舆情事件案例。事件具体进展如表2所示。
2.4. 数据来源与预处理
本文使用python软件对百度网页数据和微博平台数据进行爬取。爬取了3月26日至4月21日的数据进行实证分析。将27天分为25个时间点,前15个时间点为建模组用以模型的构建,其余10个时间点的样本数据划分为测试组。
采集的数据需要对原始数据进行数据预处理。依据本文建立的指标体系中的指标解释并采用Excel等计算软件对缺失值、极端值等进行处理得到的部分原始数据如表3所示。
3. 实证分析
3.1. 样本预警等级的设定
关于网络舆情预警的级别暂时还没有统一的标准,通过参考现阶段各类文献,本文认为可以将预警等级进行进一步划分,并使用不同颜色对严重程度进行表示。因此本文通过参考“社会治安预警等级标准”课题组关于社会治安预警等级标准的依据和预警等级的构造原则 [10] 最终将网络舆情预警等级分为特大警情(I级)、重大警情(II级)、较大警情(III级)、一般警情(IV级)、无警情(V级)共五个等级,分别用红色、橙色、黄色、绿色和蓝色表示。不同预警等级的划分和得分区间如表4所示。

Table 4. Classification of early warning levels
表4. 预警等级分类
使用BP神经网络建立网络舆情预警模型训练时需要输入舆情事件不同时间点的预警等级期望输出,因此必须要提前对网络舆情事件不同事件点的预警等级进行科学研判。本文采用主观的专家打分法与客观百度指数评价数据相结合的方法对网络舆情事件不同时间点的预警等级进行划分。得到预警等级如表5所示。

Table 5. Comprehensive scores and warning levels of network public opinion events
表5. 网络舆情事件的综合得分和预警等级
将通过计算得到的综合得分和预警等级作为建立BP神经网络网络舆情预警模型中的期望预警等级。同时将最终计算出的综合得分作为模型评判的评价标准。
3.2. 模型构建
3.2.1. BP神经网络模型结构的确定
1) 输入节点个数设定。本章建立的网络舆情预警指标体系中共设立16个预警指标,故输入节点设置为16。
2) 设置隐层节点。由于神经网络具有大量的并行分布结构和非线性动态特性 [11]。隐层节点的设置没有明确的公式,通过参考资料 [12],采用公式(12)来确定隐层节点个数:
(12)
其中m为输入层节点个数,n为输出层节点个数,a为1~10之间的任意常数。当隐含节点数为8时训练精度较好,因此最终确定隐含层的节点个数为8。
3) 输出节点个数设定。预警等级分为五个等级,因此设定输出节点个数为5。
BP神经网络预警模型是典型的“输入层–隐层–输出层”模型。其中输入层输入的样本是指标的样本实际值,输出的是期望得到的预警结果,即五种预警程度,中间神经网络处理部分就相当于一个“黑匣子”。则输入节点数为16,输出节点数为5。模型示意图如图2所示。

Figure 2. Schematic diagram of neural network model
图2. 神经网络模型示意图
3.2.2. 面向MATLAB的BP神经网络模型的建立
1) 设置训练参数。采用的具体训练参数如表6所示。

Table 6. Training parameters of neural network
表6. 神经网络的训练参数
2) 数据归一化。将指标值进行数据预处理之后,为使得各个指标具有相应的可比性需对其进行归一化处理。正向指标的归一化和负向指标的归一化分别如公式(13)和公式(14)所示。
(13)
(14)
对于本文设计的网络舆情预警指标体系的不同指标的性质进行分析,不同指标的性质如表7所示。

Table 7. Index properties of early warning system
表7. 预警体系指标性质
将预处理之后的数据依据表7中指标的性质,对原始数据进行归一化处理。
3) 数据输入。将训练样本以矩阵的形式输入到MATLAB中,将训练模型中样本对应设定的预警状态作为期望输出变量。警情由低到高输出状态分别为00001、00010、00100、01000、10000。则训练样本的期望输出如表8所示。

Table 8. Expected output of training samples
表8. 训练样本期望输出
4) BP神经网络的生成和训练。利用MATLAB R2016a 中BP神经网络模拟工具包可以直接在对应操作框中输入训练样本和期望输出变量。
通过32270次的训练,误差率为1.00e−05,达到目标范围内,运行结果如表9所示。训练误差曲线变化图如图3。

Table 9. Expected output of training samples
表9. BP神经网络运行结果
3.3. 实证结果分析
3.3.1. 预警正确率
通过输入归一化后的训练样本,通过模型对不同样本预警等级的划分判定BP神经网络预警模型的预警正确率。将得到的输出结果 按照公式(15) [13]:
(15)
实际输出结果与转换后的实际输出结果如表10所示:

Table 10. Summary of test sample output results
表10. 检验样本输出结果汇总
通过结果汇总可以看出,10个测试样本中只有三个样本与期望输出存在差异,其余样本均输出正确预警结果,可看出使用BP神经网络建立网络舆情预警模型对网络舆情事件的预警等级的正确率达到70%,因此使用BP神经网络对网络舆情进行预警的正确率较高。
3.3.2. 预警精确率
使用BP神经网络模型对网络舆情事件预警的精确率统计如表11所示。

Table 11. BP neural network early warning accuracy rate statistics
表11. BP神经网络预警精确率统计
通过表11不同预警等级的预警精确率求算数平均数可以计算出使用BP神经网络的平均精确率
:

因此使用BP神经网络进行舆情预警的平均精确率达到62.5%,虽然超过50%,但是预警精确率还有待提升。
4. 结论及建议
本文通过建立网络舆情预警体系并使用BP神经网络建立网络舆情预警模型对4.30四川省凉山州森林山火事件进行实证分析可以得到以下结论。第一,网络舆情预警指标体系一级指标包含舆情主题、舆情热度、舆情参与度和舆情传播态势,说明这几个方面对于网络舆情的警情程度的判定影响较大。第二,利用MATLAB构建BP神经网络舆情预警模型,通过四川省凉山州山火实例数据验证了使用所建立的模型进行预警的正确率较高,但是在精确度方面有待提升。第三,通过实例不仅验证了利用BP神经网络建立网络舆情预警模型的有效性,同时也证明了网络舆情预警指标体系的可行性,可以利用指标体系中包含的指标因素对网络舆情事件开展及时治理工作。
基于以上结论,本文就提高我国网络舆情预警的能力提出以下建议。第一,发挥微博等媒体平台自律作用。为确保网络环境的安全秩序,不同的网络媒体平台应当自发设立网络信息管理小组,同制定相应的管理条例对发布信息的媒体机构和广大网民提出约束条件,在保证网络空间言论自由的情况下保证网络空间的纪律性。微博平台通过从微博用户中招募“法官”来自发处理微博中的不实信息和不良评论,采取封锁账号、禁言等方式进行惩罚。使得网络监管在政府刚性管理之外有了一个缓冲的平台,推动了微博网友的自律,具有较大的参考意义。第二,使用人工神经网络进行网络舆情预警,提升技术治理水平。通过先进的技术手段可以建立网络舆情预警模型,对可能会影响社会稳定的舆情事件进行预判。本文通过实证分析证明了神经网络对网络舆情预警等级预测的准确性和实用性。因此在对网络舆情事件不同时间段的预警等级进行判断时可以采用BP神经网络实现预判。在大数据时代背景下,通过大数据平台技术实现对网络舆情事件数据的自动收集、整理,同时采用对应技术手段对数据进行分析和情感研究,可以更加快速准确获取舆情信息,弥补传统数据收集和处理办法的不足,从而提高舆情处理效率。
致谢
感谢匿名审稿人提出的宝贵修改意见。
基金项目
感谢国家社科基金青年项目《社交网络对社会稳定性影响的统计研究》(15CTJ006)对本研究的资助。