基于改进神经网络算法的微博热点预测系统设计
2018-06-12金海
金海
摘 要: 针对传统预测系统一直存在预测结果不准确、系统稳定性差的问题,提出并设计了基于改进神经网络算法的微博热点预测系统,其硬件部分主要对数据采集模块、微博信息传播趋势分析模块、微博热点判别模块进行了分析并设计,软件部分主要引进了改进神经网络算法,对原有系统进行了优化。实验结果表明,采用改进系统对微博热点进行预测时,其预测稳定性相比传统预测系统要优越,在相同时间内,出现波动的次数降低了2~4次,具有一定的优势。
关键词: 微博热点; 预测系统; 改进神经网络算法; 数据采集; 微博信息传播; 预测稳定性
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2018)12?0157?04
Abstract: In allusion to the long?existing problems of inaccurate prediction results and poor system stability of the traditional prediction system, a micro?blog hot spot prediction system based on improved neural network algorithm is proposed and designed. For the hardware part of the system, the data acquisition module, micro?blog information propagation trend analysis module, and micro?blog hot spot discrimination module are mainly analyzed and designed. For the software part, the improved neural network algorithm is mainly introduced to optimize the original system. The experimental results show that the improved micro?blog hot spot prediction system has superior prediction stability than the traditional prediction system, and the number of fluctuations is reduced by 2~4 times within the same time, which has a certain advantages.
Keywords: micro?blog hot spot; prediction system; improved neural network algorithm; data acquisition; micro?blog information propagation; prediction stability
随着Web 2.0技术的大规模应用,互联网时代的来临,各种移动设备的出现,为人们的生活增添了更多便捷的入网形式,从最初的QQ到现有的微博、博客再到论坛,各类社交网络平台迅猛发展[1]。人们生活日益简便,同时用户亦能方便地从社交网络平台获得所需信息,将自己的观点分享给大家,或者直接参加不同种类话题的研究分析,与其他用户进行沟通[2],人们对网络事件参与度越来越高。如微博的使用,其微博信息的使用量达到上亿条,每类微博话题均有上百亿的阅读量,用户活跃量逐渐增加。数据量的快速增加,传统系统已无法满足微博热点预测要求。而如何在超大数据量面前快速准确地预测微博热点成为一个重要的话题。一方面,如何对大量数据进行有效存储及快速检索是该领域面临的一大挑战;另一方面,从海量数据里面如何快速获取及计算所需的微博热点特征,也是该领域关注的重点。对此,提出并设计了基于改进神经网络算法的微博热点预测系统。
1 系统总体设计
微博热点预测系统由热点数据采集、关键词提取、分析关键用户行为影响力、热点信息传播趋势分析等部分组成。其中,微博热点数据的采集对象以微博用户属性、微博属性、微博用户关系三方面为主;然后经提取微博用户属性、微博属性进行挖掘分析,获取微博关键信息合集;同时采用关键词分类算法,将热点相关的微博信息从海量微博信息中分离出来,对微博信息进行中文分词,运用改进神经网络算法计算出某一段时间内高频微博信息[3];另一方面,计算各个关键用户行为影响力,确定影响力大小及范围;一句关键用户集合及关键用户行为影响力,对高频微博信息传播趋势进行分析,并进行判断,预测微博热点,系统流程图如图1所示。
实现微博热点预测步骤如下:
1) 经调用微博平台的API,采用网络爬虫算法采集有关微博用户属性、微博属性、用户之间关联性等数据[4]。
2) 对于获取关键用户,可对微博用户进行预处理,消除僵尸粉用户对微博热点预测的干扰、广告用户对微博热点预测的影响,然后结合用户被关注度、微博转发数、微博评论数,计算用戶微博自身的影响力,得到关键微博用户集合。
3) 依据改进神经网络算法,得到高频微博关键词。
4) 分析用户间存在的影响概率、好友之间联合影响概率,计算关键微博用户的行为影响力。
5) 最后根据关键用户集合和关键用户行为影响力,对高频微博关键词传播趋势进行分析,预测微博信息在未来一段时间内是否会成为热点。
2 硬件部分设计
2.1 数据采集
本文采用递归的思想对微博数据进行爬取。由于微博信息发布的时间因素,需对微博信息进行跟踪观察,间隔设置为1周,即1周后对微博信息活跃情况进行预测。因此首先对采集的目标微博信息进行处理,设置某个时间点采集一条微博信息,在1周后对该微博信息活跃度再次进行计算,根据计算结果进一步预测。但为了消除时间上存在特殊性对预测结果造成的干扰,在一定时间内,对目标微博信息进行持续采集,且在下一次的采集前对该天前7天的微博再次进行爬取,得到新的微博信息。
2.2 微博信息传播趋势分析模块设计
对微博信息传播趋势进行分析时,以基于高频微博关键词集合、关键用户集合、各关键用户行为影响力等为前提。若能够解析出微博信息传播的形式,那么就能获得微博信息扩散的详细状况。依据得到的高频率微博关键词,确定是否被大量用户所转发,并确定在以后的某段时期内是否变成微博热点信息。此外,经过解析用户行为传播方式,预测微博信息传播趋势非常接近,如此可知微博信息的传播趋势与预测系统之间的关联性。
2.3 关键用户行为影响力分析模块的设计
在对微博信息传播趋势进行分析的基础上,设置已有微博社交网络有向图[G=V,E,T],[G]为微博社交网络,[V=Vi]为用户节点的集合,[E=ei,j]为用户[Vi]和用户[Vj]间的关联性,[T=ti]为用户[Vi]和用户[Vj]间构建的关联时间节点。构建已有的用户行为日志表,此表把微博信息中每个用户的行为一一记录。如[Action(user,action,time)]元组为[(u,a,t)],即用户u在时间t产生的行为a,A为所有行为全集,[Au]表示用户u形成的行为总和,[Au?v]表示用户u与v一起形成的行为数量,即:[Auv=Au+Av+Au?v],[Auv]为用户v散播到用户u的行为总数。
2.4 微博热点判别模块
在分析微博信息发展趋势时,对用户和用户发布的微博分别进行建模处理,并采用离线的形式对每个用户自身存在的影响力指数、发布每条微博的影响力指数,进行计算。系统每隔一个月对用户数据更新一次,对用户影响力指数进行重新计算,然后结合发微博用户的影响力,经过热点微博筛选算法,计算出微博热度指数,判断此微博是否为微博热点,如果“是”,则进入微博热点池等待进一步确定,反之,若无法满足成为热点的条件,则继续跟踪这条微博。维持10天后查看其是否成为热点,如果“是”,则进入微博热点池,“不是”,则系统推进历史数据集。本模块的工作流程图如图2所示。
通过上述各模块分析,将高频微博关键词集合中的词汇一一取出,判断其是否在关键用户发的微博内容中出现。若出现,则把关键用户储存到传播此高频词汇的关键用户集合中。此外,把此关键用户能影响的关注者添加到该关键用户集合内。反复此操作,直到遍历完全部关键用户为止,得到该高频词汇在未来一段时间内,传播范围及传播到的用户数量。
3 软件部分设计
在软件设计过程中,采用改进神经网络算法对其进行优化。神经网络算法主要在正向传播信息和反向传播误差的进程里反复学习达到最优;由输入层、中间层和输出层组成整体架构,中间层又可以分为若干子层,每层都由多个神经元构成。微博信息经过输入层神经元传入,流到中间层的神经元;在中间层微博信息预处理后,经过最后子层传输到输出层中,在输出层,对微博信息进一步进行处理,再输出到外界。若输出结果与真实微博热点数据存在较大误差时,开始反向传播误差信息,即采用梯度下降方法,以输出层→中间层→输入层路线进行反传,同时进行各层级的参数权重的修正,此步骤反复进行,直到输出误差最小,或传输次数达到传输上限为止。
4 实验结果分析
4.1 开发环境及总体设计
在对微博热点预测系统进行验证前,设置开发和运行环境为:后台编程语言python,C#;集成开发环境IDLE,[Visual Studio 2010];[SVM]库[LibSVM 3.17];中文分词器[ICTCLAS 2013];[SVN]版本控制;[Windows Server 2013]操作系統;[Vmvare 6.5]虚拟机;[SQL Server 2008][ R2 Enterprise]数据库;[DELL PowerEdge R510]型号服务器。
4.2 实验结果对比
为了验证改进设计系统在预测微博热点方面的有效性及可行性,实验采用改进设计系统、传统预测系统为对比,以预测系统的稳定性为指标进行对比验证,实验结果如图3、图4所示。
由图3、图4可知,在运行时间不定的情况下,采用传统预测方法对微博热点进行预测时,由于微博热点的不定性,使得预测结果不稳定性很强。在预测时间为100~300 s之间,出现了4次波动,且在之后的预测时间也出现了多次波动,稳定性差,对微博热点预测结果不准确。采用改进预测系统时,其预测结果虽然出现了不稳定的现象,但只有在100~200 s,500~600 s这2个时间段出现3次波动,稳定性较传统预测系统要好,具有一定的优势。
5 结 论
综上所述,针对传统预测系统存在的稳定性差的问题,提出基于改进神经网络算法的微博热点预测系统。通过采用神经网络算法优化系统软件部分预测性能,达到完善预测系统的目的。实验结果表明,相比传统预测系统,采用改进预测系统其预测稳定性较强,未出现波动,达到了减少影响预测结果的目的。
参考文献
[1] 郑志蕴,江国林,张行进,等.基于多特征的热门微博预测算法研究[J].小型微型计算机系统,2017,38(3):494?498.
ZHENG Zhiyun, JIANG Guolin, ZHANG Xingjin, et al. Research on the prediction algorithm for Sina popular micro blog based on multi?features [J]. Journal of Chinese computer systems, 2017, 38(3): 494?498.
[2] 何炎祥,刘健博,刘楠,等.基于改进人口模型的微博话题趋势预测[J].通信学报,2015,36(4):5?12.
HE Yanxiang, LIU Jianbo, LIU Nan, et al. Based on improved Malthusian model microblogging topic trend forecast [J]. Journal on communications, 2015, 36(4): 5?12.
[3] 姬建新.捕鱼算法优化核极限学习机的微博热点话题预测[J].激光杂志,2015,36(1):128?131.
JI Jianxin. Hot topic prediction of micro?blog based on kernel extreme learning machine and fishing algorithm [J]. Laser journal, 2015, 36(1): 128?131.
[4] 阳馨.基于信息功率谱的微博热点挖掘模型[J].兰州理工大学学报,2017,43(3):106?111.
YANG Xin. Micro?blog hot?spots mining model based on information power spectrum [J]. Journal of Lanzhou University of Technology, 2017, 43(3): 106?111.
[5] 张贵红,李中华.基于数据挖掘技术的微博热点话题预测[J].现代电子技术,2017,40(15):52?55.
ZHANG Guihong,LI Zhonghua. Micro?blog hot topic forecasting based on data mining technology [J]. Modern electronics technique, 2017, 40(15): 52?55.
[6] 齐银峰,谭荣建.基于改进粒子群优化算法的BP神经网络在大坝变形分析中的应用[J].水利水电技术,2017,48(2):118?124.
QI Yinfeng, TAN Rongjian. Application of improved particle swarm optimization algorithm?based BP neural network to dam deformation analysis [J]. Water resources and hydropower engineering, 2017, 48(2): 118?124.
[7] 刘业政,杜亚楠,姜元春,等.基于热度曲线分类建模的微博热门话题预测[J].模式识别与人工智能,2015,28(1):27?34.
LIU Yezheng, DU Yanan, JIANG Yuanchun, et al. Trend prediction for microblog based on classification modeling of heat curves [J]. Pattern recognition and artificial intelligence, 2015, 28(1): 27?34.
[8] 廖祥文,張丽瑶,宋志刚,等.基于卷积神经网络的中文微博观点分类[J].模式识别与人工智能,2016,29(12):1075?1082.
LIAO Xiangwen, ZHANG Liyao, SONG Zhigang, et al. Chinese microblog sentiment classification based on convolutional neural network [J]. Pattern recognition and artificial intelligence, 2016, 29(12): 1075?1082.
[9] 刘龙飞,杨亮,张绍武,等.基于卷积神经网络的微博情感倾向性分析[J].中文信息学报,2015,29(6):159?165.
LIU Longfei, YANG Liang, ZHANG Shaowu, et al. Convolutional neural networks for Chinese micro?blog sentiment analysis [J]. Journal of Chinese information processing, 2015, 29(6): 159?165.