基于kmeans的聚类微博舆情分析系统

第一章绪论

1.1研究背景

如今在我们的生活与生产的每个角落都可以见到数据与信息的身影。自从上十世纪八十年代的中后期开始,我们使用的互联网技术已经开始快速发展,近些年来云计算、大数据和物联网等与互联网有相领域的发展让互联网技术达到了史无前例的高度,信息技术与金融、科研、交通等各个方面也都产生了很多交集与融合,它催生了数量级数据的极速增长,因此人类也就进入到了大数据的时代。在互联网领域中数据迅速增长的由用户产生的交互信息数据已经成为了主要数据源。如何从蕴含着巨大的价值的大量数据中提取有效的信息,了解数据的规律和结构,充分挖掘出数据的价值,将隐藏在数据背后的本质抓取出来,成为了当今的科技领域的主要问题。数据可视化技术是随着时代的发展而出现的,它能够将数据转换成更容易被人们理解和接受的图形和图像。它与信息图形的各个领域有着密切的关系,涉及范围非常广泛。目前,数据可视化应用在医学、教育、科学研究等领域是一个非常常见和重要的技术。

可视化的需求是巨大的和多样化的。尽管目前已有许多关于可视化的研究,但是人们对可视化的需求仍然没有得到很好的满足。因此,本文在分析了当前可视化工具不足的基础上设计并实现了一个通用型的可视化系统。在可视化系统当中,关键的是从可视数据到图形图像的转换,本文主要选用Echarts来实现数据的可视化分析。

可视化能够将数据用直观的方式表达出来,把数据变得更加地便于被理解。形状、大小和颜色等图形化的东西比单调无味的数字、文字更加符合人类的理解和记忆习惯。数据可视化在总结,归纳与分析时,有着极其重要的地位,通过将数据映射为可视化的图像,以便于对数据进行了更直观的解读,能够帮助人们更加有效地从数据中发现其表达的信息,并且可以赋予图表丰富的交互功能,使用户可以根据自己的需要对图表进行修改,从中进一步地发现有价值的规律或着结论,为相关领域的研究与相关决策提供了重要的参考依据。

1.2研究目的

数据可视化分析对舆情事件的意义在事情发生前预的测、事情发生中的感知以及事情发生后的反馈三个方面中体现出来。

1、事情发生前预测,相当于于加强了大数据对舆情产生的预测的功能,在舆情事件没有发生之前,提前去建立监测方法,起到了防范于未然的作用。

2、事情发生中感知,实质上也就是舆情事件刚刚发生的时候,基于大数据的监测起到了感知作用,有利于快速地发现舆情事件,第一时间去掌控整个事件。

3、事情发生后反馈,利用可视化技术进行数据处理,将大量数据经过视觉处理后显示出来,使人们能够充分利用视觉感知来观察能力去处理信息点,为了找到信息与隐藏模式之间的关系,结合不同维度的信息,有助于决策者密切控制舆论的态势和动态,为决策提供重要的数据支持。

1.3国内外研究现状

近几年来,社会情况的分析不断出现,但分析舆论的基本方法并没有根本改变。也就是说,是通过网络爬虫的方式去实现数据采集。一个是样本数据库,第二个是通过网络服务器收集数据并下载到本地服务器,第三个是进行重复数据消除和聚合,第四个是将清理后的数据以图像形式直观地呈现出来,目前国内相对较大的公共监控软件提供商有黄玉、创始舆论、加尼舆情、美亚舆情。

近两年来,随着国情软件的开发,云平台的建设出现了新的趋势。舆论分析主要基于个人监视软件,软件产品放在客户的本地服务器上,软件供应商提供后期软件升级和支持服务。这样的服务模式有几个弊端,由于服务器分散,数据的收集和分析对大的数据处理和密集输出不利,软件服务逐渐取代云数据平台的创建,客户可以远程访问网站和客户。

2008年,迈克尔将数据可视化分为统计图形和主题地图两部分提出。到现在为止,数据的可视化技术也发展了。现在,不仅是世界各国的大学,还成立了可视化研究小组。另外,政府和大型企业也在可视化研究上投入了资金,每年召开几次有关数据可视化的国际会议。SAS等知名公司在数据可视化方面也取得了很大的发展,开发了许多成熟稳定的可视化产品和工具。除了有名的OpenGL和DirectX之外,还有以下几点。

