APP下载

基于机器学习的校园微博舆情监控系统的研究

2017-05-18蔡洪民王庆香郭伟匡

网络安全技术与应用 2017年5期
关键词:分词贝叶斯舆情

◆蔡洪民 王庆香 郭伟匡

(广州中医药大学医学信息工程学院(信息中心) 广东 510006)

基于机器学习的校园微博舆情监控系统的研究

◆蔡洪民 王庆香 郭伟匡

(广州中医药大学医学信息工程学院(信息中心) 广东 510006)

新媒体时代风起云涌,由于具有文字短小、传播力大等特点,微博已经成为我国网民主要的上网行为之一。然而,微博上一些负面舆情信息给社会和个人带来巨大危害,越来越受到各级部门重视。为了保障校园网络的公共安全,本文设计实现了一个基于新浪微博的校园网舆情监控系统,它通过关键字匹配和朴素贝叶斯算法相结合的方法实现了微博内容的分类,然后进一步基于聚类算法实现了微博内容的热点发现,最后结合舆情数据库实现了微博舆情预警。实验结果表明,系统稳定、高效,加强了校园公共安全。

中文分词;朴素贝叶斯;K均值聚类

0 引言

据《中国互联网络发展状况统计报告》显示,截至2016年12月,我国网民规模达7.31亿,互联网普及率达到53.2%。互联网已经在人民生活中扮演了一个无法替代的角色。然而,我们也看到各种网络安全问题充斥于互联网环境中,比如网络负面舆情信息。论坛、微博、IM软件、QQ群、微信朋友圈等平台在成为网民表达个人观点、抒发个人情绪的同时,也成为小部分恶意分子煽风点火、刺激网民负面情绪的重要工具[1]。网络舆情已经成为关乎社会安全稳定的一个重要因素。对于高校而言,高校大学生思想尚未完全成熟,波动大,容易受到网络负面舆情信息影响。校园网作为高校学生日常学习生活的重要平台,其安全性不言而喻。因此必须对高校学生上网行为进行监控,辅之以教育引导[2]。

微博近年来由国外模式演变而来,它集成了手机短信、博客及社交网站的优点,是一个基于用户关系的信息分享、传播及获取平台。由于具有文字短小、传播力大等特点,微博迅速成为广大网民获取信息的重要途径,对热点事件的形成和传播更是起到了超越传统媒体的趋势。通过对近几年发生的诸如演艺明星吸毒被抓事件、赵薇电影涉台独演员事件、王宝强离婚等事件的观察,可以发现微博已经成为不少社会热点事件的源头所在[3]。同时,微博内容少、口语化等特点往往会造成信息的无组织现象,从而导致难以分类监控[4]。因此,如何实现从微博大数据中发现热点话题、追踪其发展态势并有效引导是微博信息传播中亟待解决的问题。

微博的飞速发展引起了中外学者的注意,美国的谢尔·以色列所著《微博力》已翻译成中文出版。国内对于微博舆情的研究较多,杜松源从情报学的角度,借助信息传播经典理论,结合近期微博舆情案例进行深度挖掘,对微博舆情的成因、特点等进行剖析,总结出微博舆情扩散的一般路径[5];单月光提出包括特征提取、文本表示、文本聚类和观点挖掘的文本聚类模型,从而抽取出热点话题[6];硕士陈彦舟和曹金璇基于微博大数据进行挖掘、分析,实现对舆情热点话题的发现及追踪[7]、对微博的社会网络分析。基于Hadoop的微博舆情监控系统,将开源网络爬虫Nutch应用到基于微博的公安舆情监控系统中,并对Nutch进行了二次开发,增加虚拟登录的功能使其实现对微博平台的信息爬取。硕士张华在其硕士论文中,对BP神经网络的网络结构进行改进。并用遗传模拟退火算法(GSA)对 BP神经网络的网络参数进行优化,在用四种舆情预测模型进行舆情预测对比实验。实验结果表明,用GSA优化的改进BP神经网络的舆情预测模型能够取得较好的预测效果。硕士张华研究的高校微博舆情监控系统对于高校公共安全具有重大意义,且将成为未来高校信息公开监控和舆情管理工作的重要工具。

