基于深度学习的互联网舆情监测分析系统的实现

(整期优先)网络出版时间:2022-07-14
/ 4

 基于深度学习的互联网舆情监测分析系统的实现

孙科龙1,2,3,刘晓晖1,2,3, 黄剑华1,2,3, 伍彬荧1,2,3, 童亮1,2,3, ,王喆*1,2,3

广西科技大学, 广西省柳州市  545006

柳州市大数据智能处理与安全重点实验室, 广西省柳州市  545006

广西教育系统网络安全监测中心, 广西省柳州市  545006

摘要:与传统媒体相比,互联网这一新兴媒体的低门槛性、交互性、匿名性等独有的特点已导致舆论信息量爆炸性增长。从如此数量级的数据中获取准确的舆情报告不是靠人力可以完成的。此外网络舆情也会有一个成型期、高涨期、波动期、消退期这几个不同阶段,对于一些个人恶意的大肆炒作的网络舆论,我们认为应该在舆情成型期及时对它们进行加以管控。

本系统通过主题爬虫与FishSearch算法实时筛选并爬取网络舆情数据。通过Fasttext快速文本分类技术、CNN文本情感分类技术获取舆情有效信息。利用Flask框架与Vue等技术完成了数据可视化操作。成型后的系统可提供数据的采集与挖掘、信息展示、舆情趋势预测等功能,能够高效的获取互联网舆情情况,为制定舆情管控计划提共数据支撑。

关键词:舆情监测;舆情分析;深度学习; CNN文本情感分类

1 前言

随着互联网的不断发展,网络已经融入人们的生活。截至2020年12月,我国网民规模达9.89亿,互联网普及率已高达70.4[1],网络已经成为社会舆情的主要传播载体。依靠网络的便捷性高速性和庞大的互联网使用人数再加之互联网具有虚拟及隐蔽的特点[2],舆情传播速度变得更快、舆情的数量变得更多,形成了不可估量的舆论力量。积极的深入管理互联网舆情,做好我国互联网舆情管控相关工作显然是至关重要的。对于各级政府来说,网络公众舆情传播是政府倾听群众民情表达民意的重要表达方式。对于每个企业来说,正确引导企业网络社会舆情发展方向无疑是确保企业健康稳定持续发展的重要环节。

本系统可以快速准确的获取舆情信息。系统通过爬虫实时爬取新浪微博、百度贴吧、微信公众号、知乎等舆论诞生的主要网站上的舆论信息。通过大量数据处理操作获得简洁有效的数据并结合深度学习等一系列技术完成对数据的分析处理,从而实现数据的整合与舆情趋势的预测,经过统计分析后通过web可视化平台展示出来。

2 互联网舆情监测分析系统的需求

2.1 监测目标分析

某件事的网络舆情应是是在所有网络论坛平台上关于这件事的所有评议的总和统计。因此监测网络舆情时,应保证数据来源于多平台并且需要获取足够多的数量。仅此才可避免平台理念、受众所带来的局限性。只有这样获取到的舆情数据才是可靠可用的数据。

截止目前为止,互联网上的舆论的载体平台数量已经非常的多了。然而系统资源是有限的,我们做不到统计所有平台的数据。但是在众多平台中,新浪微博、百度贴吧、微信公众号、知乎等平台的用户量已经占据了舆论载体论坛的大多数。因此从这几个平台获取的舆情数据,足以代表网络整体舆情,具有足够高的准确性。因此本系统主要对这几个主流网站进行监测。

2.2系统功能性需求分析

2.2.1舆情主题管理功能

确定舆情信息内容,是舆情监测系统获取数据的必要条件。系统提供舆情主题管理功能用于明确应该获取的信息特征。该功能包括企业信息管理、舆情信息管理、站点信息管理 。用户在窗口填写并提交监测内容、监测关键词和信息获取站点等信息后,可以实时的对这些配置信息进行修改和删除等操作。系统会根据用户录入的舆情描述进行舆情信息搜集。

2.2.2舆情事件分析功能

系统在配置好舆情主题后根据配置开始执行舆情事件分析功能,即根据配置执行舆情内容的获取工作并清洗数据,得到可用数据。获取数据后主要通过快速文本分类和卷积神经网络情感分类这两项技术提炼数据中的地点、时间、关键词、情感等标签信息并统计。

2.2.3舆情分析结果管理功能

在舆情事件分析功能结束后,数据交付给舆情分析结果管理功能处理。该功能会将舆情的详细信息及情感偏向等数据经整理分析后用于可视化界面的展示。

可视化界面展示数据及展示方式具体为:

(1)舆情热度:展示系统中建立好的舆情事件在不同时间段中各平台关注度及总体关注度。通过折线图的方式展示热度与时间的变化走势。