(1)SASRVisualBI:是SAS公司发布的商业智能软件,数据可视化技术定义了大量动态交互。

(2)美国Skyline系列软件:Skyline拥有世界顶级的三维数字显示技术。有名的产品有terrabuilders、terraexplors和terragates。现在是国内制作大规模真实的三维数码场景的第一选择软件。

(3)Gephi:Gephi是用于可视化社会图数据的工具,也是用于可视化网络搜索的平台,用于创建动态级别的数据表。

另外,还有很多其他优秀的双向分析工具。例如,桌子、造型师、Bo、BIEE等工具也采用了视觉化技术。有良好的视觉效果。

(1)360大数据平台Komb-2骗子地图和360星图:基于大量的设备,360使用大数据技术分析出骗子地图产品,让人们看到真正的大数据,发现互联网欺诈。

(2)Ethink数据智能分析平台:主要支持功能是实现大屏幕、驾驶室、仪表板等数据可视化产品,它实现了数据可视化,数据报表,自助分析,移动BI等功能,目前已在电信、金融、烟草、审计、公安、财政、制造业等行业广泛应用。

(3)阿里巴巴集团研发了可视化分析平台就是淘宝指数,通过对阿里集团旗下的1688、淘宝天猫等平台上产生的商业交易数据进行分析与可视化,为买卖双方和其他第三方机构提供信息共享,也提供了用户的交易保障。

EnterpriseCharts,一个纯Javascript的图表库,可以流畅地运行在PC端和移动设备上,缩写就是Echarts,商业级数据图表,兼容当前绝大部分的浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari等),它的底层依赖轻量级的Canvas类库ZRender,它提供直观,生动以及交互式和高度可定制的有特点的数据可视化图表。创新的拖拽重计算、数据视图以及值域漫游等特征大大增强了用户的体验感,让用户能够对数据进行爬取挖掘、整理分析的能力也随之提升。

它支持多种可视化的图表,比如折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表,同时能够提供标题,详情气泡、图例、值域、数据区域、时间轴、工具箱等7个可以交互的组件,Echarts支持多个图表、组件的联合和混合搭配表现出来。

1.4主要研究工作

利用爬虫抓取新浪微博上与"校园霸凌"话题有关的微博博文,然后进行数据处理,对文本信息进行分词处理对文本进行中文分词;去停用词处理去除重复的词语;利用TF-IDF进行关键词的提取;最后用可视化工具对处理后的数据进行可视化处理,让人一目了然地大量"校园霸凌"相关微博数据的分析。

本文组织与结构如下:

第一张是绪论,主要讲了研究背景、研究目的、国内外研究现状以及主要研究工作;

第二章是相关理论与技术,主要讲了本次实验用到的相关技术以及这些技术的理论;

第三章是设计方案和数据框架,主要讲了本次实验的构架;

第四章是本次算法流程与实现,主要讲了本次实验的具体流程和实现的过程;

第五章是实验结果与分析,主要讲了本次实验的结果与分析;

第六章是总结;

最后是参考文献和致谢。

第二章相关理论与技术

2.1数据抓取模块

采用网络爬虫技术进行数据抓取.网络爬虫技术(Webcrawler)是指自动化去捕获网页数据信息的一种程序或者是脚本。它是从已经固定的网页出发.分析目标网页结构,进而获取指向其他网页的URL,再继续选择并搜索下一个站点。根据微博网站的高级搜索功能.程序提供了多种数据筛选模式,用户可以根据内容、时间、地点、博主类型等进行定向搜索,提升数据价值和获取效率。

然而微博设计了反爬机制,用户只有登录后才能浏览微博信息。微博服务器会向登录用户发送一个Cookies.当他继续访问微博其他网页时.Cookies将被浏览器添加到请求头并发送到服务器.服务器可以通过Cookies识别用户身份。因此,获取有效Cookies成为突破微博反爬虫策略的关键。

2.2文本预处理

