摘要
由于当前互联网的信息传播之便利及广泛,网络谣言、网络欺诈等不良舆论信息给企业的舆论管理甚至运营管理带来了巨大的挑战。为加强舆论信息不良行为的管理,有必要设计一个企业舆情监测管理系统。本文的系统设计主要分为三大模块:舆情爬虫模块、舆情文本挖掘模块以及舆情管理模块。具体来说,舆情爬虫技术爬取网络上有关企业的大数据信息存储于文件中;利用文本挖掘算法与数据分析工具将所爬取的文本舆情数据加以分析;以图表将具体的疫情数据信息进行可视化展示,并依据可视化展示进行舆情管理。最后针对本文所设计的系统做出了客观评价并指出未来的可改进方向。
关键词:python,舆情监测,网络爬虫,舆情文本挖掘,舆情管理
1.绪论
1.1设计的目的
谁也未曾想过,互联网的迅速崛起也就是最近这十年。它影响了我们生活的方方面面里里外外,不单单影响了我们的衣食住行等生活方式,甚至在潜移默化地影响着我们的世界观与人生观,大数据的流动无处不在。90 后与00后这代年轻人对它的依赖程度令人瞠目结舌。在我国国民刚刚接触互联网时,有这么一句话“谁也不知道电脑屏幕对面的是个什么人”。如今的生活状态,衣食:一点手机,就有快递小哥与外卖小哥给你送货上门;住:打开卖房网站或者手机APP,可直接通过VR完美呈现房间的格局以及家具;行:机票,火车票都有网上票务网站或者手机订票APP;甚至恋爱都可以在网上谈。互联网将我们与世界实现零距离接触,使世界变得如此唾手可得。但是,互联网仍是人们生活的另一种延伸,人们如此亲密的体会到,你的声音世界可以听到,世界的声音你也可以听到,当各种声音汇集的时候,这就使得网络成为了一个自由民主的演讲广场,谁都可以发表观点,同时也可以发泄自己在现实生活中的不满,这也就使得互联网成为了社会舆情的安全屏障与社会问题的减压器。
当一个企业的有关信息事件曝光之后,也容易引得互联网网民的一众关注并评论。尤其是其传播以及发酵的速度极其之快。互联网上有关的企业舆情对社会产生的影响越来越大,由于互联网的反应迅速所以其活跃、直接且尖锐。此外,当人们沉浸在有关企业的互联网舆论时候,同时也接受了世界未经过滤的信息,在某方面来说,舆论容易变成一部分人操控另一部分人的工具,使得另一部分人的思想与观点被带偏甚至被扭曲。事物都有其两面性,互联网亦是如此,它对社会有正负两个方面的影响[1]。一方面,它具有传统媒体所不具有的优势,人人都可以成为记者,手机便是摄像机。因此相较于传统媒体,其时效性较高。此外,人们可以把自己对事件的看法及时发布,并会在一定程度上影响事件的发展走向;另一方面,因为信息不经过滤及管理,给一些非法分子提供了可乘之机,在网上发布不实信息,造谣生事,诽谤他人等。我国XX部门对企业的互联网舆情日益重视,也意识到需要加紧对互联网法制化,互联网并非是没有规则的无法之地。我国不断完善互联网方面的立法,同时也投入大量资金来开发企业的舆情监测技术。
1.2设计的意义
开放是互联网与生俱来的特性,其诞生主要由社会力量来推动,与其说技术的变革推动了互联网的发展,不如说是人类对信息自由流动的需求来推动了互联网的发展。20 世纪八十年代末,随着计算机技术在各个大学里迅速的普及,怎么使各个大学里的计算机连接起来相互通信成为当时最迫切的需求。因此,各个大学,民间团体,研究机构及商业部门在其中发挥了不可磨灭的作用。互联网最初的用途方便学术交流,其效率,自由和开放使其明显的特点。因此在互联网的发展初始阶段,人们认为互联网具有无法律、无国界、无法管理的特征。
无规矩无以成方圆,这句话同样适用于互联网世界。不良舆论信息借助互联网的传播,容易给企业的形象以及声誉受到损害,更有甚者会导致企业的经济损失惨重。有关企业的网络谣言、网络欺诈等不良舆论信息可以在一夜之间传播到互联网上。网民收到关于企业的负面信息后,第一反应不是问消息是否真实,而是考虑自身是否购买了企业的产品。接下来就会发起一系列的售后退货退款等服务。负面舆论信息会直接降低甚至破坏用户购买企业产品的欲望,进而影响企业绩效,造成严重的经济损失。有些不法分子或者企业竞争者则抓住互联网这一特性,利用有关产品谣言等信息的发布,利用负面舆论信息压垮竞争者。负面舆论信息是企业的全局。在这个过程中,总有机会把握和转化。公司应重视网络不良舆论信息的控制和处理,采取相应的策略和措施,把握转化机会,尽量减少影响,确保公司的安全运行和可持续运行。综上所述,企业舆情的检测是十分迫切的。
2.相关技术
2.1网络爬虫技术
2.1.1网络爬虫基本概念
网络爬虫技术是指通过跟踪超链接从网络中获取网页指定索引信息的技术。网络爬虫的类型可大致分为五类:通用式爬虫、偏好式爬虫、隐藏式网络爬虫、移动式爬虫与连续式或增量式爬虫。
通用式爬虫:通用式爬虫并不局限于一个特定的主题或域网站。其爬虫方式会无休止地关注链接,并获取所遇到的全部网页信息。
偏好式爬虫:偏好式爬虫并不会爬取其所遇到的所有链接,而是用户提交一个条件或感兴趣的条件或主题以指导偏好爬虫。此外,偏好式爬虫可以分为主题爬虫和特定主题爬虫,从网站中搜索与某些特定主题相关的信息。主题爬虫仅仅爬取指定感兴趣的主题,而特定主题爬虫中一些相关的和非相关标记索引的信息也是可指定爬虫的。
隐藏式网络爬虫:是指网站上的大量信息不能直接通过跟踪网页上的超链接来访问。此信息隐藏在搜索或查询界面后面。
移动式爬虫:指网站的选择和过滤是在服务器端而不是在搜索引擎端执行的。在移动式爬虫中移动代码到数据可以减少传统网站爬虫所造成的网络负载。
连续式爬虫或增量式爬虫:指网络是动态的,网页上的数据也在不断变化。这类爬虫用于维护搜索引擎的索引数据库。然而,此类爬虫在管理热度与资源消耗之间存在着一种权衡。
2.1.2网络爬虫原理与流程
基于python的网络爬虫原理为模拟计算机向服务器发送request请求包,然后接收服务器的response响应包并加以解析后,从中提取出感兴趣的索引字段相关内容。具体的工作流程为:首先通过观察页面URL的构成特点,手动将URL信息存入列表;其次定义爬虫函数;再次通过循环调用爬虫函数以爬取URL列表中的网页索引字段的相关数据;最终,每实现一次爬取操作则解析该网页数据并提取相关索引字段以保存至存储文件中。其基于python的爬虫原理流程如图2-1所示:
图2-1基于python的网络爬虫原理流程图:分为URL列表的构造、爬虫函数的定义、网页信息的爬取、网页数据的解析以及数据的存储所构成。
2.2数据挖掘技术
2.2.1数据挖掘基本概念
数据挖掘技术是指处理从各种信息源(如数据库、文本文件、流)所获得数据的准备,以及使用各种技术以所确定的实现目标(如分类、聚类、回归、关联规则挖掘等)进行数据建模的过程,即使用机器学习技术从现有的信息中发现新的知识。数据准备是数据分析过程中的重要一步,它包括数据预处理和数据操作。预处理的目的是清理、集成、转换和筛选原始数据,使其能够用于数据分析;而数据操作则将预处理数据集转换为数据建模算法易于操作的数据格式。数据挖掘技术大多被定义在更广泛的数据科学范围内,其也涵盖统计学、大数据技术和数据可视化技术等方面。
目前,Python已经成为数据科学社区的首选数据挖掘编程语言,而R是第二选择。Python的流行可能源于它的相对易用(即使是非计算机科学家),其巨大的生态系统由库数据科学及其相关依赖所组成,主要通过NumPy[2]和SciPy[3]包的快速实现,其包中的科学算法由C与Fortran语言编写。针对Python中的数据科学挖掘库可主要分为六大库:Python核心库、数据准备库、数据可视化库、机器学习库、深度学习库与大数据库。
Python核心库:Python中的许多数据挖掘和机器学习任务都是基于使用NumPy和SciPy库进行的快速和高效的数值和矢量化计算。NumPy和SciPy的主要优点是它们能够在n维阵列上执行高效的向量化计算与其广播机制。在此领域中使用Python的另一个优点是,将第三方代码连接到Python解释器中相对容易。在数据挖掘技术中最常用的库是Cython[4]。Cython是一种建立在Python之上的语言,它还支持调用C函数,并具有C类型的变量和类。Cython的使用可以使代码的某些关键部分的速度快几倍。
数据准备库:由于数据科学领域的一切都是基于数据的,因此需要建立数据准备库。目前在这个领域中最好和最常用的Python库是Pandas[5]。Pandas具有广泛的输入/输出数据格式的功能,如Excel、csv、Python/NumPy、HTML、SQL等等。此外,Pandas具有强大的查询可能性、统计计算和基本的可视化功能的实现。此外也包括PyTables[6]与h5py[7]库,仅仅接收HDF5的数据类型。
数据可视化库:Plotly[8]支持数据挖掘和机器学习中使用的大多数标准图可视化。seaborn[9]的一些功能少于Plotly,而Matplotlib[10]的一些功能少于海运。虽然这三个库之间存在差异,但它们都有主要的绘图功能。Bokeh[11]和ggplot[12]有最少的选项和使用最少的库。
机器学习库:scikit-learn[13]是最流行的机器学习Python库。除此之外,还有mlxtend[14],一种仅包括一些基本算法的小库,另外还有Shogun[15],它主要是用C++编写的,但缺涵盖一个可用的Python包装器的所有功能。
深度学习库:常用的深度学习库包括Caffe、Tensorflow、Keras、Pytorch等等。Caffe[16]除了这些基本功能之外,它的文档结构不是非常直观。TensorFlow[17](TF)是由谷歌Brain开发的,它具备优质的文档功能,除了基础功能之外还有很多功能,并且可以使得代码的可定制度非常高。它允许使用者监控他们的模型、参数、损失等等。Keras[18]是建立在TF的基础之上的。因此,在Keras中封装层级更高。因此,其代码的可定制度较低。PyTorch[19](PT)是由脸书开发和使用的。它的发展比TF发展得更晚。但就目前而言,在深度学习研究领域中,其库的应用最为广泛。PT是动态的,它以更程序化的方式运行代码,而在TF中,首先需要设计整个模型,然后在一个会话中运行它。因此,相较TF而言,在PT中调试代码要容易得多。PT更容易学习,也更容易用于快速的原型设计。PT和Keras也有较优质的文档功能。
大数据库:最流行的大数据工具是Spark和HadoopMapReduce。两者都是灵活性高的且容错率高的工具。它们有自己的专门的存储系统,这使它们能够在计算机集群上工作。Spark使用弹性分布式数据集,而Hadoop使用Hadoop分布式文件系统。Spark和HadoopMapReduce的主要区别在于Spark可以在RAM内存中工作,而Hadoop总是在文件系统上写入。在数据量非常大(大于可用的RAM)和不需要立即得到结果的情况下,Hadoop是一个很好的选择。在所有其他情况下,Spark可能是一个更好的选择。尽管两者都是用Java编写的,但许多大数据工程师更喜欢将它们与Python结合使用。
2.2.2数据挖掘原理与流程
基于python的数据挖掘原理为进行数据的读取,然后进行数据的探索与特征理解,再进行数据的预处理,最终建立模型以挖掘数据间的关联。具体的工作流程为:首先进行数据的指标、规模与信息的统计;其次进行特征的分析与探索工作;再次利用特征工程加以分析与清洗数据;最终建构学习模型完成数据的相关性等等挖掘工作。其基于python的数据挖掘原理流程如图2-2所示:
图2-2基于python的数据挖掘原理流程图:分为统计数据的读取、数据的探索与特征的理解、数据的预处理与建构模型所构成。
3.开发环境及可行性需求
3.1开发环境
此次毕业设计的开发环境见下表3-1所示:
表3-1 开发环境的具体配置
设备名 | 版本型号 |
框架 | Django |
CPU | Inter(R)Core(TM) i7-9750H CPU @ 2.60GHz |
内存 | RAM axel DDR4 2667MHz |
操作系统 | Windows11 |
IDE | Pycharm |
硬盘 | WDC PC SN730 SDBPNTY-1T00-1101 953GB |
3.2技术可行性
本系统已通过可视化前端界面进行了统计与展示,仅仅需要对我国国民参与少量培训,则能顺利使用本系统,本系统基于Django框架并采用Python编程语言予以实现。
3.2.1 Python
Python既是一种面向对象的语言,也是一种脚本语言。其优点在于其具备非常强大的第三方库,其开发效率较高;其面向对象的编程思想比起C语言更符合人类的思维逻辑;网络上具备大量免费且开源的学习资源以供参考;其可以用于Linux、Windows、Solaris等等平台,可移植性较高;其可选择C或C++语言以编写并用于Python中,其代码的可扩展性较高;其相对于Java语言而言,其语法较简易,学习难度较低。因此,本系统采取Python作为编程语言。
3.2.2 Django
Django是一种开源且功能完备的Web应用框架,是由Python语言所编写的。其采用了模型、视图与控制器的三种设计模式所构成。其优点在于利用Python的类集成机制,拥有丰富且动态的数据库操作接口,具备强大的数据库功能;具备强大的后台管理员设计功能;利用正则化匹配网址,具备优雅的自定义网址功能;具备大量的网站模板,且可扩展性较强;其缓存系统可以与其他系统联用以提高页面的加载速度,利于提升用户的体验感。因此,本系统采取Django作为系统开发框架。
3.3操作可行性
本系统采用基于Windows的图形界面用以展示。对于一般拥有基础计算机知识的人员即可轻松上手使用,其友好的交互界面完全不必了解后台的数据处理过程。由此,该系统的操作是可行的。
综上,该系统具有很高的开发可行性,无论从技术还是操作上。
4.企业舆情数据挖掘与管理
本章针对基于Python语言中requests工具库所实现的企业舆情数据的爬取工作进行详细阐述。
4.1舆情数据爬取与文本挖掘管理总体功能
基于python的企业舆情监测系统的总体功能涵盖舆情爬取、舆情文本挖掘以及舆情管理模块,如图4-1所示。其具体组成如下:
(1)舆情爬取: 网站信息的获取、依据企业名实现信息的检索匹配以及舆情信息的保存。
(2)舆情文本挖掘: 舆情文本的清洗、舆情文本的分词、舆情文本的关键词频统计、舆情文本的主题词词性提取、舆情文本的聚类、舆情文本的情感分析以及词云图可视化。
(3)舆情管理: 舆情信息的保存以及舆情信息的预警。
图4-1 基于python的舆情监测管理系统的总体功能包括三大模块:舆情爬取模块、舆情文本挖掘模块以及舆情管理模块
如图4-1所示,针对基于python的企业舆情监测管理系统的三大模块具体分析如下4.2、4.3、4.4节所述。
4.2舆情爬取模块
针对企业有关数据的爬取设计主要分为URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页信息的解析以及数据的存储五个步骤。其工作原理流程如图4-2所示:
图4-2企业舆情数据的爬取设计流程图:分为URL列表的构造、爬虫索引条件的定义、网页信息的爬取、网页数据的解析以及数据的存储所构成。
针对URL列表的构造,采取肉眼观察须爬取网站的URL信息,并手动采集信息以构建URL列表。
针对爬虫索引条件的定义,利用所感兴趣的特定筛选条件或正则化匹配函数以建构其索引条件。
针对网页信息的爬取,利用requests工具包模拟计算机端向服务器端发送request请求访问相应页面的URL以及请求所需的请求头headers,随后接收服务器端的response响应包实现信息爬取。
针对网页数据的解析,利用re正则匹配解析工具包或json工具包以解析网页相关索引条件的内容。
针对数据的存储,利用xlsx、txt与pickle文件格式将所解析的信息予以存储。
依据上述五个步骤所编写的代码实现如下图4-3所示:
图4-3 舆情数据爬取的代码实现(在微博网站上,以科大讯飞为检索条件为例)
依据图4-3中的代码实现,所爬取的企业舆情保存为.csv为后缀的文件。其爬取结果如下图4-4所示:
图4-4 舆情数据爬取的保存内容(在微博网站上,以科大讯飞为检索条件为例)
如图4-4所示,其中包括网页信息的爬取响应以及解析所取得的相关舆情数据结果。
4.3舆情文本挖掘模块
舆情文本挖掘模块主要由舆情文本的清洗、舆情文本的分词、舆情文本的关键词频统计、舆情文本的主题词词性提取、舆情文本的聚类、舆情文本的情感分析以及词云图可视化所构成。其具体的代码实现以及可视化结果分别如下所述。
4.3.1 舆情文本的清洗
通过re正则化函数完成舆情文本的清洗,其代码如下图4-5所示:
图4-5 舆情文本的清洗代码示例图
4.3.2舆情文本的分词
经过re正则化清洗后的文本数据,进一步利用jieba分词工具包以完成分词操作,其代码如下图4-6所示。
图4-6舆情文本的分词代码示例图
对应于上述分词代码的运行后,其输出的分词结果如下图4-7所示的第二行结果。
图4-7舆情文本的分词结果可视化图
4.3.3 舆情文本的关键词频统计
通过分词之后,进一步进行舆情文本的关键词频统计,其代码实现如下图4-8所示:
图4-8舆情文本的关键词频统计代码示例图
对应于上述关键词频统计代码的运行后,其输出的词频统计结果如下图4-9所示:
图4-9舆情文本的关键词频统计可视化图
4.3.4 舆情文本的主题词词性提取
通过关键词频统计之后,进一步进行舆情文本的主题词词性提取,其代码实现如下图4-10所示:
图4-10舆情文本的主题词词性提取代码实现示例图
对应于上述主题词词性提取代码的运行后,其输出的主题词与其词性的结果如下图4-9所示:
图4-11舆情文本的主题词词性提取所保存的txt文件可视化图
4.3.5 舆情文本的聚类
通过关键词频统计之后,进一步进行舆情文本的聚类,其代码实现如下图4-12所示:
图4-12舆情文本的聚类代码实现示例图
对应于上述舆情文本的聚类代码的运行后,其输出的聚类结果如下图4-13所示:
图4-13舆情文本的聚类界面的可视化展示
4.3.6舆情文本的情感分析与词云图可视化
通过舆情文本的聚类之后,进一步进行舆情文本的情感分析与词云图可视化,其代码实现如下图4-14与图4-15所示:
图4-14舆情文本的情感分析代码实现
图4-15舆情文本的词云图可视化代码实现
对应于上述舆情文本的情感分析与词云图可视化代码的运行后,其输出的可视化结果如下图4-16所示:
图4-16舆情文本的情感分析与词云图可视化展示
4.4舆情管理模块
4.4.1 舆情信息的保存
在键入爬取的企业名词之前,先设置其爬取信息所保存的数据路径,如下图4-17左上角的按钮所示:
图4-17舆情信息保存的交互界面
点击上图4-17左上角“设置数据保存路径”按钮后的弹出界面如下图4-18所示:
图4-18舆情信息保存按钮点击后的文件存放地址设置示例图
4.4.2 舆情信息的预警
针对舆情信息的预警,仅仅针对其情感的正负向[0,1]区间的分数以进行预警,当其值处于0.8以下时,则会弹出相应的感叹号以发出预警。具体如下图4-19所示:
图4-19舆情信息的预警可视化展示
4.5本章小结
本章详细论述了基于python的企业舆情检测管理系统的功能模块组成,其中包括舆情爬取模块、舆情文本挖掘模块以及舆情管理模块。此外,针对三大模块中的各个子模块分别进行了代码以及界面的展示。
5.总结
在整个系统设计阶段感受最深刻的是学习方法的把握与解决问题的思路逻辑。首先学习方法的把握,在设计系统的一开始倾向于从书中从网上的视频教学中找寻答案,而开发系统需要的动手的工程实践能力,而不是一味地追求教科书上的知识。实践才是检验真理的唯一标准,意识到这一点后我开始硬着头皮一步步写代码,经历一步步调试终于完成了此系统。其次解决问题的思路逻辑,在程序运行失败之后,依据报错信息找寻到当前报错行,依据提示先自我检查问题所在,如若自行解决不了再去网上找寻相关资料。在整个毕业设计过程中,我深刻体会到这两点的重要性,也牢记住了在今后的学习与研究中要继续延续这两点。
在此次设计中,自觉本系统尚存在诸多的不足之处,如未针对未来的疫情发展趋势做出一定的预测等功能不够完善,望老师对于该设计中所出现的问题及不足之处予以批评指正。
参 考 文 献
[1]周如俊, 王天琪.网络舆情: 现代思想政治教育的新领域[J].思想理论教育, 2005 (11):12-15.
[2]T. E. Oliphant, A guide to NumPy, USA: Trelgol Publishing, 2006.
[3]E. Jones, T. E. Oliphant, P. Peterson, et al. SciPy: Open Source Scientific Tools for Python, 2001.
[4]S. Behnel, R. Bradshaw, C. Citro, L. Dalcin, D. S. Seljebotn and K. Smith, Cython: The Best of Both Worlds, Computing in Science and Engineering, 13, 31-39, 2011.
致 谢
本此毕业设计的完成,感恩XX老师的教学与指导,使本人有了完成论文所要求的知识积累,更得益于老师从选题的确定、论文资料的收集、论文框架的确定、开题报告准备及论文初稿与定稿中对字句的斟酌倾注的大量心血,在此对老师表示感谢。
在这里,还要特别感谢大学四年学习期间给我诸多教诲和帮助的学院的各位老师,你们给予我的指导和教诲我将永远记在心里。
首先,在本次的学院设计的过程中,我的任课老师,认真负责、严静细致、不辞辛劳的态度,深深的感动了我,在本次设计中,多次对我的提出了宝贵的意见和真挚的帮助,才能够使我的能够完善到现在这个程度,
再次,感恩我的同学们,你们给予我的帮助
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/160408.html,