(2)感情发展趋势:展示系统中建立好的舆情事件在不同时间段的情感变化。通过折线图的方式展示正面、中性、负面情感随时间的变化。

(3)媒体分析:舆情信息的来源分析。通过饼状图方式将站点名称及其所占比例。

(4)各城市热度分析:根据各网络平台的提供的地域信息,以城市为划分标准,通过颜色深浅度表示该舆情在该城市的热度,并在中国地图上展示。

(5)热词分析:统计舆情信息中的关键词并以词云的方式将排名前100的信息展示出来。

在分析结果管理界面将默认展示最近时段的分析结果,用户可以通过条件筛选主动获取需要的分析结果,其中筛选条件有:信息爬取的开始/结束时间、信息获取平台。

2.2.4舆情报告导出功能

舆情分析结果以图像的方式在web界面中展示。当用户希望将分析结果导出时,点击报告导出按钮,即可生成舆情数据的报告文件。点击导出按钮后,用户可以对导出报告的格式和导出数据的部分进行选择。

具体子功能设计如下:

(1)数据选择:用户对导出的数据部分进行选择,可以导出全部分析结果,也可以导出部分分析结果。

(2)导出格式选择:用户选择生成的报告格式,例如:jpg、pdf、excel。

(3)导出路径选择:选择一个本地路径,用于报告的存储。

3 技术架构设计

从整体来看,整个系统所用到的技术可以看为四个模块,即数据采集与处理、舆情分析、舆情分析结果展示、数据库。

首先为网络数据采集阶段,网络蜘蛛在舆论载体平台的站点行进并将数据交付给预处理模块,预处理模块对数据进行筛选后将数据交给分析模块,分析模块将对数据进行情感状态分类,趋势预测分析等过程,经过一系列操作后得到舆情的分析结果的原始数据集后,最终通过可视化技术展现舆情结果。

为保证系统成品具有良好的可拓展性、易管理型,上述的模块通过技术分类可以再细分为几个逻辑层面,每个层面的具有独立的数据处理能力,能对输入的数据进行处理并传输给下一层面。

(1)数据源层

舆情的数据来源于各网站用户在该网站的讨论,因此在必须在系统设计的初始阶段将后续需要爬取的网络站点罗列出来。

(2)数据采集层

确定好了数据采集目标的站点后,便可以使用网络蜘蛛对这些站点进行数据爬取。网络蜘蛛的种类众多[3],不同种类有不同的功能,其中主题蜘蛛能够对页面进行主题相关度判断,满足系统对于舆情的实时跟进需求。因此系统使用的是主题蜘蛛。网络蜘蛛采集数据后,通过HITS算法和FishSearch算法提取被爬取页面的网络特征,随后对网页进行相似度计算判断关联页面是否需要爬取。

(3)计算存储层

采集的数据中存在两种数据,即结构化数据和非结构化数据。为了更好的存储两种数据,需要将采集的数据以分布式存储方式存入HBase数据库。但在存入数据库前还需要对采集的数据进行数据清洗和数据校核工作,避免出现过现过多冗余数据。

(4)数据挖掘层

在计算存储层已经得到了较为完整的、可用于分析使用的数据。但是系统仍然无法理解数据的含义。因此,本层通过深度自学习的方式理解、分析数据。具体技术为:

1)文本分词技术:使用Fasttext快速文本分类技术和TF-IDF算法。

2)情感分析技术:主要技术为CNN模型。

4 功能模块设计

经过对需求分析的整合划分,将系统分为了5个功能模块,分别是:用户信息管理、主题管理、舆情事件分析、分析结果管理、舆情报告导出。

4.1主题管理模块

主题管理模块由管理模块和检索模块构成。

管理模块主要功能是对主题信息的录入与配置。用户新建主题后,填写相应的主题信息,这些信息将被存入数据库。舆情事件分析功能模块根据输入的数据确定监测的对象,具体信息为:主题名称、关键词和监测站点等。

检索模块用于从数据库中查询舆情主题的详细信息,并允许用户对信息进行修改。

4.2舆情事件分析模块

舆情事件分析模块由爬虫收集模块和情感分析模块两部分构成。该模块从各大平台中收集舆情信息并分析其中情感后得到一个由系统生成的舆情数据,生成供分析结果管理模块使用的数据池。其中爬虫收集到的每一条信息都会被分析并且其分析后的数据应该存储入数据库。

4.3舆情分析结果管理模块

该模块是最重要的模块,这里包含了最终的分析结果的数据信息,是整个舆情监测系统的最重要的需求。在此之前,通过舆情事件分析模块,系统中已经有了舆情信息和舆情分析的结果。但这些数据无法直接用于可视化界面,因此需要将舆情事件的分析结果数据进行深度逻辑优化处理,并且生成可供前端页面直接使用的数据,用于可视化的图表展示工作。