在进行文本处理之前,需要提前处理语料库中的文本,例如对文本进行分词的中文分词技术、过滤特殊符号或重复词语的去停用词技术以及提取想要词语的关键字提取技术等。单词是构成一个完整语句的最基本的单位,在分析语句之前需要利用中文分词技术先进行文本分词,把文本当中出现的词语切分出来作为一个特征值。相对于中文分词而言,英文分词技术就相对比较简单,因为在英文的语句之中每个单词与单词之间的分隔符都一目了然。而中文文本语句的结构复杂,在词语之间并没有类似分隔符的,并且同一个词有着不同的意思,那就是多义词,而且在多个不同语境下,一个词也会有多个不同的意思。去停用词技术可以节省许多的存储空间,以便于减少这些停用词或者符号对于理解整个文本语句而造成的干扰,以降低文本的难度。去停用词可以根据停用词表来把停用词过滤掉,因此在去除停用词之前我们可以下载一个停用词表,然后用处理好后的分词表去扫描这个停用词表,我们需要将在停用词表中的词从分词表中过滤掉。去停用词可以有效地提高语句的理解与文本的处理效率和准确率。

对微博文本进行分析时,文本预处理是分析的前提和基础。但是计算机并不可以从最开始的微博文本数据中立刻提取到微博舆情的相关数据,机器不能理解人类的自然语言,所以我们需要提前把这些自然语言转化为能让机器所理解的机器语言,这种转化也就是文本预处理的目的。本次实验将以从新浪微博上爬取下来的数据作为实验的基本数据,爬取的微博文本大量是以中文文本为主,针对本次实验中中文文本预处理主要包括了中文文本分词、去停用词和文本表示三个关键步骤。

2.3中文分词技术

文本分词是自然语言处理中的第一个步骤,也是非常重要的一个部分。所谓的分词,是指将由文本的句子按照一定的规则再重新结合到单词的集合上,而中文文的分词是指将中文里的完整的句子分成单词的集合。和英文相比较,中文文本分词就困难很多。在中文分词的时候怎样去定义"词"、怎样去除异议、怎样辨别出没有登录的词,这些也是面临的问题。中文分词指的是把汉字的序列(句子)切分成为一个个单独的词语。分词可以理解为就是把中文连续的汉字序列按照一定的规则去重新组合成词语集的过程,现有的分词算法可有三类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

基于字符串匹配的分词方法:它是根据一定的方法将准备分析的汉字串序列与一个"足够大的"机器词典中的词语进行匹配,如果在使用的词典当中找到了某个字符串,那么就会成功识别出一个词语;

1)正向最大匹配法(从左到右的顺序)

2)逆向最大匹配法(从右到左的顺序):

3)最少切分(让每一个语句中切分出来的词数最小)

4)双向最大匹配法(进行从左到右、从右到左两次扫描匹配)

基于理解的分词方法:通过让计算机模仿人对语句的理解,做到辨别出词来的效果就是这种分词的方法。他的主要思想就是在进行分词的同时进行句法、语义的分析,通过利用句法的相关信息和语义的相关信息来解决异议的现象。分词子系统、句法语义子系统和总控部分就是这种分词的方法。在总控部分的调解之下,分词子系统可以获取相关词语、句子的句法和语义信息来对分词异议进行判断和辨别,也就是说它模拟了人类对句子的解读过程。这种分词的方法需要使用大量的语言知识和信息。因为汉语语言知识是笼统和复杂的,不能把各种各样语言信息组合成机器可直接理解的样子,所以当前基于理解的分词系统还没有正式发布出来。

基于统计的分词方法:面对给出大量未知的已分词文本,使用统计机器学习的模型学习词语切分的规则(称它为训练),就这样实现文本词语切分。在大规模建立了语料库之后,统计机器学习方法的探索和精进,这种分词的方法也就成为了比较流行的分词法。

中文文本分词,也就是按照中文自然语言习惯把没有分隔的汉字序列切分成为单独的词语的过程。在中文的文本里面除了句子、段落之间有标点进行分隔,词汇与词汇之间并没有像英文文本一样有空格来分隔,如过不对文本进行处理,计算机就不可以精确地辨别出词语的边界。因为中文词和词组的边界具有模糊性,所以在进行文本处理之前需要对文本进行文本分词,就决定了在处理中文文本之前必须对其进行分词处理,否则很难基于词语来分析文本的意思或语法信息。

