《bbs热点话题发现和监控系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
中文摘要摘要:互联网的飞速发展为BBS的普及提供了条件,目前BBS己经成为一种常用的交流工具,网民可通过BBS发起新话题或回复现有的话题来表达对某个事件的看法。从一定角度来看,BBS是现实社会的镜像,因而可以采集BBS中的数据,为BBS舆情分析提供数据基础。本文实现的热点话题发现、话题监控功能都是以BBS实时数据为基础的。本文在分析国内外BBS热点话题发现与监控现状和发展的基础上,从系统的整体设计和实现过程入手,深入分析系统结构设计和系统处理流程等方面的问题。本文的主要研究内容如下:(1)BBS数据采集:数据采集是整个热点话题发现与监控系统的基础,本文利用传统网络爬虫的运行原理,并结合论坛的特征,提出基于论坛版块扩展的BBS数据采集策略,实现对BBS论坛的高效采集。(2)BBS数据预处理:采集所得的数据为非结构化数据,系统需要对其处理,使之转化为结构化数据。预处理部分主要包括页面信息抽取和文本向量表示两个主要步骤。(3)BBS热点话题发现:话题识别是热点话题发现的关键步骤,本文采用Single。Pass聚类算法进行话题识别,在实际应用时针对原算法存在的缺陷做了相应改进,并给出实验结果及和分析。在话题识别的基础上,综合话题包含的主题贴子数、参与讨论的Ⅲ数、回复数、浏览数等信息,对话题进行热度评分,筛选出论坛中的热点话题。(4)BBS热点话题监控:本文采用基于自主学习的INN增量分类算法来实现对BBS热点话题的监控。关键词:BBS;Web文本挖掘;爬虫;聚类;热点话题发现;话题监控分类号:TP319 ABSTRACTABSTRACT:TherapiddevelopmentofIntemetisahelpfultoolforpopularizingBBS.Atpresent,BBShasbecomeapopularcommunicationt001.ThroughtheBBS,usercouldlanchanewtopicorreplytoexistingtopicstoexpressideasoftopics.Tosomeextent,BBSisamirrorofrealsociety.Thereal-timedataonBBScanbecollectedwhichprovidescertaindatabasefortheresearchoftheBBShottopicdetection.Inthispaper,hottopicdetectionandmonitoringfunctionarebasedonreal-timedataofBBS.BasedontheanalysisofthedomesticandinternationaldevelopmentandstatusofIntenethottopicdetectresearch,thisissuedeeplyanalyzehowtodesignaneffectivearchitectureoftheBBShottopicdetectionandmonitoringsystemandwhatisthepropersystemprocessinthisthesis.Themaincontentofthispaperareasfollows.(1)BBSdatacrawling.Datacrawlingisthebaseofthissystem.Thispaperutilizesthecrawlerprincipleandforumfeatures,postaBBSdatagatheringstrategy,andusethismethodgatheringtheBBSwitll11ighefficiency.(2)BBSdatapreprocessingThroughdatacrawling,systemcallgetunstructureddata,itisneedtopreprocessthisdataandchangeitintostructureddata.Thismoduleincludestwomainsteps,dataextractingandfeaturewordsselecting.(3)BBShottopicdetection.Topicdetectionisakeystepinhottopicdetection.ThispagesuseSingle—Passclusteringalgorithmtodetecttopic.Thenthehotnessoftopicsisscoredaccordingtotopicinformationincludingthenumberoftheposts,thenumberofvaluableposts,thereplysandtheviews.(4)BBShottopicmonitoring.Auto-learning—basedincrementalclassifyingalgorithmINNisstudiedtoimplementBBStopicmonitoringKEYWORDS:Webrawler,BBS,Webtextmining,clusteringalgorithms,hottopicdetection,hottopicmonitoringCI.ASSNo:TP319 致谢本论文的工作是在我的导师贾卓生老师的悉心指导下完成的,贾卓生老师的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢二年来贾卓生老师对我的关心和指导。贾卓生老师指导我完成了实验室的科研工作,在学习上和生活上都给予了我很大的关心和帮助,在此向贾老师表示衷心的谢意。在实验室工作及撰写论文期间,王佳、杨延昭、薛镭对我论文的研究工作给予了热情帮助,在此向他们表达我的感激之情。另外也感谢家人和朋友,他们的理解和支持使我能够在学校专心完成我的学业。最后还要感谢在交大这些年来所有曾经帮助过我的老师、同学和朋友。 1绪论1.1研究背景和意义1.1.1课题研究的背景根据中国互联网络信息中心(CNNIC)的统计,截至2010年12月,中国网民规模达N4.57亿,互联网普及率攀升至34.3%,较2009年提高5.4个百分点。其中有14817万网民(32.4%)访问论坛/BBS,其中近6000万人(23.4%)在BBS中发贴Ⅲ。BBS(BulletinBoardSystem,即电子公告牌系统)建立在互联网上,面向社会各界公众,用户可通过BBS发布消息,参与讨论,不仅可以发表个人看法,还可以获取信息、交流情感。与传统的传播媒介相比,论坛具有很强的开放性和互动性,用户只要注册ID就可以通过发表贴子的方式来表达自己观点并参与讨论,同时这种观点的表达具有匿名性质,因此论坛的言论一般都大胆、坦率,最能表达网民真实的观点。目前,BBS逐渐成为普通民众表达个人观点和意愿的主流媒体。由于论坛通常缺少有效的限制和监督,发言者身份隐蔽,一些网民在现实生活中遇到挫折,或对社会问题认识偏激,都可能到论坛中发表贴子进行宣泄,因此论坛中较容易出现片面、偏执和消积的言论。如果不及时加以引导,一个热点事件的出现加上一些情绪化的意见就可以成为点燃一片舆论的导火索,对社会公共安全形成较大威胁。对各级党政机构来说,在国家政治民主化迅速推进的进程中,可以通过BBS等各种现代化的网络信息平台获取舆情,使政府相关部门准确迅速地分析和应对各种突发事件,从而维护社会稳定、促进国家发展。但是,仅依靠人工方法难以应对网络中海量信息的收集和处理,需要对相关技术进行研究,形成一套自动化的BBS热点话题发现与监控系统,以及时应对网络舆情,由被动防堵化为主动梳理、引导。近年来,专家学者一直在致力于研究更加有效的方法,其中基于语义的内容识别方法是当前研究的重点,虽然也取得了较大进展,但仍存在很多问题和困难需要克服。为了增加我国网络信息控制能力,必须迎难而上,加强相关技术的研究。 1.1.2课题研究的意义研究表明,网络热点事件的首发主体中1/3左右来自网民,网民发布信息主要依赖的是论坛,因此对用户参与较多的热门论坛进行研究具有重要的价值和意义。对个人而言,BBS热点发现能使用户及时、方便地获取当前社会中比较重要的热点信息;对企业而言,通过对特定论坛的热点发现可以让企业更迅速地掌握相关领域的发展动态、用户关注的热点技术从而提高企业的竞争力;对国家而言,BBS热点发现具有更加重大的意义,可以帮助政府相关部门及时了解当前社会重要事件和舆论方向,有助于相关部门迅速进行舆论引导,发扬积极、健康向上的舆论,抑制消极、片面的舆论。目前,几乎所有国内门户网站都开设有BBS论坛,全国BBS论坛数量已超过百万个,位居全球之首。而且通过对百度贴吧、天涯社区、新浪论坛等国内热门论坛的贴子信息进行分析可知网络舆情具有较大传染性。虽然各个论坛受众和定位存在较大差别,但网民对社会热点话题的关注点、价值取向呈现惊人的相似。此外,现实社会中的热点话题,往往在BBS上也会形成大量的帖子。因此,可以说BBS是现实社会的真实反映,研究BBS热点信息发现对研究整个社会的网络舆情状况具有十分重要的意义。1.2国内外研究现状热点话题挖掘(HotTopicMining)较早出现在话题识别与跟踪(TDT,TopicDetectionandTracking)领域,TDT是由美国国防高级研究计划倡导的一项研究,用以应对日益严重的互联网信息爆炸问题,对新闻媒体信息流进行新话题的自动识别和己知话题的持续监控眩1。但TDT的研究对象主要是网络形式的新闻报道,而新闻报道与BBS在结构和语言特点上有较大差别。在BBS热点话题挖掘方面,日本东京大学的NaohiroMatsa教授等人提出影响力传播模型(IDM,InflueneeDiffusionMode)用于发现BBS上有影响力的人物和话题口]。该模型用帖子中的关键词来反映了作者的观点,帖子关键词传递的多少反映了影响的程度的高低。IDM模型的着眼点是用户间的交互模式,通过分析帖子或者用户间的影响力传递来发现焦点人物或者热点话题。2005年,蒋凡等人利用IDM模型设计并实现了一个BBS主题发现原型系统口们,但该方法需要多次计算词语间的影响力,并不断构造和修改词语图,计算复杂度较大,不适合用于大规模文本的计算。国外的新闻组跟BBS的结构类似,为提高对新闻组中大量信息的利用率,Zukerman等人采用了信息检索中的文档聚类方法M1,首先用向量空2 间模型来表示新闻组中的讨论帖子,然后用K-Means方法对贴子进行聚类,聚为一类的帖子被认为有相似的话题,最后用F.score方法对聚类结果进行评价。在国内,吴立德等人提出使用BP神经网络算法来发现BBS上的热点话题巧1。该算法首先抽取BBS中每个帖子的标题、内容、作者、发表时间等元数据,并过滤垃圾帖、无关帖。其次使用K-Means算法对向量空间模型表示后的帖子进行聚类,其中关键词的权重计算采用了经典的TF.IDF算法,该算法同样认为被聚为一类的帖子属于相同的话题,最后通过与人工标签的比较来评价聚类结果并对聚类得到的各个话题采用BP神经网络算法进行热度分类。在选取热点话题影响因子时,该算法采用相关性分析消除冗余因子,选取了话题包含的主贴数、贴子回复数、发贴人数、平均作者等级、平均发帖间隔等因子。但是,BP算法需要大量的训练集且训练时间较长。邱立坤等人考虑到在BBS的标题、主题内容、回帖出现的词分别有着不同的重要性,相应地改进了传统的向量空间模型;另外,采用非增量的Single—Pass聚类算法对话题进行聚类,然后以各话题中平均相似度最高的帖子的标题作为该话题的标题;最后利用BBS特有的点击数、回复数进行热度排序,并采用基于标题特征词提取的话题归并,对同一主题中不同角度的话题进行归类[63。以上研究均是直接对BBS中帖子各项信息进行处理,并没有提到如何从Web网页上自动获取这些信息。分析来看,目前网络舆情热点在实践上的研究主要集中在中文信息处理与数据挖掘领域,这两个领域从不同角度对网络舆情进行研究,同时又相互渗透,相互借鉴。1.3论文的主要工作及组织结构本文根据BBS热点话题发现与监控的需求,提出了一个BBS热点话题发现系统与监控系统,其主要的功能有BBS信息采集,BBS热点话题发现和监控。本文将结合系统的整体设计和实现过程,详细介绍BBS热点话题发现与监控系统中关键辅助模块,重点阐述热点信息发现模块采用的模型、设计结构、关键技术和软件实现方法。论文的各章节组织结构和内容如下:第一章绪论阐述论文的选题背景和研究意义。考察国内外BBS热点话题发现与监控相关理论的研究现状,发展前景,并提出论文研究的主要目的、内容和基本思路。第二章相关技术介绍论述本系统开发过程中需要用到的一些相关技术,主要包括:Web文本挖掘3 技术、网络数据抓取技术以及热点话题发现技术。阐述了Web文本挖掘的一般过程以及每个过程的关键技术;介绍常用网络爬虫的分类及各爬虫实现原理;深入分析热点话题的实现原理以及常用算法。第三章BBS热点话题发现与监控系统设计分析了系统功能和业务流程,进行系统设计。根据系统功能进行模块划分,并对各功能模块进行介绍。第四章BBS数据采集及预处理的实现深入研究论坛结构,提出了基于论坛版块扩展的BBS数据采集方法。分析主流论坛系统贴子特点,采用基于模拟匹配的数据抽取方法对采集所得文本进行处理,并用向量空间模型对文本进行表示。第五章BBS热点话题发现与监控的实现深入分析Single.Pass聚类算法,对其存在的缺陷进行相应改进,并用改进的算法来对BBS进行话题识别。在话题识别的基础上,分析BBS贴子内容特征,选择相因的参数对话题进行评估,筛选出论坛热点话题。采用INN算法对指定话题进行实时监控。第六章结论及展望归纳总结全文,阐明论文的创新,提出论文尚需进一步研究的问题。论文的研究框架如图1.1所示:4 图1.1研究的理论框架Fig.1-ITheoreticalFrameworkofResearch5 2相关技术介绍2.1Web文本挖掘技术Web文本挖掘是指借鉴数据挖掘的基本思想和理论方法,从大量非结构化、异构的Web文档集合中发现有效的、新颖的、潜在可用的及可理解的知识的非平凡过程明3。Web文本挖掘是一门涉及到Web、数据挖掘、计算机语言学、信息学、自然语言处理、数据抽取、信息检索、统计学、人工智能、机器学习、神经网络等多个领域的综合技术。2.1.1Wreb文本挖掘过程Web文本挖掘的对象是大量的HTML文档集合。挖掘过程可分为如下几个步骤:Web文档的采集和预处理、特征的表示和提取、数据挖掘、模式评估、知识表示和应用。Web文本挖掘处理流程如图2.1所示。图2.1Web文本挖掘的流程Fig.2.1WebTextMiningProcess(1)Web文档的采集和预处理6 Web文档采集通常用爬虫程序来实现。爬虫程序能利用网页中的超链接自动采集相关主题的网页。为提高采集数据的质量,可在采集过程中对文本作一些预处理,如清除Web页面上的脚本程序、图像文件等,也可根据具体的应用目的对网页进行相应的预处理。(2)Web文档的特征表示和特征选择文本特征是指关于文本的元数据,分为描述性特征和语义性特征噶1。Web文档多为非结构化或半结构化的数据,在进行W曲文本挖掘前,需对这些非结构化的文本数据进行处理,转化为结构化转化的数据。特征表示就是用特征项来表示文档信息,将文本由非结构化转变为结构化的处理过程。特征表示模型有多种,常用的有向量空间型、概率型、布尔逻辑型以及混合型等。(3)数据挖掘Web文本挖掘是对大量Web文档进行分类、聚类、关联分析以及对Web文档进行自动文摘的过程。从挖掘对象上看,Web文本挖掘可分为两类:基于单文档的数据挖掘和基于文档集的数据挖掘。前者在挖掘过程中只针对单一文档进行分析,并不涉及其它文档,挖掘技术有文本摘要技术、信息提取技术。基于文档集的数据挖掘的对象是大规模文档,挖掘过程中需要对所有数据进行模式抽取,挖掘技术主要文本信息过滤、文本聚类、文本分类、文档作者归属、因子分析等。从功能上看,Web文本挖掘主要针对Web上少量文档集合的内容进行总结、分析,并利用这些Web文档进行趋势预测。(4)模式评估挖掘所得的模式需要进行评估,从中挑选出有价值的模式呈现给用户。(5)知识表示和应用反馈的结果需要用可视化的方式呈现给用户,同时提供信息导航功能,在最大程度上为用户浏览和获取信息提供便利。2.1.2文本挖掘关键技术Web文本信息的抽取是Web文本挖掘的基础,文本的特征提取与表示是Web文本挖掘的重要步骤,文本分类与文本聚类是两种最重要、最基本的挖掘功能,另外,Web文本挖掘中涉及中文分词等技术,本节分别对涉及的技术进行介绍。1.W.eb文本信息抽取信息抽取(InformationExtraction,简称m)是指根据需要在各种不同的文本中定位、识别和提取出信息点,并将其表示成一种统一的、结构化的形式,即原7 始文本经过信息抽取系统后得到格式固定的信处点。Web信息抽取(w曲informationExtraction,简称wrebIE)是将Web作为信息源的一类信息抽取。详细介绍见2.2.2节。2.分词技术分词是把文档中的文本转换成词条的过程眩¨。分词本身并不是目的,而是为后续处理作准备,是中文信息处理的基础。在英文的行文中,单词之间以空格作为分界符。而汉语以字为基本,词语之间没有明显的区分标记,歧义处理、未登录词识别和词性标注是中文分词的三大难点。目前,常用的中文分词方法有如下3种[103(1)基于字典的字符串匹配分词方法:该方法按照一定的策略将待分析的汉字字符串与词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。该类分词方法按字符串扫描方向的不同可以分为正向匹配和逆向匹配;按长度优先匹配的不同可以分为最大(最长)匹配和最小(最短)匹配。(2)基于统计的分词方法:该方法通过让计算机模拟人对句子的理解,从而实现对词的识别。该方法的基本思想:分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。(3)基于规则的分词方法:字与字同时出现的频率越高的就越有可能构成一个词,因此可以利用语料中词频统计信息来进行中分分词。该方法只需对语料中的字组频度统计信息,不需要切分词典,因而又叫做无词典分词法或统计取词方法。基于字典的分词方法简单易行,但分词速度慢且正确率低;基于统计的分词方法能识别高频未登录词,且较少出现歧义,但准确率也较低;基于规则的分词方法准确率高,但实现复杂。实际使用的分词系统都是把基于字典的机械分词作为一种初分手段,再利用其它分词方法来进一步提高切分的准确率,识别未登录词。3.Web文本的特征表示相对数据库的结构化数据来说,Web文档中的数据没有或只具有有限的结构,且也是着重于格式,而且非文档内容不同类型文档的结构也不一致。此外,文档的内容是人类所使用的自然语言,计算机很难处理自然语言的语义,所以需要对文本进行预处理,使计算机能对文本信息进行识别和处理。文本特征是指关于文本的元数据,可分为描述性特征和语义性特征[11]o前者包括文本名称、文本大小、文本类型等。后者包括文本作者、文本标题、文本内容等。文本特征表示是指抽取文本中能够代表文本特征的特征词,用量化后的特8 征词表示文本信息,从而将文本由一个无结构的原始数据转化为结构化的计算机可以识别和处理的数据。特征表示模型有多种,应用较多且效果较好的是向量空间模型(VectorSpaceModel,简称VSM)。在VSM中,每个文本文档d都被看作是特征项集合“,f:,..7。)构成,并根据特征项t,在文档d中的重要程度赋予一定的权值Ⅵ(d)。可以进一步把每个特征项可以看作是一个所维坐标系,(Ⅵ(d),w2(d),...%(d))为每个特征项对应的坐标值,这样,文档可以映射为由一组特征项矢量构成的向量空间中的一点。例如可用一个规范化的特征矢量V(d)=瓴,w1(d);f2,%(d);一厶,%(d))来表示某个待挖掘的文档d。最简单的文本特征词选择方法是将文档d中出现的所有字作为特征项六,但这样会造成特征维数较高,不利于后续处理。因而,可选择d中出现的短语作为特征项t,,从而提高特征表示的准确性。此外,根据特征项在文本中的重要程度不同,因此,需要对赋予不同的权值,使越重要的特征项具有越大的权值。最简单的方法是由专家或者用户根据自己的经验与所掌握的领域知识人为地赋值。这种办法随意性很大,而且效率较低,很难适用于大规模文本的处理。另一种办法是运用文本的词频或词之间的同现频率等统计信息来计算特征项的权重。如w翮被定义为特征项如在文档d中出现的次数与文档总次数之比(称为出现频率,TermFrequency)。4.文本分类文本分类是文本挖掘的核心。文本分类是一种典型的有指导的机器学习方法,它按照预先定义的分类体系(即分类模型),分析待定文本的特征,并与已知类别中文本所具有的共同特征进行比较,然后即将文档集合中的每个文档归纳入某个类别。常用的分类算法有:基于归纳学习的决策树(DT,DecisionTree)分类算法、基于向量空间模型的K最近邻(KNN,KNearestNeighbor)分类算法、基于概率模型的Bayes分类器分类算法、神经网络(NN,NeuralNetwork)分类算法、基于统计学习理论的支持向量机(SVM,SupportVectorMachine)分类算法等。文本分类是一种典型的有指导的机器学习方法,一般分为建立模型和使用模型分类两个阶段。建立模型的一般步骤如下‘1羽:步骤一:定义类别集合C=“,..‘,..岛>,其中,c。为文本类别,既可以是层次式的也可以是并列式的。步骤二:从类别集合中选择适量具有代表性的Web文档作为训练文档集合9 S=“,...Sy,..4>,其中,对训练文档s,标上其所属的类别标识c,。步骤三:统计文档集合S中所有文档的特征矢量V(s,),确定代表类别集合C中每个类别的特征矢量v(c,)。使用模型分类的一般步骤如下n引:步骤一:对于测试文档集合D={面,...,矾,..4>中的每个待分类文档反,计算其特征矢量y(以)与每个V(c,)之间的相似度sim(dk,q)。步骤二:把文档巩归到与其相似度最大的一个类别。如果文档反与多个类别之间的相似度超过预定的阈值日,则可以把以归到多个类别中;而如果以与所有类别的相似度均低于阈值口,那么通常将该文档单独归为一类。在计算相似度sim(dk,C;)时,有多种方法可供选择。最简单的方法是考虑两个特征矢量中所包含的词条的重叠程度,定义如公式2.1所示:州㈧=嚣格,(2.1)其中nn(d。,G)是矿(以)和v(c,)具有的相同词条数目。nu(d,,q)是y(以)和v(c,)具有的所有词条数目;最常用的方法是考虑两个特征矢量之间的夹角余弦,定义如公式2.2所示:豇m(圳=黼(2.2)5.文本聚类文本聚类也是一种文本挖掘,与文本分类目的相同,都是把一组文档对象集合按照相似性归成若干类别,只是实现的方法不同。聚类在文档归类之前没有定义好的类可供选择,而是由聚类学习算法来自动确定。文本聚类是一种典型的无指导的机器学习过程,主要有层次凝聚法和平面划分法两种类型。对于给定的文档集合D={4,...,以,...dr},层次凝聚法的具体过程如下¨钔:步骤一:将文档集合D中的每个文档Z看作是一个具有单个成员的簇类C。={吐>,这些聚类构成了D的一个聚类集合C={cl,..‘,..‘>;步骤二:计算聚类集合C中每对聚类(q,c,)之间的相似度sim(c,,c,)。步骤三:选取具有最大相似度的簇对鹕m警J砌(q,c,),并将q和c,并为一个新的簇类&=Ciuc,,从而构成了D的一个新的聚类集合C={cl,...Ci,..‘一l>;步骤四:重复上述步骤,直至聚类集合中只剩下一个聚类。该过程构造出一棵生成树,其中包含了聚类的层次信息,以及所有簇内和簇间的相似度。层次聚类方法是最为常用的聚类方法,它能够生成层次化的嵌套聚10 类,且准确度较高。但是,在每次合并时,需要全局地比较所有聚类之间的相似度,并选择出最佳的两个簇,因此运行速度较慢,不适用于大量文档的集合。平面划分法与层次凝聚法的区别在于,它将文档集合水平的分割为苦干个簇。对于给定的文档集合D={dl,...,dk,...4),平面划分法的具体步骤如下¨卯:步骤一:给定聚类参数k。步骤二:根据一定规则选择k个文档作为聚类的种子S=“,..J,,..也>。步骤三:依次计算文档集合中的文档d,与种子s,的相似度sim(d,,S,)。步骤四:将4归入与其相似度最大的类,以S,为新的聚类c,,从而得到D的一个聚类C={cl,..‘,...Ck}。步骤五:重复步骤步骤三、步骤四数次,从而得到较为稳定的聚类结果。该聚类算法的运行速度较快,但必须事先确定参数k,且种子选取的好坏对聚类结果有较大影响。2.2网络数据采集技术介绍2.2.1网络爬虫技术网络爬虫(WebCrawler),又称为网络蜘蛛(WebSpider)或Web信息采集器,是搜索引擎的重要组成部分,它利用网页中的超文本链接来访问网页,并自动采集网页中的信息。爬虫的基本思想是:针对某个给定的URL集合,爬虫首先将这些URL放入一个有序的待等待队列中,然后按一定的顺序从该队列中取出URL并下载该URL所指向的页面,对页面内容进行分析,抽取出页面中新的URL并存入URL等待队列,如此重复上面的过程,直到URL队列为空或满足某个爬行终止条件,从而实现对Wreb的遍历。 爬虫爬取数据过程如图2.2所示:图2.2爬取流程Fig.2.2CrawlingProcess按照系统结构和实现技术的不同,网络爬虫可分为如下四类阻们:通用网络爬虫(GeneralPurposeWebCrawler)、主题网络爬虫(TopicWebCrawler)、增量式网络爬虫(IncrementalWebCrawler)、深层网络爬虫(DeepWebCrawler)。实际的网络爬虫系统通常是几种爬虫技术相结合实现的。1.通用网络爬虫通用网络爬虫的采集目标是整个Web,爬行范围广,采集数量大,因而对于爬行速度和存储空间有较高要求。为提高爬行效率,通用网络爬虫会采取一定的爬行策略。常用的爬行策略有深度优先策略、广度优先策略。通用网络爬虫通常作为门户网站搜索引擎和大型的Wreb服务提供商的数据采集部分。通用网络爬虫的体系结构由页面爬行模块、页面分析模块、链接过滤模块、数据库、URL队列、初始URL等模块构成,如图2.3所示。图2.3通用网络爬虫体系结构图Fig.2.3FrameworkofGeneralPurposeWebCrawler2.主题网络爬虫12 主题网络爬虫又称聚焦网络爬虫。与通用网络爬虫相比,聚焦爬虫只需要爬行那些与预先定义好的主题相关页面的网络爬虫,因而可以极大地节省了硬件和网络资源,保存的页面也由于数量少而更新快。与通用网络爬虫相比,主题网络爬虫的体系结构中增加了内容评价模块和链接评价模块,其体系结构图2.4所示。初始URL及关键词<二—二>9·上URL队夕U、、~,—,■千l卜页爬行模块H网页分析模块链接评判模块l卜。L内容页面URLQ上页面信一内容评判模块链接过滤模块|息库图2.4主题网络爬虫体系结构Fig.2.4FrameworkofTopicalWebCrawler对页面内容和链接进行评价是实现主题爬虫的关键,不同的评价方法计算出的重要性不同,由此导致链接的访问顺序也不同。常用的主题爬行策略有:基于内容评价的爬行策略、基于链接结构评价的爬行策略、基于增强学习的爬行策略、基于语境图的爬行策略等。3.增量式网络爬虫传统的爬行器根据需要采集足量信息后停止采集,当过一段时间这些数据过时后,再对数据进行一次采集来代替先前的信息,称为周期性网络爬虫。而增量式网络爬虫对已下载的网页实行增量式更新,只爬行新产生的或者已经发生变化网页的数据,从而保证所爬行的页面是尽可能新的页面¨们。较之周期性网络爬虫,增量式爬虫只爬行新产生或被更新过页面,从而在减少页面下载量,及时更新数据的同时降低时间和空间上的开销,但会增加了爬行算法的复杂度和技术难度。增量式网络爬虫的体系结构由页面爬行模块、排序模块、更新模块、待爬行URL集、本地页面集和本地页面URL集构成。体系如图2.5所示13 本地页面集更新/保存页面御札1添力WURL网页爬行模块图2.5增量式网络爬虫结构图Fig.2.5.FrameworkofIncrementalWebCrawler4.深层网络爬虫Web页面按存在方式可分为表层网页(SurfaceWeb)和深层网页(DeepWeb)¨们。表层页面主要由超链接可以到达的静态页面构成,传统搜索引擎可以其进行索引。深层网页是指那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。例如用户注册后内容才可见的网页就属于深层网页。深层网页爬虫主要包含六个基本模块【24】:爬行控制器、页面解析器、表单分析器、表单处理器、响应分析器、LVS控制器和两个爬虫内部数据结构(URL列表、LVS表)。其中LVS(LabelValueSet)表示标签/数值集合,用来表示填充表单的数据源。其体系结构如图2.6所示:图2.6深层网页爬虫体系结构Fig.2.6FrameworkofDeepWebCrawler深层网页爬虫的爬行过程中,表单填写是一个重要步骤。现在主要有两种填写方法可以对表单进行填写:(1)基于领域知识的表单填写:该方法通常会维持一个本体库,通过语义分14 析来选取合适的关键词对表单进行填写。(2)基于网页结构分析的表单填写:此方法一般没有或只有有限的领域知识,在对表单结构进行分析的基础上,用DOM树来表示表单,最后从中提取表单各字段值。2.2.2页面信息抽取技术Web文档采用超文本标记语言HTML来描述,所以Web页面中的信息多是半结构化的数据。Web数据抽取的是指从Web页面所包含的半结构化信息中抽取用户感兴趣的数据,并将其转化为更为结构化、语义更为清晰格式的过程n43。Web信息抽取的过程如图2.7表示,通常把完成Web信息抽取工作的程序叫做Wrapper(包装器),它是整个信息抽取过程中的核心模块,主要由信息模式识别知识和利用这些知识进行信息抽取的代码组成。规则执行模块l▲'l抽取出的web信息jweb页面文档U·』卜J鬯尚【、~。,/—N图2.7Web信息抽取过程Fig.2.7WebInformationExtractionWeb信息抽取技术有如下几种:(1)基于网页特征的信息抽取Web页面采用HTML布局标记,数据之间具有一定的层次结构和先后顺序。例如在如在新闻网页中,新闻标题一般在正文信息之前,评论通常正文之后。通过对网易、腾讯等一些大型网站的新闻网页的分析,发现页面的一些特征:(DHTML头部中,网页的新闻标题包含在
此文档下载收益归作者所有