4.4舆情报告导出模块

系统允许用户根据自身需求导出数据的可视化视图或数据记录。可导出数据格式有PDF、JPG 、Excel等。用户可根据自身需求选择部分数据报告导出,及全部数据导出。

5 系统的功能模块的实现

5.1主题管理模块的实现

信息管理模块负责管理企业舆情信息,包括管理企业主题信息、管理网络站点信息、新建舆情主题、修改舆情主题、删除舆情主题、开/关舆情监测等功能。

当用户新建一个企业、站点或舆情信息的时候,使用服务器层的对应方法将数据添加入相关数据库表中。

系统中,舆情依托于企业而纯在,因此舆情信息需要在企业信息的基础上才能建立。企业信息与舆情信息的建立流程图如图所示。点击新建企业信息模块,Web端发送HTTP请求给服务器端。服务器端调用对应方法操作数据库控制端保存数据到数据库。

企业主题创立完成后,点击企业主题即可进入舆情主题界面,并新建网络舆情主题。并且在录入完相关信息后,用户可以对已有的企业信息和舆情信息进行相关修改更正。前端发送HTTP请求给服务器层,进行逻辑处理后,操作数据库控制层,数据库中并依次返回结果给前端。

5. 2舆情事件分析模块

舆情事件分析模块主要分为网络舆情信息采集和文本处理两个部分。网络舆情信息采集模块负责通过网络蜘蛛技术从各个预设的平台中获取舆情主题相关的信息。文本处理功能模块负责将网络爬虫获取的数据进行情感判断并分类,将舆情数据划分为正面、负面、中性三个类别。具体使用算法为,主题爬虫算法,fasttext快速文本你分类算法、CNN模型。下面将详细介绍技术的设计和使用方法。

5.2.1网络舆情信息采集

舆情信息采集主要通过网络蜘蛛技术来完成。网络爬虫能够爬取页面中的文本、图片等信息并自动提取页面中的URL作为下一爬取页面,能有效获取数据,所以被广泛运用于各种开发中。

本系统选择使用主题爬虫,其工作包含几个步骤:爬行模块、链接解析、页面内容去重三个各模块。爬行模块会自动解析爬取到的每一个页面中含有的URL[4],将URL及其相关描述发送到连接解析模块。链接解析可以分析爬取到的URL是否是舆情主题相关的URL。

对于本系统而言爬取的数据需要与预设的主题有较高的关联性,因此爬虫识别URL与主题的的关联度就是十分必要的。使用算法帮助过滤掉无效链接能有效的提高系统整体效率因此本系统使用了FishSearch算法[5]。该算法通过分析网页的主题与种子URL主题、关键词是否相似,计算这个网页和爬取主题的相似度,并为URL设置优先级。方法是提取父页面的所有链接,这些链接称为子URL,如果子URL的内容与所需关键词有关,则为这个URL设定一个大于父URL的值,否则设定一个小于父URL的值[6]。权值越小越后爬取,所以在相关的重要的页面已经爬取完毕,系统有了空闲资源时才会爬取低权值页面。

5.2.2网络舆情自然语言处理

自然语言处理模块是文本到可用数据的关键性模块。此时爬虫技术收集到了大量主题相关的文本信息,语言处理模块需要对信息进一步分类处理。其处理过程主要分为两步:自然语言分词与情感分类。通过Fasttext快速文本分类技术可以划分文本的类别;通过CNN卷积神经网络技术可以划分文本的情感类别。

如图所示,自然语言到可用结果的需要经历三个步骤:文本的预处理技术、Fasttext快速文本分类技术、CNN情感分类技术。但在该模块正式使用之前,还需要训练一个语言分类的算法模型和CNN情感分类模型。在语言分类算法模型的训练中使用的训练文本集和测试文本集均来源于文本预处理的结果。

(1)Fasttext快速文本分类

快速文本分类技术有很多的种类,但Fasttext能在保持高精度的情况下拥有较快的速度。相较于其他技术而言更适合本系统中使用。

要获得一个有较好效果的模型,就需要对模型进行大量的训练。并且还需要设置多参数并根据调整参数训练出多个模型,从中选出效果最好的模型用于系统文本处理。

Fasttext快速文本分类技术可分为无监督学习模式和和的有监督学习模式两种类型,无监督模式及能一般用于生成词向量,有监督主要用于文本的分类处理。监测系统需要对爬虫获取的文本数分类为可读的标签类别。因此系统中使用了有监督的Fasttext技术。在训练模型前需要先获得一个有效的文本数据集。这个过程中需要去除停用词、构建数据集等操作。获取到有效文本数据后即可开始fasttext模型训练。