2.4去停用词技术

在进行文本分词处理后,将会得到分词后的数据,那么,在这些切分出来的词语中会出现一些没有实际意义的词语,他们对数据分析的意义不大,那就需要将他们去除掉,在此会用到去停用词技术。停用词是指在文本处理前后被系统指定为自动过滤去除掉的字或词汇。在数据分析的过程中,停用词一般都没有实际的意义,只有在特定的情况下,它们在具有一点个意义。停用词一般包括了虚词、语气助词、量词、代词、副词等,为节省计算机存储空间并提升计算机效率,在文本分词结束后会过滤掉这些停用词。例如文章中的"在""等""的"等词就是自然语言中的功能性词语,这类功能性词语并没有什么实际意义;还有比如说"上边""上面""哎"等语气词和方位词对文义影响不大的词语;这两个类型都是停用词。在分词的时候,过滤去除掉这两个类型的词汇对文章的主要信息的分析并没有太大的影响,并且这样也有利于消除异议。与此同时,在进行文本分词时也会出现大量单独的带数字的无意义词,或者是英文字母,他们一般没有携带什么信息,而且有可能在数据分析的过程中带来负面的影响,因此可以选择将他们作为停用词过滤去除掉。对于一些特定目的来说,无论什么类型的词汇都可能会作为停用词过滤掉。所以在我们实际研究时也会选定特定的停用词过滤掉,以此达到预期中的分词效果。

2.5TF-IDF提取关键词

TF也就是词频,就是在一篇文本里面出现次数最多的词语,但是在文本里经常出现的词语也不一定就是这篇文章的关键词,例如我们需要过滤除去的停用词或者一些没有意义的词语。为了解决此问题,我们弄一个表示主要程度的系数来衡量这个词是不是关键词。该系数为权重,也就是IDF逆文档频率,然而这个系数越小那这个词就越常见,系数越大,这个词语就越少见,这个系数大小和词与的常见程度就是成反比的。得到一个词的TF-IDF值的方法就是,在我们得到了词频(TF)以及逆文档频率(IDF)的值之后,把这两个值做乘法,如果一个词语的TF-IDF值也就越大,那么它对文章就会越重要,所以当实验结果运行出来后我们会发现排在前面那的几个词语就会是这篇文章的关键词。

简单地以"词频"去检测一个词重不重要,是不具体,不全面的,因为有的是精髓的词出现的次数不会太多,而且只看词频是不能体现出该词语的位置信息的,位置在前面的词和位置靠后的词重要性相同,那么,这是不符合事实的。而TF-IDF算法简单又快速,结果相对实际情况来说也较准确

TF-IDF的算法过程:

(1)、计算某个词的词频:

词频(TF)=某一个词在文章中出现的次数

考虑到不同文章的长短字数不一样,我们将词频进行标准化

标准化词频

词频(TF)=某一个词在文章中出现的次数/文章的总词数

词频(TF)=某一个词在文章中出现的次数/该文中出现次数最多的词的出现次数

(2)、计算逆文档频率

需要一个语料库来模拟分词的使用环境。

逆文档频率(IDF)=log(语料库中的拥有文档的总个数/(包含有该词的文档总个数+1))

(3)、计算TF-IDF

TF-IDF=词频(TF)*逆文档频率(IDF)

虽然TF-IDF采用文本逆频率IDF,并对TF值加权取权值大的作为关键词,IDF的简单结构不能直接、有效地描述这个词的重要性和分布。在文本已经分类后TF-IDF算法的精准度并不高。

事实上IDF是一种尝试控制噪音干扰的加权,并且简单地认为越频率小的词语就越重要,频率越是大的单词就越没有用。然而这对于大多数的文本信息来说,并不是完全地准确。IDF由于结构简单,提取的关键词,并不能够反应词语是否重要,以及词语的特点偏向。特别是在同类语料库中,会有一些关键词不能被发现,这一方面还存在缺点。

TF-IDF的缺点:

(1)未考虑不同位置的特征词的位置因子对文本分化的贡献。当条目出现在文档的不同位置时,对文本差异的贡献是不同的。

(2)之前的TF-IDF,往往出现不常见的生僻词的IDF会比较高,所以有时候大家会以为生僻词是关键词。

(3)之前的TF-IDF中的IDF部分仅仅考虑了特征词与它出现的文本数量之间的关系,却忽略了特征词在不同情况下分布。

(4)对出现次数少的重要的人名或者地名体现不出来。

2.6数据可视化

数据可视化技术因为它的实用性和直观性,在许多行业的数据分析中都能看到他的身影,在许多行业中都运用了它。数据可视化分析是如今分析和显示大量数据的重要技术。受大量用户群体的影响,越来越多人认识到数据可视化,每当发生舆情事件时,数据可视化技术马上被运用到其中,越来越多的微博舆情被监测分析,微博舆情可视化技术也已经进入了大数据时代。由于用户群体庞大,微博成为了舆情可视化分析的主要数据网站,越来越多的舆情事件发生,微博为大家提供了庞大的素材,另一方面也给微博舆情数据的分析与可视化带来了更多的挑战。

第三章设计方案和数据框架

本文程序包括三部分:数据抓取模块,文本处理模块和数据可视化模块。程序架构如图3-1所示。

图3-1程序架构

首先我们通过网络爬虫的技术手段,爬取来大量自于新浪微博上的博文和评论信息并且将其存入数据库中包括微博的发布时间、微博文章正文、用户名、评论量、以及转载量等,=。其次,对于在微博上爬取下来的数据进行去除干扰和噪音、去除重复词语、文本中文分词和提取关键词等处理。提取与校园霸凌话题相关的关键词,建立校园霸凌微博舆情信息统计表。最后,根据数据分析和信息分类情况,星辰校园霸凌微博舆情信息展示图表,主要包括了主体图、霸凌事件事发学段图、霸凌事件主要话题月份图、霸凌事件主要发生话题地点图、霸凌防止工作主要舆论关注热点图、基于词频统计的词云图等,并产出本次实验的微博舆情报告。

3.1算法流程

1.去除指定无用的符号

2.让文本只保留汉字

3.对文本进行jieba分词

4.去除停用词

5.提取关键词

3.2jieba算法文本处理

一、jieba支持三种分词模式:

精确模式:尝试把句子最精准的方式切开,适合用于文本的分析;

全模式:扫描速度很快,但是不能解决歧义;;

搜索引擎模式:在精确模式的基础上,对过长词语进行二次切分。

二、jieba有一个叫dict.txt的独特字典。这包括20000多个词,包括条目的数量(数字是作者日常生活和其他资源的语料库训练的)和一些语音。第一种是trie树结构的单词图扫描。而且,这意味着在trie树上放置20000多个词。也就是说,第一个词的前缀相同。因此,可以使用"树"来存储它。这有快速搜索速度的优点。

基于trie树结构,实现了一种高效的词图扫描,生成一个由句子中所有可能的汉字构词情况组成的有向无环图(DAG):

结巴分词自带了一个叫做dict.txt的词典,里面有2万多条词,包含了词条出现的次数和词性.trie树结构的词图扫描,说的就是把这2万多条词语,放到一个trie树中,而trie树是有名的前缀树,也就是说一个词语的前面几个字一样,就表示他们具有相同的前缀,就可以使用trie树来存储,具有查找速度快的优势。把dict.txt中所有的词汇全部删掉,然后再试试结巴能不能分词,结果会发现,结巴依然能够分词,不过分出来的词,大部分的长度为2.这个就是基于HMM来预测分词了.生成句子中汉字所有可能成词情况所构成的有向无环图,这个也就是说,给定一个句子,需要分词,就是给定一个待分词的句子,对这个句子进行生成有向无环图。

待分词句子的切分情况:

1.根据dict.txt生成trie树,

2.对待分词句子,根据dict.txt生成的trie树,生成DAG,实际上通俗的说,就是对待分词句子根据给定的词典进行查词典操作,生成几种可能的句子切分。

文本文件分词

