微博话题检测与舆情分析研究
2018-10-29吴财贵龚文辉付青
吴财贵 龚文辉 付青
摘要:话题检测与舆情分析是网络舆情监控中的热点问题,对热点话题进行检测并对舆情预警度进行分析将有助于舆情监控和管理。考虑话题的周期性,建立基于时间窗口的原始指标,利用主成分分析方法得到有关综合指标,利用两层隐含层的BP神经网络方法建立舆情分析判别模型;利用MB-SinglePass算法对数据进行话题检测,并选取10个话题进行舆情预警度判别,实现对微博话题的检测与舆情分析。最后将话题检测结果与人工标记话题结果进行比较分析,验证了话题检测算法的正确性和有效性。同时通过与其它舆情分析判别模型进行实验比较,发现在实验条件相同的情况下,该原始指标和分析判别模型得到的舆情预警度分类结果准确率更高,增加的时间成本代价也在可接受范围内。
关键词:话题检测; 舆情分析; BP神经网络模型; 主成分分析
DOIDOI:10.11907/rjdk.173265
中图分类号:TP3-0
文献标识码:A 文章编号文章编号:1672-7800(2018)008-0085-05
英文摘要Abstract:Topic detection and public opinion analysis is the hot topic in network public opinion monitoring.The analysis of hot topics and public opinions are helpful to the public opinion monitoring and management.In this paper,we consider the topic periodicity,establish the original index based on the time window appiy the principal component analysis method to get the relevant comprehensive index and use two layers of hidden layer BP neural network method to establish public opinion analysis and judgment model.The MB-Single Pass algorithm is used to detect the topic data and selecte 10 topics for public opinion and early warning judgment,and microblogging topic detection and public opinion analysis are realized.The results of the topic test and the results of artificial markers are compared and analyzed,which validates the correctness and the effectiveness of the topic detection algorithm.The experimental results show that the experimental results are in the same experimental conditions,the original indicators and the public opininon analysis form judgment model are more accurate,the additional time costs in the acceptable range.
英文关键词Key Words:topic detection; public opinion analysis; BP neural network model; principal component analysis
0 引言
微博作为用户参与、传播式的网络信息交互平台,能够实时反映当前社会的焦点话题与民众舆论倾向。对焦点话题进行舆论监测,有助于舆情监控部门进行相应的舆情分析。话题检测技术是进行舆情分析的基础与前提,针对微博话题的检测研究主要从以下3个方面进行:①微博数据预处理;②微博数据特征选择;③微博话题聚类算法研究。
微博数据预处理主要是对微博数据进行分词操作及词性标注,然后去除噪声,目前使用最多的方法是中科院的ICTCLAS分词方法[1-2]。微博数据的特征选取主要有文档频率、互信息和信息增益3种权值计算方式[1-3],通过计算有关特征词的权值大小,选取权值大的前几项作为数据特征项,从而实现数据特征的选取。微博话题聚类算法根据各微博话题提取的微博数据特征进行话题聚类,从而实现话题检测,常用的有增量聚类算法[1]、基于主题模型的算法[4]以及增量K-means算法[5]等。周刚等[1]对该算法进行改进,将微博发布时间作为处理顺序,从而降低了算法对处理顺序的敏感度;姜晓伟等[6]针对特定主题进行话题发现与排序,引入LDA主题模型实现词的聚类与特定主题挖掘。
在舆情分析研究方面,姚长青等[7]提出基于主题的舆情跟踪方法,运用信息增益和互信息对特征项进行权值计算,采用Bayes、K近鄰和Rocchio方法分别对给定的主题事件进行舆情跟踪,从而有效分析热点事件的发展趋势;李弼程等[8]采用军事领域的战场态势分析与威胁估计思想对网络舆情态势分析与预警进行研究,在提出相应特征提取技术的同时,建立适合计算机实现的网络舆情态势分析模式;曾润喜等[9]通过研究网络舆情分级预警机制,构建出基于警源、警兆和警情3类指标的体系模型;孙玲芳等[10]建立3级指标体系,分别从舆情危险度、舆情扩散度和舆情热度3个维度对事件进行考虑,提出基于云模型的网络突发群体事件舆情危机预警方法;陈新杰等[11]通过传播扩散、发布主体、内容要素和舆情受众4个指标监测网络舆情发展演变过程。
本文基于饶浩等[12]提出的方法进行改进,根据话题的周期性特点,引入基于时间窗口的原始指标,提出基于主成分分析和两层隐含层BP神经网络模型的微博话题舆情分析方法。首先对微博数据进行话题检测,然后利用主成分分析方法对选取的指标参数进行主成分提取,将提取的主成分作为BP神经网络输入层,根据该模型进行话题舆情预警度学习分类,从而实现在线话题的舆情预警度判别。
1 话题检测算法
1.1 数据采集与预处理
本文通过新浪微博提供的API接口对其平台上的数据进行采集,利用中科院的分词系统ICTCLAS对获取的微博数据进行分词及词性标注。数据预处理目的是去除微博数据中的噪声信息,本文根据微博数据特点,利用分词得到的有关词性将其中的URL、表情符号、标点符号等噪声剔除。同时,为了降低特征向量维度,本文根据停用词库剔除数据中的停用词。所得结果如图1所示。
1.2 话题检测
为了更好地描述话题间的相似度,选用文献[1]使用的组合相似度计算方法和主题模型更新策略。在相似度计算方面,选用语义相似度、雅可比相似度和余弦相似度组合计算的方法,如式(1)所示。
话题检测算法主要沿用文献[1]中的方法,具体流程如下:①数据采集及预处理。对微博数据进行采集、分词、去停用词和有关词项的信息增益权重计算等预处理操作;②话题主题模型建立。根据预处理和有关权重组成话题主题向量;③使用MB-SinglePass算法对话题主题向量进行话题聚类。若是第一条话题数据,则将其设为新话题类,否则进入下一步;④若后面话题与某一话题类别中的话题是转发和评论关系,或其最大相似度大于MB-SinglePass算法设定的聚类阈值,则将其归为一类并更新话题向量,进入第⑥步,否则进行第⑤步;⑤若最大相似度值小于MB-SinglePass算法中的创新阈值,则将其设为一个新话题类别,否则将其归为同一话题类别。同时判断该测试话题与最大相似度话题之间是否具有好友或粉丝关系,若是,则更新话题向量,否则不更新;⑥判断是否是最后一条话题数据,若不是,进入第③步,否则结束该算法流程。
通过上述流程实现话题聚类,然后对每个类别中的话题特征向量进行特征项重复次数计算,并按降序排列,最后选取前10个特征项作为话题主题描述向量。
2 主成分分析与BP神经网络模型
BP神经网络模型分为信息的正向传播子过程和误差的反向传播子过程两部分,具有3个层次结构,分别为输入层、隐含层和输出层。输入层将有关特征参数作为输入节点分布于输入层上;隐含层主要将输入层的数据信息进行变换,其层数选取和节点数目可自主设定,但考虑各隐含层节点数目对BP神经网络模型性能的影响,可根据公式(2)对节点个数进行调节;输出层接收隐含层传递的信息,并完成一次正向传播子过程。误差的反向传播子过程是当上述操作的输出层结果与期望输出结果不一致时,根据误差函数(见式(3))计算误差,然后利用梯度下降法按照输出层-隐含层-输入层反向传播顺序,对其各层次间的权值进行更新。上述两个子过程反复、交替进行,直至其输出误差降低至可接受的阈值范围内,或其学习过程达到预期设定的学习次数。
考虑微博网络舆情预判指标间可能存在的相关性,本文采用以下两种方式进行处理:①根据主成分分析方法消除指标间存在的相关性;②根据原始指标间的相关性,利用其组合形成的线性表达函数得到综合指标。
本文利用主成分分析方法构建指标参数体系,选取特征值大于1且原始指标中大多數信息可被解释的若干个综合指标替代原始指标,从而减少指标数量并去除原始数据中的冗余信息,使数据更具代表性。将该综合指标作为BP神经网络模型的输入层节点数据,通过信息的正向传播子过程和误差反向传播子过程反复、交替进行,得到有关输出层结果,实现话题等级分类。建立的BP神经网络模型如图2所示。
3 实验及结果分析
本文通过新浪微博API提供的C#接口,对其微博数据进行采集,包括用户名、用户ID、微博数据内容、源微博ID、地点信息、相关微博评论信息等。本文实验选用2016年10月24日、25日、26日、29日和30日5天的微博数据,对其中的140 202条数据进行人工标注(其中每日数据量分别为18 000、25 000、30 700、29 000、37 502条),对标注结果进行评价及分析。
本文沿用文献[1]的话题组合相似度的加权系数值,即(α,β,γ)=(0.3,0.3,0.4)。
本文开发环境选用VS2012,采用C#语言进行数据获取及C++语言进行数据处理与分析。
3.1 微博话题检测结果分析
本文采用文献[1]的方法对采集到的数据进行话题检测,话题聚类结果如图3所示。
由图3可得实验话题聚类结果与人工标记的话题聚类结果基本一致,仅存在较小差异。差异形成的部分原因是由于微博数据中存在类似“分享图片”的无效微博,但在一定程度上不影响最终话题检测结果。
话题聚类完成后,对该类话题进行主题描述,将描述结果与人工提取话题进行比较分析,如表1所示。
由表1可知微博话题描述结果与人工对微博话题描述结果基本一致,并发现其与对应话题的微博内容高度相似,说明本文方法能有效地对聚类的微博数据进行描述。
另外为测试本文使用方法的性能,选用采集到的2016年10月24日微博话题数据进行准确率P、召回率R及F值比较(见式(4)),结果如图4所示。
其中,c为正确识别的热点话题数,o为识别的热点话题数,l为人工标记的该段时间内热点话题数。
从图4中可以看出,MB-SinglePass算法可得到较为满意的结果,充分证明了算法的正确性和有效性。
3.2 主成分分析与BP神经网络模型应用
3.2.1 话题集选取方式
目前,由于没有舆情预警度评价标准库,本文依照文献[12]的训练样本和测试样本选取方式,以验证说明本文所使用指标和模型的有效性。具体说明如下:根据新浪微博提供的2013年年度及各月份热门话题进行数据采集,将2013年年度热门微博话题视为舆情预警度最严重的I级,各月份微博热门话题排名在前的视为II级,排名在中间的视为III级,余下视为IV级,将以上数据作为训练样本集,如表2所示。同理将2014年的有关话题作为测试样本集,如表3所示。
3.2.2 话题数据主成分分析及BP神经网络模型构建
本文将用户粉丝数followers_cont、用户关注数friends_count、用户微博数statuses_count、T1~T4共4个时间窗口下微博内容评论数comments_count_t1、comments_count_t2、comments_count_t3、comments_count_t4,微博内容转发数reposts_count_t1、reposts_count_t2、reposts_count_t3、reposts_count_t4及评论速率hot_t1、hot_t2、hot_t3、hot_t4和转发速率hotSpread_t1、hotSpread_t2、hotSpread_t3、hotSpread_t4共19个参数作为微博热度评价的原始指标,其中本文4个时间窗口大小固定,都为12个小时,即T1=T2=T3=T4=12。对上述19个原始指标进行主成分分析,得到9个不相关的综合指标X1、X2、X3、X4、X5、X6、X7、X8、X9,其包含了原始指标中91.591%的信息(见图5),从而实现在尽量不损失信息的情况下,消除原始指标间的相关性并降低复杂度。
对19个原始指标进行线性组合,获得各综合指标相关系数如图6所示。
将得到的9个综合指标作为BP神经网络模型的输入层节点数据进行训练学习,实现BP神经网络模型构建。
3.2.3 舆情预警度分类结果分析
通过已建立的BP神经网络模型对2013年各级训练样本集进行BP神经网络的训练学习,然后对2014年各级测试样本集进行分类得出分类结果。通过与文献[12]进行1~4级准确率的比较,结果分析如表4所示。
为了对本文采用的综合指标进行结果验证分析,采用的训练样本集和测试样本集与文献[12]相同,结果分析指标也相同。
从表4中可得出以下结论:与文献[12]采用的综合指标相比,当BP神经网络隐含层都选用单层且训练迭代次数同为297次时,本文方法训练所花时间略低于文献[12]方法,最终错误率都保证在e-05级别上,差异可忽略不计。在分类结果准确率上,本文所采用的综合指标得到的结果要优于文献[12],充分说明考虑话题周期性特点、基于时间窗口的指标参数选取优于文献[12]提供的指标参数;与只选用单层隐含层的BP神经网络相比,采用两层和三层隐含层的BP神经网络在训练迭代次数一致时,其最终错误率同样可忽略不计;采用两层隐含层较之单层隐含层,训练所花时间增加了0.274s,三层隐含层则增加了0.528s,这是采用多层隐含层需要付出的时间成本代价;使用两层和三层隐含层的BP神经网络在各级准确率方面都得到了较大提高,在一定程度上降低了舆情预警度误差等级,保证了舆情预警度的准确率;采用三层隐含层的BP神经网络较之两层隐含层的BP神经网络,其性能指标并未得到有效改变,反而增加了一定时间成本,说明采用两层隐含层的BP神经网络已达到最佳效果。
综上分析可知,本文采用指标较之文献[12]采用指标能够更好地进行话题舆情分析。同时将BP神经网络的隐含层设置为两层时将得到最佳的分类效果,且增加的时间成本是可接受的。
3.3 微博话题舆情分析
本文利用上述BP神经网络模型对话题数最多的前10个话题进行舆情预警度分类,选取各话题聚类结果中最靠前的话题进行原始指标数据采集,得出相应综合指标,以此作为已训练好的BP神经网络输入层节点阈值,通过测试得出其对应的舆情预警度,结果如表5所示。
由表5可得,对MB-SinglePass话题检测算法得到的前10个话题进行舆情预警度分类,得出2个I级和II级,以及3个III级和IV级预警度话题。通过上述分类结果,可进行话题舆情预警度监控,重点关注舆情预警度达到III级及以上级别的话题走向,从而在话题舆情分析和管理方面发挥指导性作用。
4 结语
本文主要研究微博话题舆情分析模型的原始指标选取,通过对选取的19个原始指标进行主成分分析得到综合指标,建立两层隐含层的BP神经网络模型,用于微博话题的舆情分析与判别。通过实验结果分析得出,本文选用的原始指标及所构建的BP神经网络模型较之文献[12]在舆情预警度与准确度方面有较大提高。同时采用MB-SinglePass话题检测算法进行微博话题检测,运用建立的舆情分析判别模型对检测出的话题进行舆情预警度判别,实现在线微博话题的舆情分析,为舆情监控部门等相关机构的话题舆情监控提供有效依据。
由于本文采集数据使用的新浪微博API接口限制,在進行数据采集时存在一定困难,因而在进行原始指标选取时不得不考虑数据获取难度等问题。同时BP神经网络本身存在的一些缺点和局限性,在一定程度上也影响了话题预警度的分类精度。因此,后期将致力于研究学习分类模型以及相关原始指标选取问题,旨在进一步提高话题舆情度的分类精度,同时研究话题变化趋势与时间周期的相关性,以实现对话题的趋势分析。
参考文献:
[1] 周刚,邹鸿程,熊小兵,等.MB-SinglePass:基于组合相似度的微博话题检测[J].计算机科学,2012(10):198-202.
[2] WU P,LI S K.Social network analysis layout algorithm under ontology model[J].Journal of Software,2011,6 (7):1321-1328.
[3] LIU H.Internet public opinion hotspot detection and analysis based on K-means and SVM algorithm[C].Proc of International Conference on Information Science and Management Engineering,2010:257-261.
[4] PENNACCHIOTTI M,GURUMURTHY S.Investigating topic models for social media user recommendation[C].Proc of the 20th Int Conf Companion on World Wide Web.New York:ACM,2011:101-102.
[5] 李胜东,吕学强,施水才,等.基于话题检测的自适应增量K-means算法[J].中文信息学报,2014(6):190-193.
[6] 姜晓伟,王建民,丁贵广.基于主题模型的微博重要话题发现与排序方法[J].计算机研究与发展,2013(S1):179-185.
[7] 姚长青,杜永萍.基于主题的舆情跟踪方法研究及性能评价[J].图书情报工作,2012(18):50-53,109.
[8] 李弼程,林琛,周杰,等.网络舆情态势分析模式研究[J].情报科学,2010(7):1083-1088.
[9] 曾润喜.网络舆情突发事件预警指标体系构建[J].情报理论与实践,2010(1):77-80.
[10] 孙玲芳,林伟健.基于云模型的网络突发群体事件预警方法的研究[J].计算机与现代化,2016(5):61-66,72.
[11] 陈新杰,呼雨,兰月新.网络舆情监测指标体系构建研究[J].现代情报,2012(5):4-7,20.
[12] 饶浩,陈海媚.主成分分析与BP神经网络在微博舆情预判中的应用[J].现代情报,2016(7):58-62,70.
(责任编辑:黄 健)