(2)CNN文本情感分类技术

卷积神经网络是在图像处理领域诞生的,但后来实验表明该模型对于文本的分类也有较高的准确性,因此在文本处理中也被广泛使用。传统的CNN在处理文本的情感分类中已经有较好的效果,但在实验后发现使用经过良好的分词技术预处理后的文本可以获得更好的训练效果。因此在开始CNN模型训练前先对输入文本进行预处理。

1.构建数据集

在模型训练前使用分词、过滤停用词技术后为模型建立起一个数据集。为了便于调用数,应将Fasttext方法将处理后的数据在加入训练文本集中时以空格分隔的形式保存。

2.分隔测试集与训练集

得到数据集之后,需要划分为训练集和测试集。这里使用train_test_split()方法随机划分样本数据为训练集和测试集,能有效减少人为误差。

3.搭建神经网络

构建 CNN模型首先必须做的事情就是搭建神经网络。tensorflow是一个集成的用于深度学习的库,使用该库中的learn方法能快速搭建一个神经网络,因此此处使用率tensorflow。

4.将文本转化为词向量

预处理后的文本仍不能直接使用在模型训练中,需要将文本中的词转换为词向量。当所有分词都转为了此项里后,将它们纵向排列,便能得到一个二维数据集

5.添加卷积层

有了词向量后,需要向模型添加一个二位卷积层。可以使用tensorflow库中的convolution2d方法。添随后加激活函数,将卷积层的结果添加一个非线性的映射一个非纷性的映射。

6.添加第二个卷积层

添加第二个卷积层后,会得到是一个结果集,它是一个举证,对结果集特征抽取,取出矩阵中最大的位置所显示的元素

[8],再将这些元素全连接,全连接使用fully_connected方法,并且设置参数为3,用于表示三个分类即正向情感,负面情感,中性情感。

7.迭代训练与侧试集测试

设定足够多的迭代次数,使模型的准确率尽可能高。

5.3舆情分析结果管理模块

从爬取数据起始,舆情文本通过了预处理、fasttext快速文本分类技术以及CNN卷积神经网络情感分类技术后,已经生成了一系列类型标签,它们被存入数据库中。本模块能根据用户的输入,从数据库中找出对应筛选条件下的舆情分析结果,并计算该时间段情感的数量及比例、事件关注度、关键词及其热度、热度地域分布情况等信息。具体来说,这一模块,我们需要将上一模块舆情主题分析到的结果根据用户的需求进行一定的逻辑处理,在得到处理结果后将在前端使用可视化等技术向用户展现舆情分析的结果。

5.4舆情报告导出模块

到此模块是,用户已经可以在web端查看到相关主题分析的结果。本模块主要作用是将生成的舆情报告通过图片或excel的文件形式,让用户下载下来。用户可以根据自己的需求,导出部分或完整的分析报告并选着导出文件的格式。

6总结

针对于互联网舆情数量极大、传播速度快、舆情趋势难以统计的特点,本文设计了一个互联网舆情监视系统,通过爬虫与FishSearch算法实时筛选并爬取网络舆情数据。通过Fasttext快速文本分类技术、CNN文本情感分类技术获取舆情有效信息。利用Flask框架与vue等技术完成了数据可视化操作。成型后的系统可提供数据的采集与挖掘、信息展示、舆情趋势预测等功能,能够高效的获取互联网舆情情况。

基金项目:2021年度广西高校中青年教师科研基础能力提升项目(2021KY0347).

参考文献

[1] 中国互联网络信息中心 第 47 次《中国互联网络发展状况统计报告》,2021

[2] 欧阳海燕.互联网舆情监测系统的设计与实现[[D].湖南大学,2014.

[3] Udapure T V, Kale R D, Dharmik R C. Study of Web crawler and its different types[J]. IOSR Journal of Computer Engineering, 2014, 16(1): O1-O5

[4] 刘金红,陆余良.主题网络爬虫研究综述.[J] 计算机应用研究.2007:10-20

[5] S. M. Hadi Sadati,Thorrxas Williams. Toward Computing with Spider Webs: Computational Setup Realization [M]. Springer International Publishing.2018:9

[6] Michael Hersovici et al. The Shark-Search Algorithm.[J].an  application  tailored  web  site mapping.2002: 1O

[7] Huang E H, Socher R, Manning C D, et al. Improving Word Representation via Global Context and Mulyiple Word Prototypes[C].Proceedings of Annual Meeting of the Assocition for Computional Linguistics. Stroudsburg, PA, L1SAvAssociation for Computational Linguistics, 2012

[8] 周飞燕,金林鹏,董军.卷积神经网络研究综述.[J].计算机学报.2017-O1-22:10-15