首先导入需要进行分词的文件以及用户自定义词典,用户自定义词典可以保证分词时,用户自定义的某些词能够被保留下来,例如"东皇太一"这个作者,没被加入到自定义词典时,会被分成"东皇""太一"两个词,这肯定会影响后续研究,将其添加到词典中就不会被拆开了。

3.3去停用词技术

(1)去停用词

去除停用词的常见的两种方法:

一是简单的不需要的标点符号和字母;

优点:简便快速,代码量少。缺点:花费时间长。

二是建立或下载停用词表

优点:收纳停用词多,把助词,介词,标点符号等以及其他乱七八糟的词语都过滤掉了。缺点:代码量多。

3.4TF-IDF算法的关键词提取

TF-IDF算法抽取关键词的主调函数是TFIDF.extract_tags函数,主要是在jieba/analyse/tfidf.py中实现。其中TFIDF是为TF-IDF算法抽取关键词所定义的类。类在初始化时,默认加载了分词函数tokenizer=jieba.

dt、词性标注函数postokenizer=jieba.posseg.dt、停用词stop_words=self.STOP_WORDS.copy()、idf词典idf_loader=IDFLoader(idf_pathorDEFAULT_IDF)等,并获取idf词典及idf中值(如果某个词没有出现在idf词典中,则将idf中值作为这个词的idf值)。

然后开始通过TF-IDF算法进行关键词抽取。首先根据是否传入了词性限制集合,来决定是调用词性标注接口还是调用分词接口。例如,词性限制集合为["ns","n","vn","v","nr"],表示只能从词性为地名、名词、动名词、动词、人名这些词性的词中抽取关键词。

如果传入了词性限制集合,首先调用词性标注接口,对输入句子进行词性标注,得到分词及对应的词性;依次遍历分词结果,如果该词的词性不在词性限制集合中,则跳过;如果词的长度小于2,或者词为停用词,则跳过;最后将满足条件的词添加到词频词典中,出现的次数加1;然后遍历词频词典,根据idf词典得到每个词的idf值,并除以词频词典中的次数总和,得到每个词的tf*idf值;如果设置了权重标志位,则根据tf-idf值对词频词典中的词进行降序排序,然后输出topK个词作为关键词;

如果没有传入词性限制集合,首先调用分词接口,对输入句子进行分词,得到分词;依次遍历分词结果,如果词的长度小于2,或者词为停用词,则跳过;最后将满足条件的词添加到词频词典中,出现的次数加1;然后遍历词频词典,根据idf词典得到每个词的idf值,并除以词频词典中的次数总和,得到每个词的tf*idf值;如果设置了权重标志位,则根据tf-idf值对词频词典中的词进行降序排序,然后输出topK个词作为关键词。

3.5数据可视化的实现

3.5.1使用WordCloud可视化

使用词云图实现文本数据可视化,通过画出词云图向用户展现微博博文相关数据,能够让人更直接地发现关键词,用户可以通过观察词云图中词语地大小,快速了解该关键词对应社会热点的相关信息。生成词云图的关键是提取关键词.主要是在之前计算词频时,统计下各词出现的次数,出现次数多的词显示越大。分词技术是将文本中连续的字按预先设计的算法分隔为不连续的词的过程。由于中文词之间没有天然的分隔符.词边界相对模糊,甚至同一文本有多种不同的分词方式,处理难度远大于英文。在众多分词库中,jieba分词效果最好,功能最为强大。拥有精准模式(无冗余)、全模式(返回全部可能的分词情况)、搜索引擎模式(在精准模式基础上对长词进行二次切分)三种分词模式。可以满足多种场合分词需求。由于微博多采用网络语言,无意义的停用词较多。本文程序将读取事先整理的停用词词典:ChineseStopWord.txt对jieba返回的分词列表进行清洗,仅保留关键词。Wordcloud是Python的一个词云图库.可以自动统计词频,开发者只需将关键词数据以字符串格式(关键词之间用空格隔开)传人Wordcloud函数,即可生成词云图。同时该库允许用户自定义词云图形状、文字色调、文字大小等。

3.5.2使用Echarts可视化

