一种提取网页内容的实现方法

文档序号:6366748阅读:155来源:国知局

专利名称::一种提取网页内容的实现方法
技术领域
:本发明涉及计算机应用和信息抽取领域,尤其涉及一种提取网页主要内容的实现方法。
背景技术
:随着Internet及其技术的迅猛发展,网络上的信息呈爆炸式增长。网络已经成为人类有史以来最为庞大的数据库,而网页已经成为Internet上最重要的信息资源。用户通常使用浏览器直接查看网页,此外,还有很多基于互联网的信息处理工作(如信息搜索、数据挖掘、机器翻译等),也以网页的信息内容为基础数据进行开展。但是,在目前的互联网环境下,一个web页面所要表达主题信息往往被大量导航链接、广告链接和版权声明等“网页噪音”所包围。如何准确、高效地提取网页的正文主题信息和标题等信息已经成为当前网络信息应用和研究领域的一个重要课题,具有很高的应用价值和实践意义。因此,能够快速准确的提取网页的主要内容是一项基于web内容应用服务的关键技术。它不但能够提高各种基于内容服务的应用系统的准确性,还能大大的提升其工作效率,同时还更直接的减轻用户信息浏览的负担。信息抽取领域的专家一直尝试着借助计算机来解决这些与主题无关的信息带来的麻烦。目前,关于网页正文提取方面的研究很多,从大方向来说,主要可分为两类,即基于包装器的方法以及分块的方法。利用包装器提取网页正文是一种提出较早,也较为流行的方法,后来出现的网页模板抽取技术也属于此类。它的原理是通过构建包装器或网页模板规则,将符合规则的信息从网页信息源中提取出来。但是该方法只能针对某一类特定格式信息源,而构建它所需的信息模式识别知识的获取是一个费时费力的工作,在目前的互联网网页越来越多样化和可定制化的趋势下,这种方法不通用。基于分块的方法分支是比较多的,比较有代表性的主要有基于纯DOM树的网页分块、基于视觉信息的网页分块(Vision-basedPageSegmentationVIPS)以及基于特定标签的网页分块。由于DOM树最早引入是为了在浏览器中进行布局显示而不是进行web页面的语义描述,在未引入补充信息之前,基于纯DOM的分块方法单凭其提供的标签层次关系是不能完全胜任内容提取工作的。基于视觉信息的网页分块利用web页面的视觉提示如背景颜色、字体颜色、字体大小、字体粗细等信息,结合DOM提供的层次结构进行页面的分块。但是由于视觉特征的复杂性,很难有一个通用的规则集。除此之外,VIPS算法还需要保存大量的视觉信息,其处理性能随着页面的复杂度急剧下降。由于早期互联网流行既定的几种布局,也有人根据〈table〉标签把网页分成若干个内容块。这样分块流程非常简单,但面对日益复杂的页面,处理效果往往不能令人满意。因此,现有的方法要么算法流程过于简单,只能针对特定标签的网页风格进行内容提取;要么算法复杂度过高(基于模板的机器学习或者复杂的视觉计算),都直接导致无法实时的处理人们随机的页面访问。
发明内容为了克服已有网页正文提取方法的不能兼顾实时性和适用性的不足,本发明提供一种适用性良好、兼有较好实时性的提取网页内容的实现方法。本发明解决其技术问题所采用的技术方案是一种提取网页内容的实现方法,所述实现方法包括以下步骤步骤S110,对整个网页采用DOM树进行分割处理,以将网页中相关联的内容分割为至少一个布局块;步骤S120,对网页类型进行判断,根据统计的根节点的链接总长度α、文本总长度β、链接总个数Y,定义链接密度为$,设定R是链接密度的阈值,T是链接总个数的阈值,如果当前的布局块的链接密度和链接总个数均大于阈值,则判定为导航页;步骤S130,对所述布局块进行块属性的判断,如果存在主题块,根据链接密度、标点符号个数判断是否为主题页;如果不存在主题块,根据列表块的个数进行判断,若小于阈值L,对应网页就是主题页;步骤S140,根据主题块或列表块得到主题页,并提取所需的主题页信息。进一步,所述步骤SllO中,网页进行分割处理的流程为步骤S210,将输入的网页进行预处理首先将网页解析为文档对象模型树,对模型树进行处理,将注释节点和空格文本节点删除;步骤S220,构建新的DOM树,对DOM树中节点定义所需要的语义属性链接个数、链接长度、文本长度和无关词长度,并将标签为table的节点改为div;步骤S230,统计文档模型树中每个节点的语义信息,所述语义信息包括链接总个数、链接长度、文本长度和无关词长度,以及每个节点的视觉属性,所述视觉属性包括背景颜色和字体的大小、粗细、颜色,为后面的分块和信息提取作准备;步骤S240,首先构建只包含div节点的DIV树,根据设定的阈值及判定规则,利用节点统计的语义属性进行分块,判断的顺序是由下而上。再进一步,所述步骤S210的网页预处理过程为步骤S310,将网页解析成文档对象模型DOM树依次读入网页的内容,识别每个HTML标签的名称、类别、参数和内容,以树状结构进行存储,从而形成网页的DOM树;步骤S320,清理DOM树中的无用节点,所述无用节点是指与主题信息抽取无关的节点,包括脚本、样式控制信息和注释。更进一步,所述步骤S240的网页分块过程为步骤S410,根据DIV树中div节点的语义属性对网页进行分块;步骤S420,对步骤S410的分块结果根据视觉属性判断是否合理;视觉属性是步骤S230保存的节点的背景颜色和节点中包含字体的颜色、大小、粗细,对应设置权值分别为α、β、Y、ω;定义一个权值函数f(a,β,Y,ω)来判断当前块是否再可分;当函数值大于设定的阈值R时,说明当前块可再分,否则就不再可分;接下来,再利用以下判定规则判断相邻分块间内容上的差异度,具体规则如下(I)相邻两块的距离越远,差异度越大,设置权值就越大;(2)相邻两块的背景色不同,差异度越大,设置权值就越大;(3)对于上下相邻的两块,如果块中字体的大小特征差异性越大,则权值越大;如果上方分块中的字体大小要小于下方分块中的字体,则权值较大,字体大小差异越大,权值越大;但是当两侧分块中的内容较为相似时,则设置权值就较小。通过上述规则,如果相邻两块的权值小于所设定的阈值T时就合并,否则就不合并。所述步骤S310中,采用基于改进的Firefox网页解析算法的网页树结构分析算法来建立DOM树结构。本发明的技术构思为该方法不依赖于单个网页文档之外的信息,仅依据各个节点的内部特征信息,结合网页的语言描述特点,有效提取主要内容。由于爬取的网页并不一定是主题页,本发明的目的是针对主题页信息提取,首先从HTML页面中判断出主题页,然后从主题页中准确快速地提取需要的相关信息。在判断网页类型的前提下,通过网页本身视觉的布局特点和自然语言处理的相关统计技术来完成对网页类型区分和主题页内容的自动提取。根据网页链接个数、文本长度、链接长度,判断出导航页。根据节点语义属性和视觉属性,对网页进行分块,再根据网页中块的属性判断出主题页,提取对应网页的正文内容,并按照节点视觉属性和标签属性值,提取标题和发表时间。对前两个发明采取错误半自动增量学习的方法,对判断错误的网页或者是提取内容不准确的网页,采取人工设置干预的方法,提取错误特征。建立错误特征模板,判断网页是否模板匹配。本发明的有益效果主要表现在适用性良好、兼有较好实时性。图I示出了根据本发明实施例的主题页信息提取方法的总体流程图;图2具体示出了图I所示的步骤SllO对网页分割处理的流程图;图3具体示出了图2所示步骤S210对网页预处理的流程图;图4示出了图2步骤S230处的网页分块过程图5具体示出了为图4步骤S410处的分块过程;图6示出了对示例性输入网页进行分割处理的示意图;图7示出了与图5的输入网页相对应的部分DOM树及其中的文本节点的示意图;图8具体示出了图I所示步骤S140的网页信息提取的流程图;图9示出了示例性输入网页最终的提取结果;图10示出了针对错误网页集提出增量学习的流程图;图11示出了加入增量学习后主题页信息提取的流程图;图12示出了主题页信息提取模块图。具体实施例方式下面结合附图对本发明作进一步描述。参照图I图12,一种提取网页内容的实现方法,其可以实现在网页是主题页的前提下,实现高效的网页内容(面包线、标题、发表时间、关键字、正文)提取,减少提取内容的缺失和噪声,尽可能地保证提取内容的完整性和正确性。下面参照附图详细描述根据本发明实施例的网页内容提取方法。图I示出了根据本发明实施例的主题页信息提取方法的总体流程图。首先,在步骤SllO处,对整个网页进行分割处理,以将网页中相关联的内容分割为至少一个布局块。对网页的分割可以采用任何技术,目的是尽量按照网页的布局结构将网页分割成不同的布局块。在本发明的实施例中,采用了基于DOM树的网页分割处理。接下来,在步骤S120处,是对网页类型进行判断。将网页分为三种类型导航页、列表页、主题页。导航页通常不会描述一件事物,而是提供相关网页的超链接,因此网页中超链接密集,而非链接的文字很少;列表页和导航页类似,导航页中会提供关于多种事物的相关网页的超链接,而列表页中只提供关于一种事物的相关链接,有时会对这个链接的内容做一个简单的介绍,并且这些记录的结构大体是相同的;主题页通常通过成段的文字或表格描述一个或多个主题,虽然也有图片和超链接,但这些图片和超链接并不是网页的主体。根据步骤SllO中统计的根节点的链接总长度α、文本总长度β、链接总个数Y,定义链接密度为$,设定一定的阈值R,T(R是链接密度的阈值,T是链接总个数的阈值),判断出导航页。接下来就不对这一类网页进行判断,这一步可以减少后面步骤不必要的操作。接下来,在步骤S130处,对步骤SllO中所分块,进行块属性的判断(导航块、列表块、主题块)。最后,在步骤S140处,根据主题块或列表块得到主题页,并提出所需的主题页信肩、O根据本发明的一个具体实施例,图I所示的步骤SllO对网页进行分割处理的流程图如图2所示,其具体包括在步骤S210处,将输入的网页进行预处理。首先将网页解析为文档对象模型树,对模型树进行处理,将无关的节点删除(如注释节点、空格文本节点等)。在步骤S220处,构建新的DOM树。因为当前的文档对象模型树不能保存所需要的信息,需要对DOM树中节点定义所需要的语义属性链接个数、链接长度、文本长度、无关词长度等,并将标签为table的节点改为div(为后面的处理需要)。在步骤S230处,统计文档模型树中每个节点的语义信息(链接总个数、链接长度、文本长度、无关词长度等),以及每个节点的视觉属性(背景颜色和字体的大小、粗细、颜色),为后面的分块和信息提取作准备。在步骤S240处,首先构建只包含div节点的DIV树,根据设定的阈值,利用标签的语义属性进行分块。该算法是在文档对象模型树上由下而上对相应的节点进行判断。图3具体示出了根据图2步骤S210的网页预处理过程。如图3所示,在步骤S310处,将网页解析成文档对象模型DOM树。在示例中,将网页解析成DOM树的处理包括依次读入网页的内容,识别每个HTML标签的名称、类别、参数和内容,以树状结构进行存储,从而形成网页的DOM树。更具体地,例如,可以采用基于改进的Firefox(火狐,一种开源浏览器)网页解析算法的网页树结构分析算法来建立DOM树结构。或者。接着,如图3所示,在步骤S320处,清理DOM树中的无用节点。所谓无用节点主要是指与主题信息抽取无关的节点,如脚本(Script)、样式控制信息(Style)、注释(Comment)等。图4具体示出了图2步骤S240处的网页分块过程。如图4所示,在步骤S410处,根据DIV树中div节点的语义属性对网页进行分块。图5示出了图4步骤S410的具体分块过程。在步骤S420处,对步骤S410的分块结果根据视觉属性判断是否合理。视觉属性是图2步骤S230保存的节点的背景颜色和节点中包含字体的颜色、大小、粗细,对应设置权值分别为α、β、Y、ω。在这里定义一个权值函数f(a,β,Y,ω)来判断当前块是否再可分。当函数值大于设定的阈值R时,说明当前块可再分,否则就不再可分。接下来再利用一下规则判断相邻分块间内容上的差异度。具体规则如下(I)相邻两块的具体越远,差异度越大,设置权值就越大;(2)相邻两块的背景色不同,差异度越大,设置权值就越大;(3)对于上下相邻的两块,如果块中字体的大小等特征差异性越大,则权值越大;如果上方分块中的字体大小要小于下方分块中的字体,则权值较大,字体大小差异越大,权值越大。但是当两侧分块中的内容较为相似时(如都是纯文本信息时),则设置权值就较小。通过上面的规则,如果相邻两块的权值小于所设定的阈值T时就合并,否则就不I=ITTO图6示出了对示例性输入网页进行分割处理的示意图,其中该图的上半部分示意性地示出了输入网页,而下半部分示意性地示出了所产生的各布局块及其中的识别文本(只表示其中的一部分)。图7示出了图6中示例性输入网页的对应DOM树。对于图I的步骤S120中的网页类型判断,其基本做法是,根据文档对象模型树根节点的链接个数、链接长度、文本长度,判断出导航页,为后面进一步主题页的判断做准备。根据本发明的一个具体实施例,图I所示的步骤S140的主题页信息提取的流程图如图8所示,其具体包括在步骤S810,根据图I步骤S130处判断各块的属性,并不是只包含主题块的网页才是主题页。有两种情况第一种,如果存在主题块,根据链接密度、标点符号个数判断是否为主题页;第二种,如果不存在主题块,根据列表块的个数进行判断,若小于阈值L,对应网页就是主题页,否则不是。在步骤S820处,提取主题页中主题块。在步骤S830处,一种方法可以根据图2步骤S230处保存的视觉属性提取标题和发表时间。另一种方法可以通过主题块的位置来判断标题和发表时间的位置(需要用到正则表达式和标签的属性)。图9示出了示例性输入网页最终提取的结果。由于会存在一定网页类型判断错误或网页内容提取不正确的网页,所以增加一个步骤一半自动的增量学习。根据本发明添加错误半自动增量学习,如图10,是针对错误的原始网页集,采取抽样调查的统计方法,提取网页错误特征提取(如图片、URL特征、DIV节点特征等),根据这些特征建立错误特征模板。根据图10建立的错误特征模板,主题信息提取的流程图如图11,当输入网页首先与错误特征模板匹配,如果不匹配,就图I的流程运行,否则就分别对出现判断网页类型、主题信息提取网页进行增量学习。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。并且还需要说明的一点是,为了避免不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构或处理步骤,而省略了与本发明关系不大的其他细节。为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。权利要求1.一种提取网页内容的实现方法,其特征在于所述实现方法包括以下步骤步骤S110,对整个网页采用DOM树进行分割处理,以将网页中相关联的内容分割为至少一个布局块;步骤S120,对网页类型进行判断,根据统计的根节点的链接总长度α、文本总长度β、链接总个数Y,定义链接密度为$,设定R是链接密度的阈值,T是链接总个数的阈值,如果当前的布局块的链接密度和链接总个数均大于阈值,则判定为导航页;步骤S130,对所述布局块进行块属性的判断,如果存在主题块,根据链接密度、标点符号个数判断是否为主题页;如果不存在主题块,根据列表块的个数进行判断,若小于阈值L,对应网页就是主题页,否则不是;步骤S140,根据主题块或列表块得到主题页,并提取所需的主题页信息。2.如权利要求I所述的一种提取网页内容的实现方法,其特征在于所述步骤SllO中,网页进行分割处理的流程为步骤S210,将输入的网页进行预处理首先将网页解析为文档对象模型树,对模型树进行处理,将注释节点和空格文本节点删除;步骤S220,构建新的DOM树,对DOM树中节点定义所需要的语义属性链接个数、链接长度、文本长度和无关词长度,并将标签为table的节点改为div;步骤S230,统计文档模型树中每个节点的语义信息,所述语义信息包括链接总个数、链接长度、文本长度和无关词长度,以及每个节点的视觉属性,所述视觉属性包括背景颜色和字体的大小、粗细、颜色,为后面的分块和信息提取作准备;步骤S240,首先构建只包含div节点的DIV树,根据设定的阈值及判定规则,利用节点统计的语义属性进行分块,判断的顺序是由下而上。3.如权利要求I或2所述的一种提取网页内容的实现方法,其特征在于所述步骤S210的网页预处理过程为步骤S310,将网页解析成文档对象模型DOM树依次读入网页的内容,识别每个HTML标签的名称、类别、参数和内容,以树状结构进行存储,从而形成网页的DOM树;步骤S320,清理DOM树中的无用节点,所述无用节点是指与主题信息抽取无关的节点,包括脚本、样式控制信息和注释。4.如权利要求2所述的一种提取网页内容的实现方法,其特征在于所述步骤S240的网页分块过程为步骤S410,根据DIV树中div节点的语义属性对网页进行分块;步骤S420,对步骤S410的分块结果根据视觉属性判断是否合理;视觉属性是步骤S230保存的节点的背景颜色和节点中包含字体的颜色、大小、粗细,对应设置权值分别为α、β、Y>ω;定义一个权值函数f(a,β,Y,ω)来判断当前块是否再可分;当函数值大于设定的阈值R时,说明当前块可再分,否则就不再可分;接下来,再利用以下判定规则判断相邻分块间内容上的差异度,具体规则如下(1)相邻两块的距离越远,差异度越大,设置权值就越大;(2)相邻两块的背景色不同,差异度越大,设置权值就越大;(3)对于上下相邻的两块,如果块中字体的大小特征差异性越大,则权值越大;如果上方分块中的字体大小要小于下方分块中的字体,则权值较大,字体大小差异越大,权值越大;但是当两侧分块中的内容较为相似时,则设置权值就较小;通过上述规则,如果相邻两块的权值小于所设定的阈值T时就合并,否则就不合并。5.如权利要求3所述的一种提取网页内容的实现方法,其特征在于所述步骤S310中,采用基于改进的Firefox网页解析算法的网页树结构分析算法来建立DOM树结构。全文摘要一种提取网页内容的实现方法,包括以下步骤步骤S110,对整个网页采用DOM树进行分割处理,以将网页中相关联的内容分割为至少一个布局块;步骤S120,对网页类型进行判断,首先判断出导航页,并将导航页删除;步骤S130,对所述布局块进行块属性的判断,如果存在主题块,根据链接密度、标点符号个数判断是否为主题页;如果不存在主题块,根据列表块的个数进行判断,若小于阈值L,对应网页就是主题页,否则不是;步骤S140,根据主题块或列表块得到主题页,并提取所需的主题页信息。本发明提供一种适用性良好、兼有较好实时性的提取网页内容的实现方法。文档编号G06F17/30GK102663023SQ201210078159公开日2012年9月12日申请日期2012年3月22日优先权日2012年3月22日发明者刘崟,刘金玉,田宁,谭磊申请人:浙江盘石信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1