本文基于网络爬虫技术、中文分词技术、朴素贝叶斯算法以及Kmeans聚类算法,实现一个校园网新浪微博舆情监控系统。实验结果表明它能够发现微博热点,能够结合舆情特征库对校园微博舆情进行有效识别并预警。

1 中文分词技术与机器学习分类算法

1.1 Jieba中文分词

中文分词是自然语言处理中最基本、最底层的模块,分词精度对后续模块影响很大。比较著名的分词系统有北京理工大学张华平博士开发的 ICTCLAS系统、哈尔滨大学的语言云系统等。jieba分词系统是基于Python的分词组件,它占用资源较小,对常识类文档的分词精度较高。

本文使用网络爬虫技术[9]来获取微博内容后,为了实现对微博内容的结构化表示,使用 jieba分词系统对微博内容进行中文分词[10]。

1.2 基于Scikit-Learn库的朴素贝叶斯分类算法和Kmeans聚类算法

Scikit-Learn是一个用于机器学习的Python库,它包括了数据预处理、数据降维、分类、聚类、回归等内容。

(1)朴素贝叶斯分类基于贝叶期定理,朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。朴素贝叶斯分类的定义如下:

①设 x ={a1,a2,…am }为待分类项,而每个a为x的一个特征属性。

②有类别集合C ={y1,y2,...,yn}。

③计算P(y1|x), P(y2|x)…,P(yn|x)。

④如果P(yk|x)=max{ P(y1|x), P(y2|x)…,P(yn|x)},则x∈yk。

朴素贝叶斯算法实现简单、效率高,且分类效果好,目前在文本分类中应用较多。本文研究过程中文本分类部分就是使用Scikit-Learn库中的朴素贝叶斯算法实现的。

(2)Mini Batch K-Means算法是K-Means算法的变种,采用小批量的数据子集减小计算时间,同时仍试图优化目标函数。小批量 k-均值产生的结果,一般只略差于标准算法。该算法的迭代步骤有两步:

①从数据集中随机抽取一些数据形成小批量,把他们分配给最近的质心。

②更新质心。

本文微博热点发现中的子类进一步划分部分就是使用Scikit-Learn库中的Mini Batch K-means聚类算法实现的。

2 系统设计与实现

本文研究以高校大学生微博用户群体为研究对象,运用微博信息采集、微博内容中文分词、微博内容向量化、朴素贝叶斯分类、聚类等技术,结合微博热点话题的特点和传播模式,匹配舆情特征库,从而实现了对微博舆情信息的预警和微博热点话题的发现。

2.1 系统设计

根据需求分析与系统设计,本文研究的总体框架分为微博数据采集模块、微博数据存储模块、Jieba中文分词模块、词频统计模块、微博内容文本分类模块、微博热点发现模块、舆情监控报警模块等部分,具体如图1所示:

图1 系统总体框架

其中:

(1)微博数据采集模块使用模拟登录的方式,利用网络爬虫技术获取微博内容及评论。

(2)数据存储模块用于将微博内容及其评论保存在 SQLite数据库中,本文设计weibo表存储抓取的微博内容,具体设计字段如表1所示:

表1 weibo表

(3)Jieba中文分词模块用于对微博内容的结构化表示。

(4)词频统计模块用于计算文本的权重向量:本文研究过程中使用TF-IDF权重策略过滤掉常见的词语,保留重要的词语,从而生成微博内容的向量空间模型[11]。

(5)文本分类模块使用朴素贝叶斯算法对微博内容的向量空间模型进行处理,从而对微博内容进行分类预测。

(6)微博热点发现模块在使用关键字匹配技术对微博内容初步分类的基础上进一步基于Mini Batch Kmeans聚类算法进行二次分类,再结合回复数、评论数计算得出一定时间段内的微博热点。

(7)舆情监控报警模块结合敏感词数据库、微博热点实现对微博舆情的预警,一旦检测到敏感信息,就会以声音和发送邮件两种方式发出警报。

2.2 系统实现

本系统基于Python语言开发实现,编程环境为Anaconda,数据库为SQLite。整个系统流程分为使用网络爬虫技术爬取新浪微博内容、使用关键字匹配技术进行微博内容初步分类[12]、使用Jieba中文分词系统对微博内容进行中文分词、使用TF-IDF算法对微博内容进行词频统计、使用朴素贝叶斯算法进行分类预测、使用Mini Batch Kmeans聚类算法进行二次分类、结合舆情数据库实现微博舆情预警等一系列过程。具体实现流程如图2所示。