ECharts是百度推出的一款可视化开源开发框架,它使用JavaScript技术,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可主要用于数据可视化。pyecharts是一个用于生成Echarts图表的类库,pyecharts是一款将python与echarts结合的强大的数据可视化工具,目前pyecharts上的图表大概支持到二十多种,pyecharts的主要功能如下:

(1)简洁的API设计,使用如丝滑般流畅,支持链式调用

(2)囊括了30+种常见图表,应有尽有

(3)支持主流Notebook环境,JupyterNotebook和JupyterLab

(4)高度灵活的配置项,可轻松搭配出精美的图表

(5)详细的文档和示例,帮助开发者更快的上手项目

(6)多达400+地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持。

第四章算法流程与实现

4.1数据抓取

以"校园霸凌"为keywords,以"2019-01-01"为起始日期data_start,以"2019-12-31"为截至日期data_end,爬取在2019-01-01到2019-12-31期间与校园霸凌为话题的微博博文信息,爬取代码如下图4-1-1;

图4-1-1数据爬取代码截图

把爬取下来的与校园霸凌有关的微博博文信息存入表格,总共爬取八万多条微博,其中有事实发生引发讨论的微博,也有电影中校园霸凌情节,引发网友热议的话题。如图5-1所示

爬取结果如下图4-1-2

图4-1-2数据爬取结果截图

4.2文本分词

对爬取下来的微博数据进行文本分词;

图4-2文本分词代码截图

4.3去停用词

过滤掉词典中的停用词,以便将不重要的词语过滤出去,减少无用的词语,留下有用词;

图4-3去停用词代码截图

4.4词频统计

计算出词频,并将词频统计出来,以便于后面计算TF-IDF;

图4-4词频统计代码截图

4.5可视化图片

使用Echarts对处理过的数据进行数据可视化,利用饼图的形式实现霸凌主体图,可以更直观地体现出霸凌事件的霸凌主体;霸凌事件事发学段图突出在这些霸凌事件中,哪个学段的学生中出现霸凌事件较多,以及可以发现各学段发生霸凌事件的占比。利用柱状图的形式实现霸凌事件主要话题月份图,可以更加直接地发现在哪些月份发生的霸凌事件较多,哪些月份发生霸凌事件较少,以便直接分析出霸凌事件主要发生在哪些时间;霸凌事件主要发生话题地点图,可以直观地发现霸凌事件主要发生在哪些地方;霸凌防止工作主要舆论关注热点图,可以发现对于霸凌事件,人们讨论到的霸凌防止工作的主要热点话题是什么,可以给相关部门一个直观的数据,以便他们开展相关的防霸凌工作。

使用WordCloud对处理后的数据进行词云图的实现,让人可以直观的发现,关于校园霸凌的话题中,哪些话题

出现较多,以及人们主要讨论了哪些话题。

图4-5-1霸凌主体图

图4-5-2霸凌事件事发学段图

图4-5-3霸凌事件主要话题月份图

相关推荐
大佬,救命!!!6 分钟前
Python编程整理汇总(基础汇总版)
开发语言·笔记·python·pycharm·学习方法·启发式算法
Python私教8 分钟前
Python 使用 Token 认证方案连接 Kubernetes (k8s) 的详细过程
开发语言·python·kubernetes
攻城狮_Dream8 分钟前
Python 版本的 2024详细代码
开发语言·python·pygame
卧式纯绿10 分钟前
自动驾驶3D目标检测综述(三)
人工智能·python·深度学习·目标检测·3d·cnn·自动驾驶
儒雅芝士17 分钟前
Ros2 操作指令记录
c++·python·机器人
晚风_END20 分钟前
postgresql|数据库开发|python的psycopg2库按指定顺序批量执行SQL文件(可离线化部署)
服务器·开发语言·数据库·python·sql·postgresql·数据库开发
我要学编程(ಥ_ಥ)29 分钟前
初始Python篇(7)—— 正则表达式
python·正则表达式
阿猿先森31 分钟前
PyQt6+pyqtgraph折线图绘制显示
开发语言·python
CodeDevMaster34 分钟前
Python办公自动化:用xlrd轻松读取Excel文件
python·excel
人机emmo_49037211221 小时前
第4关 Java分支结构之Switch【Java 分支结构之 Switch:灵活的选择利器】
java·开发语言·python