首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

《网络舆情预警系统设计与实现》毕设课题总结

Posted on 2014-05-16 21:03  winater  阅读(1802)  评论(0编辑  收藏  举报

〇、写在前面(2016-05-29 Update)

      看看时间,恰好就是两年前的现在,完成了这个毕业设计。这个总结是从论文摘要上再摘要下来的,工整有余,却没有提及当时对这个课题的分析还有各种尝试。

      这个课题开始于好奇,好奇数据的来源,好奇所谓的机器学习、自然语言处理算法。也是凭借这样的好奇,真的可以说是“跪着”实现了这个没有现成参考材料,大且空的课题。

      数据来源部分需要关注网址获取、网页解析、数据存储;分析的时候需要关注分词、降噪等等;而最后的舆情分析,除了考虑技术算法的选择,更重要的是理清何谓舆情。而这些,从学习、设计到实现,只有四个月不到的时间。

      当然,时间短暂自然也有短暂的对策,虽然网上类似的系统都不对外开放,但每一部分其实都有非常多开源代码可以参考。在参考实现的过程中,我边用边学了Python、R语言还有非关系型数据库MongoDB。最后两天还用PyQt写了个软件界面,为了显得不那么水Orz。

      总之,这个课题,对我提升最大的恐怕就是问题分析、信息搜索还有整合的能力吧,哈哈。

      所以回过头再看,具备一定工程能力以后,重点应该是学习进一步思考了。一方面是数据算法的思考,另一方面是现实问题数据建模的思考。记录下来,作为接下来学习的方向。

      附上github链接https://github.com/winater/SimpleEarlyWarningSystem/tree/master。目前由于微博信息获取模块没有更新,已经不能正常抓取信息了。仅作一个参考吧……回过头来看当时的代码,真是乱啊……

一、概述

      本论文设计并实现了一个网络舆情预警系统。该系统主要功能是:对指定时间和地区的若干用户微博进行文本挖掘,通过数据可视化处理,直观的展示其中潜在的舆论热点。

      在微博信息采集阶段,借助相关网络爬虫资料,结合PythonBeautiful Soup库改进对新浪微博网页版的解析,实现了系统对采集规则的定制化。同时利用非关系型数据库MongoDB存储用户信息和微博信息,为今后进行更深入的研究奠定了良好的数据基础。

      在信息分类阶段,本研究结合自然语言处理及机器学习相关理论,利用基于正向最大匹配的mmseg4j中文分词器对文本分词,采用支持向量机算法对文本处理,在人工标注一定量文本的基础上,比较好的实现了对文本的半监督式学习,过滤了大多数无意义文本。

      在文本信息分析和预警阶段,本研究对基本分词步骤加以优化,即利用正则表达式抽取新浪微博标签内容,并实时加入分词词典,促进了基于词组的文本分析。同时结合R语言在统计及绘图方面的优势,编写R代码采用层次聚类算法对过滤后的文本聚类分析,并最终通过调用wordcloud库,以“词云”的形式,直观的呈现当前文本集合中各类事件及热度。

 

二、舆情预警系统方案设计

(1)系统结构设计

      ①系统的总体结构设计

      由于这个系统整合了发现——处理——分析舆论三个阶段,所以抽象为三个子系统,分别为信息采集子系统、信息分类子系统、聚类舆情可视化子系统。其中信息采集子系统负责根据用户定制的限制信息采集微博文本内容,信息分类子系统事先通过学习建立一个文本分类器,然后将该分类模型应用于系统采集子系统采集到的信息,其中包括训练模块、预测模块、评估模块。聚类舆情可视化子系统将过滤后的文本进一步预处理,通过层次聚类并结合关注度评分,以“词云”的形式显示当前舆情热点。

      详见图2.1,其中箭头方向为基本数据流向。

图2.1  系统总体结构

      ②微博信息采集子系统体系结构设计

图2.2  微博信息采集子系统体系结构

      图2.2为微博信息采集子系统的体系结构,当模拟完成用户登录新浪微博动作后,采集工作正式开始。首先将解析初始用户的“关注”、“粉丝”列表,并将符合定制规则的用户的uid(新浪微博用户唯一标识)存入队列;然后解析用户微博内容,将符合定制规则的微博存入数据库;当解析完当前用户,将从“微博用户队列”队首取出下一个用户,循环执行上述步骤。

      ③信息分类子系统设计

      信息分类在实际应用中分两部分,其一是人工标注训练样本,构造符合需求的SVM模型(见图2.3);其二是利用训练好的分类模型,对输入样本进行预测。

图2.3  训练模块体系结构

 

      ④聚类舆情可视化子系统设计

      聚类舆情可视化子系统体系结构如图2.4所示。

图2.4  聚类舆情可视化子系统体系结构

(2)系统流程设计

      在对总体及各个子系统的体系结构的设计分项说明后,现结合用户操作界面设计,对系统使用流程概述。系统总体流程见图2.5。其中实线连接部分为系统最基本流程,虚线部分为系统后台运行流程,其中“可选显示模块”内容可由界面按键控制,决定是否在界面显示。

 

图2.5  系统总体流程

三、舆情预警系统实现与测试

      本系统由三个子系统构成。实现界面如图3.1所示。其中,微博信息采集模块基于开源爬虫框架Cola实现,经改进可以定制采集规则,定制模块见图中左上部分,同时,采集日志可以通过左下部分“微博采集完成列表”查看;采集进程停止后,可以通过图中右上部分显示已采集的文本,并调用信息分类子系统对已采集文本分类,最终分类结果见图中右下部分。

 

图3.1  舆情预警系统实现界面

      此时,点击上图中“舆情聚类分析”按钮,可以生成预警词云,见图3.2

 

图3.2  聚类舆情词云效果图

      词云图中外环标签为类别编号,每一类词以同一色调展示。由该图可以直观发现,在该测试时间段内,以本人微博为起点,身边的江苏南京地区用户,讨论最热门的类别是第一类,突出的特征词有“周年”“南邮之声30年”等;而潜在的事件以“端午节快乐”为代表,但总体上类别事件过于稀疏。

 

四、结束语

      本文系统的提出了一个网络舆情预警系统的设计与实现,该系统能够根据用户定制的信息采集规则,获取符合条件的新浪微博数据,完成对微博无意义文本的过滤,最终以“词云”的形式将不同类别的事件呈现给用户。

      根据系统测试结果,该系统基本可以满足个人用户了解身边潜在舆情的诉求,但在系统各个方面仍有很大提升空间。如:微博信息采集子系统今后可以通过分布式、多账号运行来提升采集效率;需要对微博内容有无意义有较为清晰的定义,并选择特征鲜明的微博做训练样本,以提升信息分类子系统的过滤效果;应进一步结合现有的舆论情报分析舆情特征等。

      除了在技术方面改进舆情预警系统,从道德伦理的角度深化对网络环境的思考也十分具有现实意义。当前用户隐私和各方网络监控间的冲突日益严重,如何应对这样的矛盾,不仅是本课题研究需探讨的问题,更是每一位科技人员需要思考的问题。    

 

参考文献

[1] 新浪微博数据中心.2011年度媒体微博研究报告[EB/OL].(2012-03-21).http://vdisk.weibo.com/s/9Ikt7

[2] 新浪微博数据中心.2013新浪媒体微博报告[EB/OL].[2014-06-1].http://data.weibo.com/report/detail/report?copy_ref=zuYT1rJriAdB4&_key=2Wn3By6&&m=m

[3] 陈鑫.基于行块分布函数的通用网页正文抽取[R].哈尔滨工业大学社会计算与信息检索研究中心.

[4] Michele Banko,Michael J Cafarella,Stephen Soderland,Matt Broadhead and Oren Etzioni.Open Information Extraction for the Web[D].Washington:University of Washington,2009.

[5] 彧.网络话题中的web文本挖掘技术[M].北京:中央民族大学出版社,2012.142.

[6] 童薇,陈威,孟小峰.EDM:高效的微博事件检测算法[J].Journal of Frontiers of Computer Science and Technology,2012,6(12):1076-1086.

[7] Ceren Budak,Theodore Georgiou,Divyakant Agrawal,Amr EI Abbadi.GeoScope: Online Detection of GeoCorrelated[J].Proceedings of the VLDB Endowment,Vol.7,No.4.Information Trends in Social NetworksCeren Budak

[8] 丁菊玲,勒中坚.基于观点树的网络舆情危机预警方法[J].计算机应用研究,2011,28(9):3501-3504.

[9] 李耘涛,刘妍,刘毅.网络舆情灰色预警评价研究[J].情报杂志,2011,30(4):24-27.

[10] 许鑫,张岚岚.基于信号分析的突发事件网络舆情预警研究[J].情报理论与实践,2010, 33(12):97-100.

[11] 李弼程,王瑾,林琛.基于直觉模糊推理的网络舆情预警方法[J].计算机应用研究,2010,27(9):3312-3315.

[12] EIRINAKI M,VAZIRGIANNIS M.Web mining for web personalization[J].ACM Transactions on Internet Technology,2003,3(1):12-13.

[13] MARTENS D,BRUYNSEELS L,BAESENS B,et al.Predicting going concern opinion with data mining[J].Decision Support Systems,2008,45(4):765-777.

[14] Manoj K Agarwal,Krithi Ramamritham,Manish Bhide.Real Time Discovery of Dense Clusters in Highly Dynamic Graphs:Identifying Real World Events in Highly Dynamic Environments[J].Proceedings of the VLDB Endowment,Vol.5,No.10

[15] Leonard Richardson.Beautiful Soup 4.2.0 documentation[EB/OL].(2013-05-15).http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

[16] 梁南元.书面汉语的自动分词与另一个自动分词系统 CDWS[C].中国汉字信息处理系统学术会议, 1983(1): 12-13

[17] 侯万友.群体性突发事件微博舆情演化分析[D].哈尔滨:哈尔滨工业大学,2013.

[18] 林轩田.A Practical Guide to Support Vector Classication[EB/OL].(2010-04-15).http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf

[19] 张知临.Tmsvm参考文档(v1.1.0)[EB/OL].(2012-03-09).http://code.google.com/p/tmsvm/downloads/detail?name=Tmsvm%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3%28v1.1.0%29.rar&can=2&q=

[20] 秦续业.Cola:一个分布式爬虫框架[EB/OL].(2013-09-21).https://github.com/chineking/cola/wiki

[21] 孙健.Rwordseg_Vignette_CN[EB/OL].(2013-12-15).http://jliblog.com/app/rwordseg