基于程序切片的网页过滤技术-计算机技术专业论文Word格式文档下载.docx
- 文档编号:3655199
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:52
- 大小:858.98KB
基于程序切片的网页过滤技术-计算机技术专业论文Word格式文档下载.docx
《基于程序切片的网页过滤技术-计算机技术专业论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于程序切片的网页过滤技术-计算机技术专业论文Word格式文档下载.docx(52页珍藏版)》请在冰点文库上搜索。
但是随着信息的爆炸,各种无关的信息或者广告掺杂其中,真假难辩。
面对庞大的信息资源,如何从中获取有价值的信息成为当前一个非常重要的问题。
传统的网页过滤技术通过挖掘网页中的URL和文本来与自己数据库的黑名单进行比对,不仅消耗过多的时间和资源,也加大了服务器的承受能力。
本文将程序切片技术应用于网页过滤中,通过将HTML语句构造成树形图,将待过滤的关键字与树形图的叶子结点进行匹配,提取出匹配成功的叶子结点的父结点的行号,制定出切片准则,通过网页代码中存在的新的依赖关系,构建依赖图,在切片准则的基础上对依赖图进行切片处理,得到切片,只保留与切片准则相关的语句集,最后还原成可视化的网页。
本文所实现的网页过滤技术,不仅能有效地过滤掉用户不需要的,还可以提取用户感兴趣的,而且过滤的程度也可以进行不同程度的设置,此方法不仅速度快、对服务器的承载能力要求低、还能实现各种个性化的过滤功能。
关键词:
网页过滤,标签,程序切片,信息提取,依赖图
I
Abstract
TherapiddevelopmentoftheInternethastobecometheworld'
smostextensivecoverage,thelargestandmostabundantresourcesoftheinformationnetwork.theInternethasbecomethemainwayofgettinginformation.Peoplecaninputthecontentthattheywanttoqueryinthesearchengine,searchouttheinformation.Butastheexplodingofinformation,avarietyofunrelatedinformationoradvertisingsneaksin,andthegenuineandfakeisdifficulttodistinguish.Facingthegiganticinformationresources,howtoobtainvaluableinformationonthecurrentbecomeaveryimportantquestion.
TraditionalnetworkInformationfilteringtechnologycontrastthroughdiggingintoURLandtextinwebpagewithblacklistsinitsowndatabase.Thiswaynotonlyconsumestoomuchtimeandresources,butalsoincreasestheservercapacity.Thistestapplytheprogramslicingtechnologytonetworkinformationfiltering,byformingHTMLstatementintotreeDiagram,tomatchkeywordswithleavesintreediagram,extractthelinenumberofparentnodesofnodesthatmatchsuccessfully,workoutthecriterionofslice,,toformdependencygraphsthroughthenewdependencyrelationshipinwebpagecode.Toslicethedependencygraphonthebasicofslicecriterion,andthengetSliceset,onlykeepthesetofsentencerelatedtoslicecriterion.Atlast,itwillbereverttoVisualizationofwebpage.Thenetworkinformationfilteringtechnologyrealizedinthistestnotonlycanfilterneedlessthings,butalsoextractthemessagethatcustomersareinterestedin.What`smore,thedegreeoffilteringcanbesetindifferentdegree.thiswaynotonlyisfast,butalsohavealowrequirementforthebearingcapacityoftheserver,alsocanrealizeallkindsofpersonalizefilteringcapabilities.
Keywords:
Webfiltering,label,programslicing,informationextraction,dependencygraph
II
目录
第一章绪论 1
1.1研究背景及意义 1
1.2国内外研究现状 1
1.3研究内容及创新点 2
1.4论文结构及其安排 4
第二章基本概念 6
2.1网页过滤基本知识 6
2.1.1过滤方式 6
2.1.2网页程序的定义 7
2.1.3客户端网页中的HTML和JavaScript 8
2.1.4网页技术 8
2.2程序切片的相关知识 9
2.2.1控制流图 9
2.2.2数据流图 11
2.2.3过程内切片 11
2.2.4过程间切片 11
2.2.5语句级依赖图 12
2.3基于依赖图的切片算法 12
2.3.1基于过程内的程序的依赖图的图可达性算法 13
2.3.2基于多个函数的过程间的切片算法 13
2.4本章小结 14
第三章 网页程序中依赖关系的生成 15
3.1HTML标签语言中依赖关系的分析 15
3.1.1HTML语言的简介 15
3.1.2HTML标签之间依赖关系 15
3.2网页代码的依赖关系 16
3.2.1网页代码控制依赖关系的建立 17
3.2.2网页代码数据依赖关系的建立 19
3.2.3网页代码中调用依赖关系的分析 20
3.3本章小结 22
第四章 基于网页代码依赖图的算法 23
4.1切片准则的制定 24
4.1.1HTML标签依赖图的构建 24
4.1.2分治法在寻找切片准则中的应用 25
4.1.3KMP算法在寻找切片准则中的应用 26
4.2网页代码的程序切片 27
4.2.1根据依赖关系将网页代码构造成依赖图 27
4.2.2基于网页代码依赖图的切片处理 28
4.3多精度过滤 31
4.3.1多精度过滤的信息及其算法 33
4.3.2可视化准则 35
4.4本章小结 36
第五章 基于程序切片的网页过滤系统的实现 37
III
5.1系统前台和源代码的展示和提取 37
5.2系统后台过滤部分功能的展示 39
5.3基于KMP算法的网页过滤与穷举算法的网页过滤的实验比较 40
5.4本章小结 41
第六章 总结与展望 42
6.1本文工作总结 42
6.2未来工作展望 42
参考文献.................................................................................................................................................................... 43
附录1攻读硕士学位期间申请的专利 45
致谢 46
IV
南京邮电大学专业学位硕士研究生学位论文
第一章绪论
第一章 绪论
1.1研究背景及意义
自从计算机的诞生,网络也应运而生,经过几十年的发展,己经被应用于教育、娱乐、军事等各个地方,有了网络,人们可以在教育、娱乐、军事等领域随心所欲地获得各种信息。
网络时代的来临使得信息的来源渠道更加丰富,网络信息的大爆炸也使得人们在选择信息的时候非常困扰。
当人们想要在一个网页中搜索自己感兴趣的信息中时,往往会变得非常困难。
搜索引擎的问世在一定程度上缓解了这样的矛盾,但是搜索引擎的搜索是盲目地将存在于网络中的信息全部展示出来,这些信息太过眼花缭乱,让用户对呈现在面前的繁杂的信息感到畏惧。
所以急需一个能够快速地将网页中的关键信息提取出来的工具。
网页中的信息五花八门,用户对很多信息是非常厌恶的,所以用户在体验网络带来方便的同时,也要承受这些垃圾信息的干扰,所以急需一个能够准确地去除用户不喜欢的信息。
网页过滤不仅能美化网络环境,还能够加快人们查询信息的速度,剔除掉一些不相关的
信息。
本文实现一种基于程序切片的网页过滤工具,用户输入想要查找的关键字,即可提取或过滤关键字相关内容。
相对于开发商自动填写过滤词的过滤工具,这个扩展工具增强了它的自由性和与用户的互动性。
1.2国内外研究现状
网页过滤的技术是计算机网络安全领域中的一个重要热点,很多机构都在从事网页过滤的相关工作。
目前,网页过滤的方法如下几种。
一是基于内容的及时过滤技术。
根据文本文字的形式,该技术可以分成基于文本的过滤方法和基于图像的过滤方法。
在文献[7]中具体阐述了各种文本内容算法的优劣。
正常情况下,基于文本内容的过滤步骤包括创建文本数据库,提取特征文字,进行对比,进行过滤;
基于文本内容的过滤方法主要有关键词、模式、智能文本内容分析等。
其中,智能内容分析网页过滤是主流方法,常用的算法有决策树算法、SVM算法、
KNN算法和贝叶斯算法等。
此过滤方法的优点是覆盖面广,可以对文字内容的网页进行及时过滤,但是需要权衡准确率和效率,并且每一次过滤都需要重新与数据库中的文字进行匹配,
1
导致计算的数量特别庞大,不利于重复过滤。
基于图像的过滤方法,顾名思义,就是提取网页中的图片,判断其是否符合过滤标准。
文献[10]具体阐述了现在主流的图片过滤方法,图片的识别与比对同样是非常困难的事情,这样的过滤不仅仅精度达不到要求,效率也非常低,时间消耗也非常大。
还有一种是URL比对来进行过滤的方法。
在上个世纪九十年代,URL网页过滤系统就已经盛行,大体就是通过建立URL黑白名单,然后将网页的URL与黑白名单进行比对。
在进行网页过滤时,将目标URL与自己数据库中的黑名单和白名单进行匹配,这种通过黑白名单来过滤的方法,就是将网页中的URL分成两类:
合法与非法。
基于URL黑白名单方案很难实现客观、细粒度的URL分类,很难成为有效的URL过滤方案。
随着文本分类技术的发展,
URL的黑白名单的数据库也逐渐丰富。
URL分类数据库不仅仅通过机器学习来获得,也可以通过人工分类来实现。
通过人工分类数据,不断地训练机器学习系统,提高准确性。
如在文献[8]中提出了通过人工智能中的神经网络技术,来将网页分成色情与非色情两类,进而达到网页过滤的效果,但是这样的过滤实现的效果太狭隘。
基于URL分类的网页过滤技术在过滤时不需要大量的计算操作,显着地提高了过滤的效率,但是URL分类数据的时效性与覆盖率是需要考虑的问题。
基于内容的即时过滤技术与基于URL分类的过滤技术相结合的方式是目前应用较为广泛的技术。
在文献[11]中作者将URL与文本结合起来,实现两层过滤,首先通过URL黑白名单实现过滤,然后通过文本内容过滤。
这种过滤方式在一定程度上保证了过滤的效率以及过滤的全面性,但是在进行文本分类计算时,有较大的延迟,过滤的准确性完全依赖于文本分类算法,没有有效的验证机制。
以上的过滤技术都需要大量的数据库作为后台支撑,不仅浪费很多资源,而且运行起来非常耗时。
不仅仅如此,在过滤网页元素的同时,只能删除一些用户不需要的一些元素,实现的功能也比较单一。
试想一个用户想要快速得到一个客户端网页中特定的元素,其他元素不想要看到,这种情况如果将程序切片应用到网页过滤中,那是一件非常完美的事情。
1.3研究内容及创新点
本文提出一种基于程序切片技术的网页过滤方法。
该方案将从待过滤的关键字入手,将网页中HTML的标签构建成树形结构图,在构建的过程中,让每个html文件各自构建成根结点为<
HTML>
的树形子图,那么网页可视化内容就存在于叶子结点,在通过KMP算法,将待过滤的关键字与各树形子图的叶子结点就行匹配,对匹配成功的叶子结点的父结点做上标记,记录下语句号,为后期切片准则做好铺垫。
而后通过分析网页代码可以知道,本文主要
2
研究包含HTML和JavaScript代码的客户端的网页代码,基于程序切片思想,利用传统的依赖关系分析JavaScript过程内和过程间的依赖关系,发现HTML语句与JavaScript语句之间存在依赖关系。
就依赖关系构建依赖图,通过前期得到的切片准则,利用图可达性算法得到切片。
文章通过用户输入待过滤的关键字,将网页过滤问题转化成对网页代码依赖图的切片问题,这样做不仅仅可以将待过滤的关键字得到过滤,还能将与关键字相关的内容进行过滤,在过滤的精度得到优化,也使过滤的速度得到提高。
下面简单介绍创新点的细节:
本文的创新点如下:
(1)将HTML代码构建成结点为标签的树形结构图,并通过KMP算法匹配到待过滤的关键字,建立切片准则。
树形依赖图中的一切是以最外层的HTML包含元素即html元素开始的,使用树的比喻,叫做根元素,从根流出的线表示不同标记部分之间的关系;
head和body元素是html根元素的孩子;
title是head的孩子,head是title的父亲;
处在同一层次的且互不包含的两个分支之间称为兄弟关系,整个树就这样组织下去,直到最后的叶子节点变为属性值为止(html,head,body,title均为HTML语言中成对出现的标签);
将网页过滤问题转化为程序切片问题,首先是要寻找切片准则,那么第一步先将HTML转换成标签为结点的树形结构图,那么树形结构图的叶子结点就是数据,这个数据就是真实存在于网页上的数据,当用户想要过滤某个关键字的时候,就要将待过滤的关键字与树形结构图的每个数据进行一一的匹配,那么这里引入效率很高的KMP算法,但是基于一个网页会存在很多html文件,这里在构建树形结构图的时候,采用分支思想,构建很多根结点为<
的树形子图。
在查找到与待过滤的关键字匹配的叶子结点的时候,记录下其父结点的行号,这样的切片准则就产生。
这样为后期的切片处理打下基础。
(2)分析网页代码中的HTML标签的依赖关系以及JavaScript存在的依赖关系,发现
HTML和JavaScript两种语言之间存在依赖关系,通过这些依赖关系将含有HTML语言和
JavaScript语言的网页代码构造成依赖图。
传统的程序切片仅仅是针对单个语言,比如针对C、JAVA,但是客户端网页的代码不仅仅是由一种语言编写而成,JavaScript语言嵌套在HTML标签之内,在分析HTML标签之间的结构关系、JavaScript语言中的各种依赖关系之后,从而构建一种新的依赖关系,即HTML语言与JavaScript语言之间也存在一种依赖关系,这是程序切片思想的一种拓展——即存在不同语言之间的依赖关系。
本文在第三章节会将网页中HTML和JavaScript的依赖关系都列举出来,这有别于传统的单纯语言的依赖关系。
在对不同语言之间的依赖关系的分析之后,
3
构造成依赖图,在创新点一得到的切片准则的基础上对某个语句中的谓词进行切片处理,得到切片集。
通过程序切片处理后的切片会将与切片准则相关的全部保留,这样应用到网页过滤中,会使过滤的准确度和效率得到优化。
(3)设置过滤准则将依赖图映射为新的网页。
在前两个创新点的基础上,如果仅仅对被标记的结点进行删除或者提取保留,那么或许不能满足用户所想要的,所以后面再引入一个算法,此算法包括一个过滤准则。
如果过滤准则只想删除或者提取这个结点的内容,那么其他结点的内容全部不在考虑中,如果过滤准则要父结点或者子结点与关键结点距离为2的全部保留,那么其他不满足条件的全部不在考虑中,最后将依赖图映射为新的网页,实现网页的过滤。
1.4论文结构及其安排
本文一共包含七章内容,每个章节的内容如下:
第一章简单介绍了本文课题的研究背景及意义,给出了本课题研究的重点内容,阐述了网页过滤技术的普遍性以及重要性,从而突出了本课题研究的创新点,并且论述了该领域研究现状及他人的相关工作。
第二章着重介绍了本文中使用到的研究内容的基本概念,阐述了网页过滤技术的内容,给出了网页过滤技术的一些定义,并对网页过滤的演化进行了说明,然后解释了程序切片技术的相关理论,最后结合程序切片技术与网页过滤的理论,初步地提出了针对网页过滤的过程与方法。
第三章着重讲述了如何设计依赖图的设计与生成算法。
先介绍了依赖图的概念,叙述了传统依赖图和网页标签依赖图的异同点,之后结合针对HTML和JavaScript等语句的方法,对网页代码依赖图的生成方法进行了详细的介绍。
第四章介绍了网页代码切片准则的生成以及基于网页代码依赖图的相关计算方法。
结合第三章所讲述的改进的网页代码中依赖关系的建立,结合网页实际情况,采用针对网页代码的语句切片算法,得到切片,具体阐述网页过滤技术的全过程。
第五章在第三、四章的理论和算法的基础上,详细叙述了如何实现网页过滤系统,从实现的功能角度出发,列举了网页过滤系统的模块组成,并给出了各个模块的部分重要的实现步骤或代码。
接下来结合一部分过滤示例,演示了网页过滤系统的主要功能。
通过对实例源代码进行操作,演示了网页过滤系统对网页进行切片技术处理后的一些效果。
第六章是本文的总结与展望部分。
本章在认真总结本文所做工作的基础上,分析了本文
4
工作可以进一步改进的地方,由此提出了我们未来可能的研究方向。
5
第二章基本概念
下面介绍网页的过滤方法以及切片的基本知识。
首先介绍网页过滤的一些方式和网页中程序的基本知识,针对网页代码中的相关知识,结合我们最新的程序切片技术,来实现对网页感兴趣的元素的提取以及不感兴趣的元素的删除。
2.1网页过滤基本知识
2.1.1过滤方式
(1)URL过滤
URL过滤是当今人们用的比较多的一种过滤方法。
它的基本原理如下,首先将客户端或者浏览器端中的URL地址通过一定的方法取出,然后与已存在的URL数据库进行比对,检查是否符合自身的过滤标准,最后决定该请求是否被允许。
URL就是类似于网络资源的地址,人们想要访问网络中的资源,就必须通过URL。
URL的组成格式如下,(URL的访问方式):
//(主机):
(端口)/(路径)。
因为URL的格式的特殊性,所以使得URL过滤方法可以过滤网络信息。
URL过滤的方法原理是将目标网页的URL与现有的URL数据库进行比对,这种URL数据库比对就有两种情况,一种是URL数据库的“黑名单”,如果目标网页的URL与这个”黑名单”中的某个URL是一样的,那么就禁止访问;
另一种是URL数据库的“白名单”,如果目标网页的URL包含在这个“白名单”中,那么就允许访问。
URL数据库中的名单包含很多网页的URL,这些名单是是对URL的分类,可以由第三方进行分类,也可以自己进行分类。
比如将很多有关于学习教育的网页URL放入一个URL名单中,命名为“学习”,当网页的URL不满足这个URL数据库名单,那么就被禁止访问。
URL过滤有很多优点,其实现起来很简单,而且对实现简单的网页过滤,运行速度较快,准确性也比较高。
但是这种过滤方法也存在很多的不足之处,首先网页中的URL虽说是对网络资源的地址定位,但是URL的黑色与白色的名单分类存在一定的困难。
最重要的是,如今网络发展如此迅速,URL数据库名单的更新就是一个非常巨大的问题,使得过滤的覆盖率和准确率大大降低。
(2)内容过滤
内容过滤方法是通过对网页中的关键字进行过滤,首先是对网页中存在的关键字进行识别,然后选择保留或者删除的过滤处理。
文字内容的过滤的主要原理是通过数据库中的文字
6
与网页中的关键字进行匹配,这种匹配是通过文字的语法、语义来进行相似度匹配。
虽然在一定程度上使得网页的过滤的精度变大,但是也会存在一定的误差,甚至过滤失误。
甚至在网页取字的位置出现失误,比如说“灰化肥会发挥”,在过滤“化肥”的时候,如果取字位置是在“灰化”和“肥”之间断句,那么就无法识别这样的关键字。
内容过滤虽然在一定程度上解决网页过滤的精度问题,但是也会存在一定的误删,虽然能够通过人工判断来解决,但是还是会让用户不放心。
更重要的是,网页中不仅仅存在文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 程序 切片 网页 过滤 技术 计算机技术 专业 论文