论文部分内容阅读
随着互联网的快速普及,像微博、论坛、微信公众号、新闻网等已经成为网络舆情发生、发展与演化的重要传播平台。所以,在社交网络高速发展的今天,如何做好相关网络舆情发展趋势的分析,已经从传统的方式过渡到了新兴的网络社交平台。网络舆情分析,一方面可以全面地、系统地反映部分网民的观点与想法,体现社会舆论导向,有助于决策者快速识别突发事件,并对突发事件做出相应的处理与应对准备;另一方面,当出现与社会主义价值观不相符的舆论风向时,可以做出“微调”,使社会稳定团结。针对现有网络舆情分析系统存在的分析方法单一、数据采集困难等问题,本文采用Scrapy分布式的数据爬取、数据预处理、分词、关键特征提取、热点识别、关键词追踪、智能监控、基于短文本的情感分析等方法,研发了一套多功能的网络舆情分析系统,它面向的主要平台为普及率最广的新浪微博。本文所做的工作主要包括以下几个方面:(1)数据采集模块。通过对不同数据爬取技术的对比试验分析,本系统选取了分布式爬虫技术。针对全国34个省(区)的新浪微博用户数据,设计并实现了从总体的框架、到整个分布式系统的调优以及增量的数据存储等分布式爬取数据采集模块。与其他数据爬取技术相比,本系统为新浪微博量身定做了一套更加实用的网络信息采集工具,实现了实时高效采集微博用户产生的舆论数据;(2)情感分析模块。结合微博短文本的特点与试验分析,本文分别采用经典的支持向量机(Support Vector Machine,SVM)分类模型与双向长短程记忆(Bi-directional Long Short-Term Memory,BI_LSTM)神经网络分类模型。基于哈尔滨工业大学公开的标准数据集,设计并实现了对两种分类模型的训练、优化、结果预测等,并以查准率、召回率、接受者操作特性曲线(Receiver Operating characteristic Curve,ROC)下的面积(Area Under Curve,AUC)值等算法作为评估指标,最终两种分类模型中结果较优的将运用到本系统中。与其他情感分类算法相比,以上两种算法对传统的机器学习模型和深度学习模型更具有代表性;(3)热点话题挖掘模块。经过相关论文的研究与试验,本系统采用了一种比较简洁的思路:利用词频发现热点的关键词,根据发现的关键词提取含有该关键词的原始微博,然后进行层次聚类,并计算相关热度,完成了对热点模块的实现。与其他热点话题挖掘算法相比,本系统有效地避免了传统算法的计算量大、耗时、对热点话题表达不够直观等问题;(4)微博智能监控模块。经过对此模块的需求分析,本系统采用的监控算法与热点话题挖掘模块相同,唯一不同的是输入的数据集不同。该模块实现了对微博负面情绪数据的聚类,根据设置的阈值得出聚类的n(代表聚类的数目)个数据簇,按照数据簇中的数据量大小进行排序,依次从各个数据簇中选出代表事件,实现智能监控;(5)Web服务模块。通过分析以上各个模块选择开发语言的难易程度,本系统后台采用开源的Tornado网络服务器框架,基于Python作为本系统的开发语言。前端页面采用表格、柱状图、玫瑰图等工具,在功能上设计并实现了注册、登录、舆情总览、舆情分析及走势、事件统计、智能监控、热点事件、关键词追踪等模块。与其他舆情分析系统相比,本系统更详细、全面地将计算结果以可视化的方式展示到用户页面,使系统具备良好的用户体验。