3 实验结果与分析

本系统在某大学校园网进行测试,将系统部署在一台服务器上。系统运行后,首先基于模拟登录的方式使用网络爬虫技术在微博上爬取所关注微博的内容,内容保存在SQLite数据库中,然后进行微博内容热点发现和舆情监控。经过半年多的运行观测与数据分析,它能够对新浪微博内容进行爬取、保存和分类。图3显示了系统对微博内容进行分类预测情况。

图2 微博监控系统流程图

图3 本系统在某校园网运行测试图

之后本文使用Mini Batch Kmeans算法对各类别进一步划分子类,对子类中的大类进行热点计算,计算结果得出一段时间内微博的热点信息。图4和图5显示了系统对微博热点信息的热点发现。最后结合舆情数据库实现了对新浪微博的舆情监控。

经过实验测试,得到了以下结果:

(1)本文研发的系统能够通过模拟登录的方式登录新浪微博,在输入关注的微博ID后,能够使用基于Python的网络爬虫技术获得所有微博内容及其评论。

(2)能够使用Jieba中文分词系统对微博内容进行分词,并存入SQLite数据库。

图4 本系统微博热点发现统计

图5 本系统微博热点发现内容

(3)能够基于关键字匹配方法对微博进行预分类,能够对中文分词后的微博内容及其评论进行向量化,能够基于朴素贝叶斯分类方法进一步分类预测,并根据预测结果调整类别。

(4)对各个子类别使用Mini Batch Kmeans聚类方法进行进一步分类,能够对其中最大的子类利用计算方法计算出一定时期内的微博热点,并予以呈现。

(5)由于新浪微博本身已具有对重要舆情的过滤功能,在校园网实际环境中长达数月的监控中未发现反动类舆情出现。

4 结束语

众所周知,微博等新媒体平台的负面舆情信息已经危及大学生的心理健康甚至高校校园的安全稳定,高校网络舆情形势日趋严峻。本文基于机器学习方法实现了新浪微博舆情监控系统的建立,实验表明本系统能够对新浪微博内容进行分类、热点发现和舆情监控预警,从而为加强校园公共安全提供一种解决方案。

由于微博本身的短文本等特点,本方研究过程中对新浪微博的分类方面存在分类不准确的情况。另外,微博内容不仅有文字还有图片等内容,而本文研究尚未涉及这些内容,这将是我们下一步的工作。

[1]刘颖,李欲晓.网络舆情传播特征分析[J].北京邮电大学学报( 社会科学版) ,2011.

[2]张思行.高校网络舆情的话题演变过程研究[J].北京邮电大学学报(社会科学版),2011.

[3]赵璐.网络舆情监控系统关键技术研究[D].西安:西安电子科技大学,2014.

[4]丁菊玲,勒中坚.基于观点树的网络舆情危机预警方法[J].计算机应用研究,2011.

[5]杜松源.基于微博的网络舆情信息扩散及其预警机制研究[D].绵阳:西南科技大学,2015.

[6]单月光.基于微博的网络舆情关键技术的研究与实现[D].成都:电子科技大学,2013.

[7]陈彦舟,曹金璇.基于Hadoop的微博舆情监控系统[J].计算机系统应用,2013.

[8]张东霞.基于高校学生微博的网络热点发现及舆情分析研究[D].广州:华南理工大学,2013.

[9]程志强.基于新浪微博主题的用户影响力研究[D].沈阳:东北大学,2013.

[10]陈险峰.微博舆情分析系统的设计与实现[D].广州:华南理工大学,2015.

[11]何佳,周长胜, 石显锋.网络舆情监控系统的实现方法[J].郑州大学学报( 理学版) ,2010.

[12] 江黎黎.网络舆情突发事件的处置机制研究[J].杭州电子科技大学学报( 社会科学版) ,2010.

猜你喜欢

分词贝叶斯舆情
基于贝叶斯解释回应被告人讲述的故事
分词在英语教学中的妙用
结巴分词在词云中的应用
结巴分词在词云中的应用
消费舆情
舆情
舆情
基于贝叶斯估计的轨道占用识别方法
基于互信息的贝叶斯网络结构学习
舆情