【《网络爬虫技术在网络舆情分析上的应用分析》17000字(论文)】_第1页
【《网络爬虫技术在网络舆情分析上的应用分析》17000字(论文)】_第2页
【《网络爬虫技术在网络舆情分析上的应用分析》17000字(论文)】_第3页
【《网络爬虫技术在网络舆情分析上的应用分析》17000字(论文)】_第4页
【《网络爬虫技术在网络舆情分析上的应用分析》17000字(论文)】_第5页
已阅读5页,还剩39页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络爬虫技术在网络舆情分析上的应用分析TOC\o"1-2"\h\u摘要 31绪论 51.1研究的背景及意义 51.2国内外网络舆情分析研究现状 51.3课题的主要研究工作 61.4论文组织结构 82系统开发技术介绍 92.1网络爬虫 92.2文本情感分析 152.3热点词汇与事件挖掘 202.4本章小结 243系统需求分析与架构设计 253.1需求分析 253.2系统可行性分析 263.3系统架构设计 273.3本章小节 284系统详细设计与实现 294.1系统开发语言与环境 294.2模块设计与实现 294.3数据库设计与实现 474.4本章小节 495系统测试 515.1测试计划 515.2测试与结果分析 515.3本章小节 546总结与展望 556.1本文总结 556.2未来展望 55参考文献 57摘要新浪微博是拥有数亿名网民的庞大的社交网络的平台,在我国网络社会的发展过程中具有重要的商业价值和社会价值。微博的数据具有高速的传播性和碎片化等特点,这为网络谣言的产生和传播提供了隐患,但也对网络社会的健康发展也将起到积极作用。因此,对微博数据进行情感分析和舆论监督成为首要的任务之一。本文的目的是研发网络舆情分析系统对微博文本进行数据爬取、数据预处理、情感分析,针对微博的数据进行监测与把控。本文主要研究内容如下:对微博数据进行采集。通过对不同数据爬虫技术的对比测试和分析,选择了分布式爬虫技术。根据新浪微博用户数据,设计实现了分布式爬虫数据采集模块,包括总体框架、整个系统的数据存储。对微博文本进行情感分析。结合微博短文本的特点与试验分析,本文针对新浪微博文本进行情感分类,会使用Word2Vec模型进行文本向量化处理,并运用LSTM有关机器学习算法进行分析总结微博数据可视化展示。分析以上各个模块选择开发语言的难易程度,使用Python作为本系统的开发语言。前端页面采用采用VUE框架,配合中国地图、数据流图、玫瑰图等工具,设计展示舆情状况、舆情分析、热点话题等模块。关键字:网络爬虫;情感分析;微博舆情;短文本1绪论1.1课题研究的背景及意义现在的人们在当今互联网的潮流中享受着现代化发展带来的便利,能够更有效地坦露自己的心声。在现在的微博平台上,数以亿计的碎片化信息数据显示在上面,良莠不一,可以进行获取并分析大众网民关心的舆论话题。但是目前就新浪微博上的反爬虫策略会限制的访问频率,获取数据的困难给舆论监控带来了新的挑战。此外,由于微博文本数据具有碎片化与多样性的特点[1],这也无形中增加了情感分析的难度。与此同时,在国家,针对网络舆情分析方面的研究与应用相较于国外研究起步比较晚[2]。目前国内比较有影响力的舆情监测系统有蚁坊软件和识微科技,蚁坊软件主要是针对政务舆情进行监测,识微科技主要针对企业的舆情监测,两者虽说可以进行免费试用,但是申请条件比较苛刻,市场价格也相对过高,也细分为多个业务系统板块,不同板块所需的费用不一。本文从现实角度出发,针对现在市面所存在的舆情监控系统进行研究分析,从数据爬取、文本处理、情感分析、数据可视化展示等方面进行研究,从而在基于Python的网络爬虫技术上,在新浪微博的数据源上,进行网络舆情分析的研究与实现。1.2国内外研究现状目前国内外研究团队面对海量的互联网舆情数据信息,首先需要具备的就是高效且全面的数据采集能力、强大的数据分析能力和智能的舆情预警能力,即舆论事件在发生初期就能够及时全面的抓取到相关的舆情数据信息进行研究分析,从而达到实现舆情预警,以便为舆论引导、舆情应对与决策提供强有力的数据支撑。1.2.1国外研究现状由于国外的互联网发展较早,对于舆情研究发展相较于国内也很领先。就现在而言,国外的研究团队已经产出了相当多成熟且有效的产品,并且也有一定的研究成效。例如,在半监督学习方法中,Peng等人[4]通过依据评论的特征,在词义理解、语境分析方面,提出了SRC-LDA模型,并获得了比较理想的实验结果。Ye等人[5]在机器学习领域通过SVM支持向量机和朴素贝叶斯等相关算法进行实验,并且分析出随着训练数据样本的增加,实验结果能够达到80%以上。1.2.2国内研究现状就国内而言,由于中文不同于英文,在文本处理方面,国内学者研究网络舆情,需要在完成数据采集后,过滤掉不符合常规的文字与符号。在文本分词方面,郑魁等人[10]研究并提出新型的网络舆情分词法——网络舆情热点发现分词法,从而有效提高网络舆情分词的准确性;谢丽星等人[12]研究出一种新型的情感倾向性分析算法和特征提取,他们通过使用三种方法研究中文文本的情感倾向,并且分别在情感字典、SVM等层次构建出不同的情感计算模型。与此同时,国内有名的舆情监测系统平台——识微商情监测系统,它利用高效的网络爬虫技术,对全网的舆情进行自动的监测采集,能自动识别出负面或敏感的舆情数据,最后通过舆情及时分析机制,方便客户对舆情数据报告的查阅,也为舆情工作的解决提供参考依据。1.3课题的主要研究工作鉴于对以上国内外的舆情研究分析得出,针对微博数据的舆情分析研究是迫在眉睫的。本文将通过全网的舆情研究对微博数据进行舆情研究与分析。本文的主要研究工作如下:采集微博数据本文使用目前主流的数据采集框架Scrapy,以实现对微博数据的采集。Scrapy本身是一个应用框架,用来抓取网站的数据和提取结构化数据,可以实现对数据进行高效快速的抓取。Scrapy总体的框架比较复杂,它本身已经提供了引擎对数据的传递,以及调度器与下载器的交互,只需要编写爬虫模块,处理引擎发来的响应,提取数据跟url返回给引擎。从而实现有效地采集获取微博数据。数据存储与预处理针对采集到的数据,需要进行数据存储跟数据预处理,以达到在数据处理方面的规整性。本文使用MongoDB分布式数据库进行存储,能够更有效地存储微博上的各种维度的数据。然后对数据进行过滤、清洗和分词,以获得标准化的数据集。微博文本数据的情感分析本文通过对微博文本数据进行情感分析,利用机器学习模型LSTM算法进行分析,通过Word2Vec实现文本向量化等等。通过进行算法实现与分析,来设计出本文系统的情感分析模型,然后针对采集数据进行情感判断与分类。舆情数据可视化设计本文的最终展示是通过前端页面进行数据获取,并以各类图表的方式进行展示,通过设计可视化页面的图形分布,划分多维度以表现数据。按照微博热点话题事件,聚焦关键词汇,地区分布等方面进行数据可视化设计。1.4论文组织结构总的来说,本文分为以下六个部分。第一章为绪论。主要是针对所研究的论文课题,以及目前的研究现状和相关知识背景作简要陈述,再概述本论文的主要目的与意义,分析并总结出国内外相关技术的研究现在和方向。第二章为系统开发技术介绍。针对当前网络舆情研究的技术和方法仔细分析,包括数据采集、数据存储、文本特征提取、情感分析等。第三章对本文系统进行需求分析。主要通过分析对系统可行性和功能需求进行详细的设计,在功能需求与否方面进行需求分析。第四章是根据网络舆情分析系统的需求分析对平台各部分进行详细的设计与实现。对网络爬虫部分、情感分析部分、网络舆情监控系统部分的主要设计详细解释说明。第五章为系统测试。对系统进行了严格的系统功能测试和整体测试,以满足需求分析。第六章为总结与展望。这一部分对的工作进行了全面总结,突出了现有研究的不足,以及对下一步工作的规划和展望。2系统开发技术介绍本章主要讲述基于新浪微博的舆情分析中所采用的核心技术。在数据采集部分采用了Web爬虫、Scrapy爬虫框架、XML路径语言(Xpath)等等;对文本数据进行数据清洗、中文分词等数据处理操作;连接使用MongoDB数据库进行数据存储;使用Wrod2Vec模型进行文本特征向量化,并利用LSTM模型进行文本情感分析训练。2.1网络爬虫网络爬虫,即Web数据采集技术,用在搜索引擎或数据资源采集的工作[14],网络中从起始的Web页面URL地址开始依次遍历,并将所有的Web页面URL中包含的数据实时下载到本地并采集信息,整个采集过程是按照遍历的方式实施。凭借网络爬虫技术,能够充分利用以获取微博数据,进而为舆情分析提供强有力的数据支撑。依据目前网页的架构与实现,网络爬虫主要分为通用网络爬虫、聚焦网络爬虫、定向网络爬虫。通用网络爬虫该类爬虫主要基于系统的规则设定,初始化需要爬取的URL队列。爬虫程序依照给定的URL数据,去访问设置好的URL页面,以采集相关数据内容。与此同时,程序会把采集到的数据储存到设定好的数据库中。再获取新的URL地址,进行新的访问。该工作流程如图2-1所示。图2-1通用网络爬虫聚焦网络爬虫该类爬虫主要是对特定信息的爬取。通过设定好的主题,在页面进行选择性的爬取相关数据,使得抓取的数据更加准确。该工作流程如图2-2所示。图2-2聚焦网络爬虫定向网络爬虫该类爬虫相比于以上爬虫较简单,定向爬虫可以精准地获取目标网站的信息。并且通过分析网页数据分布的规律,写入特定爬虫程序,抓取指定数据,提供更加精准的信息。本文的数据采集使用定向爬虫实现。2.1.1Scrapy爬虫框架Scrapy是Python开发的快速、高效的屏幕抓取和Web抓取框架。它通常用于抓取网站,并且与其他技术结合,从目标网站收集结构化数据。Scrapy可以用于数据采集、数据监测、自动化测试[15]。Scrapy如此普及,主要原因是因为它是一个开放的开发框架,用户可以依照所需进行更改。如图2-3所示是Scrapy爬虫框架的主要构成[16]。图2-3Scrapy爬虫框架官方架构图Scrapy爬虫框架主要由五大组件构成[17]:Scrapy引擎(ScrapyEngine):Scrapy引擎是Scrapy爬虫框架的核心,负责在不同组件中主要数据和信号的传递。调度器(Scheduler)调度器类似于一个队列,用来存放Scrapy引擎发送过来的request请求。下载器(Downloader)下载器主要是下载Scrapy引擎发送过来的Requests请求,并且返回给Scrapy引擎。爬虫(Spiders)爬虫处理Scrapy引擎发送过来的Responses,在特定的网页中提取需要的信息Items。管道(ItemPipeline)管道的主要工作是将爬虫中抓取的Items数据进行处理。Scrapy的工作流程:首先,Scrapy引擎获取爬虫发送请求的URL地址,得到地址后请求发送给调度器。调度器对得到的URL进行入队处理,Scrapy引擎再将队列中的URL地址传递给下载器处理下载器对互联网发送请求,接收Responses。然后将Responses通过Scrapy引擎传给爬虫组件处理。爬虫处理Responses,提取目标的数据通过Scrapy引擎传给管道保存到数据库。再从Responses提取出新的URL重新通过Scrapy引擎传给调度器,进行下一次循环,直到无URL请求程序终止。2.1.2XpathXPath(XML路径语言)是一种用于在XML和HTML文档中查找信息的语言。它可以用来将元素或属性处理成XML或HTML文档。Xpath不仅提供了简单易懂的路径表达式,还提供了若干个集成的调用函数。它可以快速处理字符串、时间和数值以及节点和序列。如表2-1所示,是Xpath的路径表达式。表2-1Xpath的路径表达式表达式描述/从根节点选取//不考虑具体位置,从匹配选择的当前节点选择文档中的节点Nodename选取此节点的所有子节点.选择当前节点..选择当前节点的父节点@选取属性2.1.3MongoDB数据库MongoDB数据库是一个基于分布式文件存储的NoSql数据库,它本身也是一种非关系型数据库,可以为数据提供可扩展性的数据存储解决方案。在数据查询方面,MongoDB数据库大部分都能够实现,并且支持索引的建立。表2-2MongoDB常用术语SQL术语/概念MongoDB术语/概念说明/概念databasedatabase数据库Tablecollection数据库集合/表Rowdocument数据库行Columnfield数据库列/字段PrimaryKey_id主键Indexindex索引GroupbyAggregation聚合2.2文本情感分析对于广大民众而言,舆论是其情感的主要体现方式之一。因此,要落实舆情分析研究,深入挖掘与剖析舆论情感是必不可少的任务。在微博数据中,大部分都是以文本信息展现美,于是目前主要是针对文本情感进行分析与研究。情感分析(SentimentAnalysis)作为自然语言处理(NaturalLanguageProcessing,NLP)领域中的一项任务,也可以被称作倾向性分析、情感挖掘等,这是一个分析、处理、归纳和推理主观情感文本的过程。如从电商评论文本中分析用户对此商品的质量、价格、满意度等数据维度的情感倾向,从电影评论中分析出消费者对电影的评价是好是差。而情感分析的主要方法是有如下两种:基于情感词典的方法该方法主要利用一系列情感词典和情感规则对文本数据进行分解,分析语法,计算情感值,最后以情感值作为文本情感倾向的依据。基于机器学习的方法该方法又分为:基于传统机器学习的方法和基于深度学习的方法。本文的研究内容是在深度学习领域,利用基于文本序列特征的长短时记忆网络(LongShort-TermMemory,LSTM)模型。将经过Word2Vec处理的高维词向量输入到LSTM中,经过计算和分类,最终输出评论文本的预测结果。2.2.1基于LSTM进行情感分析到目前为止,深度学习技术已经应用于图像、自然语言处理、语音等领域。由于人类语言的多样性和多义性,自然语言处理的难度呈指数级递增。这次,使用该领域比较成熟的LSTM模型进行情感分析。词向量模型在研究LSTM模型之前,需要了解词向量模型。由于计算机只能识别数字,而正在处理文本数据,必须将输入文本转换为计算机能够识别的数字类型。如下图2-4所示,是情感分析的流程,通过情感分析模型可以判断出这段话的情感正负取向。图2-4情感分析流程在这里,可以把句子中的每个单词都转换成一个向量来表示,可以把输入数据看作一个16*D矩阵。如图2-5所示:图2-5转换词向量词向量具有空间意义,不是单纯的映射。例如,希望“love”和“adore”这两个单词在向量空间中有关联性。因为它们有着相似的定义,在相同的语境下可以被使用。单词的向量表示也被称为词嵌入(将单词映射到空间并进行空间表示)。如图2-6所示。图2-6词向量空间映射Word2Vec模型Word2Vec模型是基于深度学习开发的开源工具,2013年由谷歌发布。该模型根据上下文,从数以亿计的数据中,推断出每个词的词向量,并利用它进行与下一步行动联系起来的训练学习,如果两个词在上下文语境中可以互换,则表示它们的距离十分接近。在自然语言中,认为,上下文的语境对词语的分析至关重要。而Word2Vec模型的优点在于,不仅能够计算不同的词向量,还能够通过保持上下文的语义信息,更准确地进行情感分析。如上节提及的“adore”和“love”,如下图2-7所示。图2-7词语互换通过Word2Vec模型,获得上文提到的词嵌入。Word2Vec模型的作用是从句子的堆中对每个独特的单词进行建模,并输出独特的向量。Word2Vec模型的输出被称为嵌入矩阵,如图2-8所示。该嵌入矩阵包括训练集中的每个词的向量。一般来说,嵌入矩阵的数据会变大。Word2Vec模型基于数据集中的每个句子进行训练,并根据句子的上下文预测固定窗口中该词的词向量。然后基于损失函数(loss)和准确率(accracy)来训练模型。图2-8嵌入矩阵循环神经网络模型(RecurrentNeuralNetworks,RNNs)在得到神经网络的词向量之后,需要构建起神经网络。由于自然语言处理的特性为时间序列数据。每一个单词的出现都会依赖它前一个单词或后一个单词。正是由于该依赖的存在,便使用循环神经网络(RNNs)处理该时间序列数据。在循环神经网络中,每个句子中的每个单词都被有时间步骤。并且,时间步长的数量将等于最大序列的长度。在和每个时间步骤有关的中间状态也被称作一个新组件,也叫隐藏状态向量ht。从抽象的角度分析,该向量用来封装汇总之前时间步骤中所看到的所有的信息。也想xt图2-9时间序列流程LSTM模型介绍LSTM模型之前,需要针对模块构造,如图2-10所示图2-10LSTM模块符号表示图如表2-3所示,用来解释LSTM中一些数学符号的含义。表2-3LSTM符号符号含义xt时刻的输入ct时刻细胞状态t时刻临时细胞状态t时刻隐藏层输出t时刻遗忘阀门t时刻记忆阀门t时刻输出阀门LSTM神经网络模型通过引入记忆单元来优化递归神经网络(RNN)的决策过程。具体来说,LSTM用长短时记忆单元代替了递归神经网络的隐含层。记忆细胞[26]的创新使它能够保存过去的信息,也被称为细胞状态,这取决于遗忘阀门、记忆阀门和输出阀门的组合作用。可以推导出LSTM的整个过程。对遗忘细胞中的历史信息进行更新迭代,遗忘掉对后续计算无用的信息,并且持续更新以只存储对之后的计算有用的信息。同时当前LSTM单元的输出ht,在每个时间步输出。最后,通过上个时刻的LSTM单元的输出ht−1和当前输入xt计算的记忆阀门it、遗忘阀门ft、输出图2-10LSTM单元模块图图2-11LSTM流程框架图首先是进行遗忘阀门的处理计算,它是一个单层神经网络控制。如图2-8所示,LSTM由一个被称为遗忘门的Sigmoid单元处理,它决定需要遗忘哪些信息来确定细胞的状态[36]。它的输入有(前一个LSTM模块的输出)、(当前LSTM的输入)、(前一个模块的记忆)和最终的偏移量。这是一个逐点乘法运算。如果与一个接近0的向量相乘,这表示系统状态中的信息应该抛弃;如果与一个接近1的向量相乘,这表示系统状态中的信息应该保留。如图2-8、公式2-1所示。图2-12遗忘门处理2-1然后计算记忆阀门。它也是一个单层神经网络,接受的输入类和那些被遗忘的阀门大同小异。该阀门主要用来控制新存储器的大小来影响旧记忆。然而,新的记忆是由一个不同的神经网络产生的,这也是一个单层神经网络,但是以tanh作为激活函数。这个神经网络的输出将与记忆阀的输出逐点相乘,然后添加到旧的记忆中创建一个新的记忆。如图2-13、公式2-2、2-3所示。。图2-13记忆门处理2-22-3计算此时的细胞状态,通过更新旧的细胞信息,变为新的细胞信息。通过遗忘阀门选择遗忘旧细胞信息的一部分,通过记忆阀门选择添加候选细胞信息的一部分,从而得到新的细胞信息[37]。更新操作如下图2-14、、公式2-4所示。图2-14细胞状态的计算2-4最后,计算输出LSTM单元的输出。通过输出阀门,它由新的记忆、(前一个LSTM模块的输出)、(当前LSTM的输入)和偏移量共同控制。这个阀门控制向下一个LSTM单元输出多少新的记忆。该步骤如图2-15、公式2-5、2-6所示。图2-15输出阀门的计算2-52-6最终,得出与句子长度一样的输出状态序列h02.3数据挖掘2.3本章小结本章首先介绍了数据采集的一些相关背景与技术,比如网络爬虫的概念、规则、Scrapy爬虫框架、数据库以及相关的数据采集技术;然后在情感分析方面介绍了基于LSTM的情感分析模型的相关原理;最后对的原理介绍。3系统需求分析与架构设计3.1需求分析3.1.1功能需求分析本系统根据功能需求进行分析,可分为后台和前台。后台负责数据的采集、处理和存储,前台负责用户交互和结果的显示。后台的需求设计:数据采集和预处理、文本情感分析等模块。前台的需求设计:舆情分析、舆情关键词、热点话题事件、维度分布等模块。3.1.2非功能需求分析性能需求分析在本系统中,页面间接跳转反馈时间应不大于四秒,精确搜索反馈结果应不大于三秒;并且从产品体验角度出发,当一个页面的数据量大时,导致加载时间长,应该给用户提供加载图标,减少用户焦虑;以及日常使用的分页加载,每次加载部分数据,当用户进行操作时,再逐渐加载。安全性分析从保密性的角度出发,用户数据应进行数据加密保护,确保采集的数据在采集、传输、处理的过程中不被偷窥、窃取、篡改。3.1.3总体需求分析本系统从研究舆情分析出发,为保证系统设计规范化、合理化,对系统的整体需求做出具体的规划与设计,如表3-1所示。表3-1整体需求分析需求名称需求说明微博数据采集抓取微博网页数据文本数据的预处理对文本数据进行提取、分词和过滤文本情感分析深度学习对文本进行情感判断舆情分析功能显示选择的数据热点事件话题挖掘功能显示目前的热点话题词云显示功能显示高频的词显示微博功能显示微博数据3.2可行性分析3.2.1技术的可行性首先,作为整个系统的框架,本系统是以B/S模式开发的,从开发模式角度来说已经相对成熟,社会的使用度很广。从技术角度上来说,本系统主要采用Python语言完成整个系统的设计与实现。前端展示依赖网页的方式进行展示,并将结果采用柱状图、饼状图等方式呈现。3.2.2操作的可行性对于自己来说,对于这个系统的开发,我也有过类似的研究,经验还在,对各种技术的使用都有所了解。因此,该系统可开发,可行性高。3.2.3经济的可行性由于本系统是自主开发的系统,没有太大的成本,与正式的项目仍有很大的不同,该系统所使用的各种框架都是开源或免费的,所以成本基本上可以忽略不计,后期维护成本相对较低。3.3系统架构设计本文主要分为数据采集、数据预处理、情感分析和舆情可视化模块。对网络热点话题的民意分析可以分为四个部分。首先,需要收集数据。利用基于Python的Scrapy框架实现Web爬虫,获取微博评论数据并保存到本地。然后对采集到的原始数据进行数据预处理、提取和分词,为以后的数据做准备;其次,利用LSTM进行文本情感分析。基于Python语言的WordCloud库用于生成词云;最后将上述的数据以数据可视化的形式展示出来。通过实现以上微博舆情的分析研究,能有效应对网络热点事件,从不同维度和规模对其进行分析和处理,为网络热点舆情管控提供技术支持[39]。对于网络舆情分析研究,其最初的设想即收集并处理网络上的文本数据,所以需要保证它的实用性。通过需求分析,可以得出舆情研究所需要的数据,之后在研究基础上将系统的层次结构化,如图3-1所示。在系统的层次结构中,数据需要从网站数据上采集,然后进行预处理和存储,在舆情分析阶段进行情感分析,之后将舆情分析结果进行数据可视化。图3-1系统层次结构图如图3-2所示,是网络舆情的整体结构,采用分层设计技术对内容进行分析。图3-2系统架构图3.3本章小节本章从系统需求分析、系统可行性到系统模块主显示等方面进行了系统分析,主要分析了本系统的开发所具备的条件,分析是否具有可发展性及是否满足各项条件。最后,对系统的整体结构进行了分析和研究。4系统详细设计与实现4.1系统开发环境本系统基于Windows系统实现,通过Python语言和PyCharm编译环境进行系统开发,采用MongoDB数据库存储数据。系统和硬件环境如下:Windows10专业版CPU是AMD5800H16G运行内存GPU是RTX30604.2模块设计与实现本系统模块的主要设计分为:数据采集、预处理、文本情感分析、热点事件话题挖掘、舆情数据可视化等模块,如图4-1所示:图4-1系统模块设计图本系统的框架设计能够有效实现对微博舆情进行分析,通过分析网络热点事件,从不同维度不同尺度进行事件处理,可以对热点事件舆情监控提供技术支撑。本文所设计的系统框架图如图4-2所示。4-2系统框架图接下来将对数据采集、数据预处理、文本情感分析、热点话题事件等进行详细设计说明。4.2.1数据采集与预处理在数据分析中,数据是重中之重,数据不足,其他模块的工作无法正常进行。因此,本章的主要工作是为以后的章节充分准备数据。将利用Scrapy的爬虫框架,根据新浪微博网站的设计特点,设计一个高效的数据采集系统。此外,原始数据不能直接由其他模块使用,因此需要提取和降噪。数据采集模块该模块使用Scrapy爬虫框架,实现对新浪微博指定网页信息的爬取。爬取方向为微博数据,实现了网络爬虫的高效率,有效收集相关数据。此外,该系统还实现了增量数据爬取,避免了重复数据采集效率低下的问题,如图4-3是数据采集流程图。图4-3数据采集流程图微博数据爬取流程如下。准备工作在开始数据爬取之前,需要检查爬虫框架是否可用,网页数据是否有一定的规则分布,以及数据库的选择存储。本次充分调研了新浪微博的手机微博网页()的模拟登陆与页面解析。针对微博数据进行分析,接下来是对网页的数据结构进行Python爬虫的实现。通过调研,选择采用Scrapy爬虫框架,使用Python进行开发,使用MongoDB数据库进行数据存储,以上这些可以实现对数据的高效爬取与存储。初始化爬取的链接,设定好需要爬取数据。依据关键词进行爬取通过对微博搜索的综合使用,获取经关键词搜索的全部微博数据,使得数据采集准确。关键词搜索的流程如下表4-1。表4-1关键词搜索实现defstart_requests(self):start_date=datetime.strptime(self.start_date,'%Y-%m-%d')end_date=datetime.strptime(self.end_date,'%Y-%m-%d')+timedelta(days=1)start_str=start_date.strftime('%Y-%m-%d')+'-0'end_str=end_date.strftime('%Y-%m-%d')+'-0'forkeywordinself.keyword_list:ifnotself.settings.get('REGION')or'全部'inself.settings.get('REGION'):base_url='/weibo?q=%s'%keywordurl=base_url+self.weibo_typeurl+=self.contain_typeurl+='×cope=custom:{}:{}'.format(start_str,end_str)yieldscrapy.Request(url=url,callback=self.parse,meta={'base_url':base_url,'keyword':keyword})else:forregioninself.regions.values():base_url=('/weibo?q={}®ion=custom:{}:1000').format(keyword,region['code'])url=base_url+self.weibo_typeurl+=self.contain_typeurl+='×cope=custom:{}:{}'.format(start_str,end_str)#获取一个省的搜索结果yieldscrapy.Request(url=url,callback=self.parse,meta={'base_url':base_url,'keyword':keyword,'province':region})依据用户ID进行爬取在微博资料页上的地址为”/1669879400/info”,其中的"1669879400"即为此微博的user_id。事实上,此微博的user_id也包含在用户主页(</u/1669879400?f=search_0>)中,之所以还要点击主页中的"资料"来获取user_id,是因为很多用户的主页不是"</user_id?f=search_0>"的形式,而是"</个性域名?f=search_0>"或"</微号?f=search_0>"的形式。其中"微号"和user_id都是一串数字,如果仅仅通过主页地址提取user_id,很容易将"微号"误认为user_id。依据user_id搜索的流程如下表4-2。表4-2用户id搜索实现classPageParser(Parser):def__init__(self,cookie,user_config,page,filter):self.cookie=cookieself.user_uri=user_config['user_uri']self.since_date=user_config['since_date']self.end_date=user_config['end_date']self.page=pageself.url='/%s?page=%d'%(self.user_uri,page)ifself.end_date!='now':since_date=self.since_date.split('')[0].split('-')end_date=self.end_date.split('')[0].split('-')fordatein[since_date,end_date]:foriin[1,2]:iflen(date[i])==1:date[i]='0'+date[i]starttime=''.join(since_date)endtime=''.join(end_date)self.url='/%s/profile?starttime=%s&endtime=%s&advancedfilter=1&page=%d'%(self.user_uri,starttime,endtime,page)self.selector=''self.to_continue=Trueis_exist=''foriinrange(3):self.selector=handle_html(self.cookie,self.url)info=self.selector.xpath("//div[@class='c']")is_exist=info[0].xpath("div/span[@class='ctt']")ifis_exist:breakifnotis_exist:self.to_continue=Falseself.filter=filter通过Spider模块,获取初始化的链接,经过Spider引擎交给调度器,然后调度器把链接加入其队列,等待调用。调度器把对头的链接通过引擎交给下载器进行下载操作,直到调度器队列为空时停止工作。当下载器接收到一个链接时,它会发起请求,下载网页的相关内容。下载完成后,它将数据传给爬虫。之后在爬虫模块中使用XPath提取指定的数据,直到数据提取完成。从而可以获取到一条微博的全部信息。实现流程如表4-3所示。表4-3获取微博信息实现defget_one_weibo(self,info):"""获取一条微博的全部信息"""try:weibo=Weibo()is_original=self.is_original(info)weibo.original=is_original#是否原创微博if(notself.filter)oris_original:weibo.id=info.xpath('@id')[0][2:]weibo.content=self.get_weibo_content(info,is_original)#微博内容weibo.article_url=self.get_article_url(info)#头条文章urlpicture_urls=self.get_picture_urls(info,is_original)weibo.original_pictures=picture_urls['original_pictures']#原创图片urlifnotself.filter:weibo.retweet_pictures=picture_urls['retweet_pictures']#转发图片urlweibo.video_url=self.get_video_url(info)#微博视频urlweibo.publish_place=self.get_publish_place(info)#微博发布位置weibo.publish_time=self.get_publish_time(info)#微博发布时间weibo.publish_tool=self.get_publish_tool(info)#微博发布工具footer=self.get_weibo_footer(info)weibo.up_num=footer['up_num']#微博点赞数weibo.retweet_num=footer['retweet_num']#转发数ment_num=footer['comment_num']#评论数else:weibo=None(u'正在过滤转发微博')returnweiboexceptExceptionase:logger.exception(e)数据提取完成之后,模块将数据通过Spider引擎传给管道模块,在设置数据库连接的基础上,管道模块就会将数据存储到数据库中,数据存储到数据库的流程见表4-4。表4-4数据库存储实现classMongoPipeline(object):defopen_spider(self,spider):try:frompymongoimportMongoClientself.client=MongoClient(settings.get('MONGO_URI'))self.db=self.client['weibo']self.collection=self.db['weibo']exceptModuleNotFoundError:spider.pymongo_error=Truedefprocess_item(self,item,spider):try:importpymongonew_item=copy.deepcopy(item)ifnotself.collection.find_one({'id':new_item['weibo']['id']}):self.collection.insert_one(dict(new_item['weibo']))else:self.collection.update_one({'id':new_item['weibo']['id']},{'$set':dict(new_item['weibo'])})exceptpymongo.errors.ServerSelectionTimeoutError:spider.mongo_error=Truedefclose_spider(self,spider):try:self.client.close()exceptAttributeError:pass通过设置数据获取控制参数:random_wait_pages、random_wait_seconds和global_wait,也能够应对微博的反爬机制。设置random_wait_pages值为一个长度为2的整数列表,用来代表每爬取设定的页数的微博从而暂停一次,值默认设置为区间[1,5],代表每爬取1到5页暂停一次,如果程序被限制住,可以加快暂停的频率,也就是适当减小random_wait_pages的值。同理,random_wait_seconds值也是一个长度为2的整数列表,代表每次暂停sleep设定的秒数,值在random_wait_seconds列表两个整数之间随机获取。默认值为[6,10],代表每次暂停sleep6到10秒,如果程序被限制,可以增加等待时间,即适当增大random_wait_seconds内的值。global_wait即全局等待时间,默认值为[[1000,3600],[500,2000]],代表获取1000页微博,程序一次性暂停3600秒;之后获取500页微博,程序再一次性暂停2000秒;之后如果再获取1000页微博,程序一次性暂停3600秒,以此类推。默认的只有前面的两个全局等待时间([1000,3600]和[500,2000]),可以设置多个,如值可以为[[1000,3600],[500,3000],[700,3600]],程序会根据配置依次等待对应时间,如果配置全部被使用,程序会从第一个配置开始,依次使用,循环往复。数据预处理模块在进行文本情感分析之前,需要对获得的数据进行预处理操作。在数据库中,数据很大一部分是“脏数据”,需要对其中的乱码、符号、链接等进行数据清洗与降噪处理。而针对中文文本数据,本身相较于其他外文存在较大差异,因为在一句话中每个词都能相连组成词语,所以需要针对中文分词做好处理。此外,现代网络的飞速发展,新事物和新思想的迸发创新,使得网络用词的更新迭代也非常之快,所以需要对新词进行实时地补充。例如今年的网络热点用词:“针不戳”、“夺笋哪”、“内卷”、“社死”等。因为他们是新出来的词汇,在现在的基础词库中没有收录,这就是造成在进行中文分词的不准确性。最后需要去除停用词,比如文本中出现的“哦”、“嗯”、“了”等。数据清洗与降噪在获得的微博数据中,标点、符号、表情、英文等噪声充斥在数据中,并且很多字段维度存在大量的缺失值,此时这些对进行文本数据的情感分析没有太大意义,因此需要进行降噪处理。处理方法有很多,主要是利用Python中强大的武器库:Numpy、Pandas等。当然,也可以用比较简单直接的正则表达式进行数据提取。本文使用使用Numpy和Pandas等工具库对数据进行清洗和降噪,使用这些工具库可以高效快速地处理数据,提高整体性能。通过Python强大的数据处理,对的原本数据的样本进行预览。首先查看前五条数据,确保数据显示正常。然后检查缺失值的情况,如图4-4所示。图4-4数据样本缺失值情况展示接下来查看整体规模情况,如图4-5所示。图4-5数据样本规模展示处理分词、停用词、新词前文提到,中文文本语言结构本身没有明显的分隔符,首先需要对中文文本数据进行分词处理。本文中使用jieba分词工具库进行处理,它调用非常简单方便,而且还支持添加本地词典、词性标注、去除停用词等操作。而且在jieba分词中,它提供了三类分词模式:精确模式。该模式可以将文本句子进行精确切分,以便进行文本分类分析;全模式。该模式可以将所有语句中的词汇一一找出和显示。优势是速度快,但是此模式下无法分辨有歧义的词汇。搜索引擎模式。该模式是基于精确模式的算法基础,通过对切分粒度大的词汇进行二次切分,通常应用于类似搜索引擎的分词。本文采用jieba分词中的精确模式进行中文文本分词。处理新词:只需要利用jieba工具读取本地的新词词典,jieba分词系统即可分辨出新词词汇,以防分词不够精确的情况发生。去除停用词:只需要将停用词词典被jieba分词读取,即可进行停用词的去除。停用词词典方面可以使用百度停用词表,哈工大停用词表等。4.2.2短文本情感分析在微博文本情感分析中,短文本的情感分析是非常重要的因素。使用关键词提取算法,用来提取文本信息,以及大众对热点事件的情感倾向。但是针对文本的情感分类和走势无法判断。为了解决这类问题,将使用文本的情感分类模型,进行文本情感的分析。情感分析是对文本的一些主要特征的情感细微差别进行分析、推理和归纳的过程。因此针对微博短文本的情感分析,从而对当前网络舆论情感进行预测与判断。本文也是通过三分类的方法进行情感判断,具体是分为正面情感、负面情感和中性情感,是微博文本数据的情感分析判断。本文是通过研究深度学习领域,给予文本序列特征的长短时记忆网络(LSTM)模型。通过训练该模型,构建出精确度高的情感分类模型达到系统实现。Word2Vec模型首先要做的是将中文文本转化为模型可以识别的语料,即文本特征向量化。通过使用词嵌入模型,将文本的词语转化为实数向量,且词语的意义相近,他们的向量离得也近。本文主要使用Word2Vec文本特征向量化算法进行实现。在前文中提到,Word2Vec模型不仅可以计算不同的词向量,还可以通过保持上下文的语义信息更准确地进行情感挖掘。它有两种训练模型,CBOW和Skip-Gram。这两种训练模型略有不同,CBOW是根据中心词的上下文来预测中心词,Skip-Gram是根据中心词来预测中心词的上下文。相同之处在于,它们的组成都具有输入层Input、投影层Projection和输出层Output。如图4-6所示,是两种模型的逻辑流程图。图4-6CBOW模型和Skip-gram模型的逻辑流程图本文利用Gensim库中Word2vec工具进行词向量训练,自适应选择训练模式,并将建立好的语料库作为输入数据,生成词向量模型Word2vec_model.pkl。在Word2Vec模型训练过程中,它能用高维向量(词向量,WordEmbedding)表示词语,并把相近意思的词语放在相近的位置,而且用的是实数向量(不局限于整数)。只需要有大量的某语言的语料,就可以用它来训练模型,获得词向量。词向量本身就是为了解决词语之间的关系维度而设计的。并且词向量可以方便做聚类,用欧式距离或者余弦相似度都可以找出两个具有相近意思的词语。这也就相当于解决了“一词多义”的问题。在自然语言处理中,通常用到的方法是递归神经网络或循环神经网络(RNNs)。它们的作用跟卷积神经网络是一样的,将矩阵形式的输入编码为较低维度的一维向量,而保留大多数有用信息。经过以上测试,完成了对文本数据的向量化,从而为下一步的模型训练做好准备。情感分析模块依据上节的描述,使用了目前应用比较广泛的LSTM情感分析模型进行分析,其情感分类的主要流程如下图4-8所示。图4-8LSTM情感分类流程具体是包括数据采集、数据预处理、Word2Vec的文本特征向量化、对LSTM情感分类模型的训练测试实现数据集的情感分析,具体如图4-7所示。为了更好的适应微博短文本的特点,提高网络舆情分析的准确性,本文使用目前运用比较广泛的基于LSTM的情感分类模型进行试验。具体的流程包括数据的预处理(上一节已经介绍)、基于Word2Vec的文本特征向量化、对LSTM情感分类模型的训练和测试以及现实数据集上的情感判定,如图4-9所示。图4-9总体设计流程LSTM模型训练在得到处理好的数据之后,就对LSTM的情感分类模型进行处理,本文采用基于Python的Keras库来搭建和训练该模型。对词语经过预处理和向量化后,输入到Softmax层对每个进行情感分析的极性概率,得到的概率最高的情感分类结果,即作为该文本情感的最终预测结果。并且对文本数据进行训练,得到准确率和缺失率。LSTM模型进行文本分类时需要注意,进行三分类时,除了涉及到positive和negative两种情感外,还有一种neural情感,从原始数据集中可以提取到有语义转折的句子,“然而”,“但”都是关键词。从而可以得到3份不同语义的数据集。预测代码如下表所示:表4-6LSTM预测代码deflstm_predict(string):print'loadingmodel'withopen('lstm.yml','r')asf:yaml_string=yaml.load(f)model=model_from_yaml(yaml_string)print'loadingweights'model.load_weights('lstm.h5')pile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])data=input_transform(string)data.reshape(1,-1)#printdataresult=model.predict_classes(data)#printresult#[[1]]ifresult[0]==1:printstring,'positive'elifresult[0]==0:printstring,'neutral'else:printstring,'negative'最终,该模型依旧是需要针对具体的评论集合进行训练,这样子模型的预测才会有不错的效果。4.3数据库设计与实现本节中,为了为夯实数据基础,需要对数据进行存储并处理分类,旨在为系统实现不同维度的数据分析、舆论分析。4.3.1数据库选择选择使用MongoDB数据库进行存储。MongoDB数据库是一种非关系型数据库,可以用来存储比较复杂、多维度的数据类型。在数据查询方面,该数据库大部分都能够实现,并且支持索引的建立。4.3.2数据库表字段设计本系统使用MongoDB数据库储存数据,把用户微博ID作为唯一索引建表。如表4-6是数据库原始数据的展示,程序通过自动连接上MongoDB数据库,在将爬取信息写入数据库。程序首先会创建一个名为weibo的数据库,然后创建weibo数据表,包含爬取到的所有内容。爬取到的微博信息或插入或更新,都会存储到weibo表里,达到自动化存储的效果。由于篇幅有限只展示部分结果。表4-6微博爬取数据库表字段设计字段类型约束设计idObject主键存储微博id;user_idString非空存储微博发布者的用户id,如"1669879400";contentString无存储微博正文;article_urlString无存储微博中头条文章的url,若微博中不存在头条文章,则值为'';original_picturesString无存储原创微博的原始图片url和转发微博转发理由中的图片url;retweet_picturesString无存储被转发微博中的原始图片url;publish_placeString无存储微博的发布位置。如果某条微博没有位置信息,则值为"无";publish_timeString无存储微博的发布时间;up_numString无存储微博获得的点赞数;publish_toolString无存储微博发表工具。在进行情感分析之后,会获得一条微博的情感预测,结果为三分类模型结果,然后会判断正负的概率一并在原weibo表中进行追加存储,如表4-7所示。表4-7情感分析数据追加字段设计字段类型约束设计idObject主键存储微博id;user_idString非空存储微博发布者的用户id,如"1669879400";contentString无存储微博正文;article_urlString无存储微博中头条文章的url,若微博中不存在头条文章,则值为'';original_picturesString无存储原创微博的原始图片url和转发微博转发理由中的图片url;retweet_picturesString无存储被转发微博中的原始图片url;publish_placeString无存储微博的发布位置。如果某条微博没有位置信息,则值为"无";publish_timeString无存储微博的发布时间;up_numString无存储微博获得的点赞数;publish_toolString无存储微博发表工具。resultBoolean无存储微博的情感正负向结果;probabilityString无存储微博情感正负的概率。并且可以爬取到一个或多个新浪微博用户的数据,并且把结果信息写入MongoDB数据库中,写入信息包括用户微博的所有数据。具体表字段设计如表4-8所示。表4-8用户数据字段类型约束设计idObject主键存储微博发布者的用户id,如"1669879400";nicknameString无昵称:用户昵称,如"Dear-迪丽热巴"genderString无性别:微博用户性别locationString无所在地:用户所在地birthdayString无生日:用户出生日期descriptionString无简介:用户个人简介verified_reasionString无工作经历:用户所属公司名字和时间educationString无学习经历:用户上学时学校的名字和时间workString无工作经历:用户所属公司名字和时间weibo_numString无用户的全部微博数(转发微博+原创微博)followingString无用户关注的微博数量followersString无用户的粉丝数4.4本章小节本章主要对基于Python的舆情分析所涉及到的具体模块:数据采集、数据预处理、文本情感分析进行相关研究与分析,并对它们的工作原理和流程处理进行阐述。使用Scrapy框架构建Python爬虫进行数据采集。在数据采集完成之后,使用Python武器库numpy、pandas和jieba等库进行数据的预处理,包括数据的新词填充、中文分词和去除停用词等一系列操作。然后需要构建向量化模型,采用Word2Vec模型进行构造,并使用LSTM情感分类模型对微博数据文本进行情感分析判断。5系统测试5.1系统测试环境系统的开发环境如下:开发工具:Pycharm、Jupyternotebook前端使用技术:Vue系统使用技术:Python存储层使用技术:Mongodb5.2功能测试本次毕设为基于Python的网络爬虫在网络舆情分析上的应用研究,复杂点大多在系统的逻辑功能处理实现上,所以主要测试都从应用研究出发,进行整体的功能测试。在性能测试与压力测试方面,由于不是正式上线的项目,在性能方面很大程度上取决于数据的处理和机器的性能,当然也有可能存在因逻辑错误出现的性能问题,所以暂时不考虑性能测试和压力测试,而是将重点放在功能测试方面。5.2.1数据采集功能测试在数据采集模块,主要测试的功能是针对不同形式的参数进行采集与存储到本地的实现。表5.1关键词功能测试结果表用例编号1-1测试目的测试关键词数据采集功能前置条件依赖库完整,可以正常执行程序操作步骤输入关键词参数、存储方式参数预期结果数据采集成功测试结果数据采集成功,测试通过表5.2用户id功能测试结果表用例编号1-2测试目的测试使用用户id数据采集功能前置条件依赖库完整,可以正常执行程序操作步骤输入用户id参数、存储方式参数预期结果数据采集成功测试结果数据采集成功,测试通过5.2.2数据预处理功能测试在数据预处理模块,主要测试针对采集到的源数据进行数据的预处理操作:分词与新词补充、去除停用词。表5.3数据分词功能测试结果表用例编号2-1测试目的测试数据文本分词功能前置条件依赖库完整,可以正常执行程序操作步骤执行分词模块,指定输出的数据文本名称预期结果数据文本分词成功测试结果数据文本分词成功,测试通过表5.4去除停用词功能测试结果表用例编号2-2测试目的测试数据文本停用词去除功能前置条件依赖库完整,可以正常执行程序操作步骤执行新停用词去除模块,指定输出的数据文本名称预期结果数据文本停用词去除成功测试结果数据文本停用词去除成功,测试通过5.2.3文本情感分析功能测试在文本情感分析模块,主要测试针对Word2Vec文本特征向量化实现、LSTM模型对文本情感极性的输出分析。表5.5文本特征向量化功能测试结果表用例编号3-1测试目的测试Word2Vec文本特征向量化功能前置条件依赖库完整,可以正常执行程序操作步骤执行Word2Vec文本特征向量化模块,输出数据预期结果Word2Vec文本特征向量化成功测试结果Word2Vec文本特征向量化成功,测试通过表5.6情感极性分析功能测试结果表用例编号3-2测试目的测试情感极性分析功能前置条件依赖库完整,可以正常执行程序操作步骤执行情感极性分析模块,输出数据预期结果情感极性分析成功测试结果情感极性分析成功,测试通过5.3系统整体测试系统的整体测试是所有测试中粒度最大的测试方法,是系统上线的最后一步,主要是查看是否输出预期的结果,比较直观,所以采用人工的测试方式进行测试。如表5-1所示。表5-1系统整体测试功能名称测试说明是否测试通过微博数据采集抓取微博网页数据是文本数据的预处理对文本数据进行提取、分词和过滤是文本情感分析深度学习对文本进行情感判断是舆情分析功能显示选择的数据是热点事件话题挖掘功能显示目前的热点话题是词云显示功能显示高频的词是显示微博功能显示微博数据是5.3结果分析本次测试主要对各个功能模块的主要功能进行功能测试。根据需求分析来进行用例的创建,从而去进行系统功能测试。测试覆盖了包括微博数据采集模块、文本数据预处理模块、文本情感分析模块、数据可视化模块在内的四个主要模块的全部功能。由于,需要测试的功能点较多,在功能测试部分就只给出主要功能的测试方式和测试结果。从结果可见功能方面的测试均通过,并且通过测试可以发现进行文本情感处理分析的好处。5.3本章小节本章主要是介绍本次对Python爬虫在舆情分析研究的全面测试,主要对应用的全部功能进行测试,并且列出主要功能的测试用例与测试结果,最后进行简要分析。6总结与展望6.1总结本文主要进行了对基于Python爬虫的网络舆情的应用与研究,对微博文本的数据爬取有效实现,提高数据分析的方法,提升情感分析模型的准确性。最终完成了一项可以针对微博数据的情感分析的模型与舆情分析的应用。本文的主要工作如下:本文针对微博数据处理进行模块划分,针对数据采集、处理与计算规范实现,优势在于当该应用出现错误时更加容易进行排查,使实现更加可靠稳定。在数据获取与处理中,采用Scrapy爬虫框架工具,处理微博网站的数据获取,更加准确高效;并且使用jieba分词工具进行文本词汇处理,并对未识别的新词进行补充。词向量训练和模型训练中,采用Word2Vec模型进行词向量训练,并且通过设置不同维度对结果进行比较与分析,最后选择最佳的参数进行训练。然后选用长短期记忆网络(LSTM)模型进行训练,然后获得准确率和缺失值。在分析阶段,采用可视化页面的方法进行数据前段展示。使用Vue框架和Echarts进行实现,使得分析结果能够直观的展示出来。6.2展望本文在设计与实现的过程中,由于全部项目由我一人开发完成,工作量巨大,人力物力条件有限,在系统架构、数据爬取、情感分析上需要改进的地方还有很多,针对舆情分析的研究仍存在需要完善的地方:相较于市面上的商业软件,实现的功能不够完善与直观,对于数据采集与情感分析板块没有直观的GUI进行调用,分析报告的生成下载也没有实现。系统本身的数据源比较唯一,若需要对多个渠道的数据源进行获取还需要逐个分析并定制爬虫程序,所以整个研究的数据仅仅针对微博数据。本次仅是针对文本语言进行分析处理,对于图像和视频没有进行研究分析,但网络舆情方面对于多维度都需要进行考量,这也是后续项目可持续化完善的一个重要任务。参考文献[1]王雨烟.浅谈微博语言的特征[J].新闻研究导刊,2019,10(22):87-89.[2]唐勇.互联网舆情监控系统的设计与实现[D].北京:北京邮电大学,2013.[3]汪国林,杨友文.高校跨学科科研团队建设探讨[J].安徽科技,2010,(12):34-35.[4]PENGY,WANCX,JIANGTJ,etal.ProductFeatureandE-motionWordExtractionBasedonSemanticConstraintLDA[J].JournalofSoftware,2017,28(3):676-693.[5]YeQ,ZhangZ,LawR.Sentimentclassificationofonlinereviewstotraveldestinationsbysupervisedmachinelearningapproaches[M].PergamonPress,Inc.2009,12(5):124-140.[6]史伟,王洪伟,何绍义.基于语义的中文在线评论情感分析[J].情报学报,2013,32(8):860-867[7]高玮立,朱福喜,刘克刚,etal.基于微博交互关系算法的敏感舆情研究[J].计算机应用研究,2015,(07):65-67.[8]TaboadaM,BrookeJ,TofiloskiM,etal.Lexicon-BasedMethodsforSentimentAnalysis[J].ComputationalLinguistics,2011,37(2):267-307.[9]杨立月,王移芝.微博情感分析的情感词典构造及分析方法研究[J].计算机技术与发展,2019,29(02):19-24.[10]郑魁,疏学明,袁宏永.网情热点信息自动发现方法%HotSpotInfor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论