网页内容抽取方法和网页内容抽取系统的制作方法

文档序号:6512484阅读:201来源:国知局
网页内容抽取方法和网页内容抽取系统的制作方法
【专利摘要】本发明提供了一种网页内容抽取方法和和网页内容抽取系统。该网页内容抽取方法包括:提取网页对应的DOM树结构;遍历DOM树,获取DOM树中各结点的维度特征;将各结点的维度特征按照预定规则输入决策树,对各结点进行分类,并根据决策树的分类结果确定网页的结构分块;按照结构分块选择性抽取相应的网页内容。利用本发明的技术方案,根据网页的DOM树结构进行结构分块,根据结构分块过滤掉无关块的内容,抽取出需要的分块的网页内容,分块和抽取过程中不需要使用人工规则,解决了人工规则效率低、维护复杂的问题。
【专利说明】网页内容抽取方法和网页内容抽取系统
【技术领域】
[0001]本发明涉及互联网领域,具体而言,涉及一种网页内容抽取方法和网页内容抽取系统。
【背景技术】
[0002]一般而言,网页包含的信息丰富而复杂,可以包括有导航、标题、正文、时间、甚至广告等内容。为了在网页中抽取有效的内容,就需要对网页进行精细的分析。在现有技术中,对网页内容抽取的方法存在两种处理方式。
[0003]第一种为利用人工设置规则对页面中固定某一区域的内容进行抽取,
[0004]第二种为人为地对页面编译语言进行手工标注从而形成网页构造模板,对于大多数简易的网页可以基于网页信息的位置总结出一定的模板形式,这样在抽取一网页信息时,只需要按照该网页对应的模板抽取相应的内容。
[0005]上述两种处理方式效率都较低,且存在通用性差,普适性不高的问题,尤其目前互联网中的网页形式千差万别,网页特征维度越来越大,甚至可以达到上百个维度,要从复杂的网页中总结出符合条件的经验公式或者建立标注模板,都是非常困难的。另外,对于维度较多的网页特征,编写出的人工规则必然也是十分繁杂,维护十分复杂;而且在网站改版时,此前的模板可能失效,从而导致抽取的内容出现偏差。

【发明内容】

[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网页内容抽取系统和相应的网页内容抽取方法。
[0007]依据本发明的一个方面,提供了一种网页内容抽取方法。该网页内容抽取方法包括:提取网页对应的DOM树结构;遍历DOM树,获取DOM树中各结点的维度特征;将各结点的维度特征按照预定规则输入决策树,对各结点进行分类,并根据决策树的分类结果确定网页的结构分块;按照结构分块选择性抽取相应的网页内容。
[0008]可选地,遍历DOM树进一步包括:对DOM树进行后跟遍历,并通过累加当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征和/或累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征。
[0009]可选地,将各结点的维度特征按照预定规则输入决策树进一步包括:按照先跟遍历的顺序依次将DOM树中各结点的维度特征输入决策树。
[0010]可选地,根据决策树的分类结果确定网页的结构分块的步骤进一步包括:根据决策树对DOM树中各结点的分类结果构建网页的第一分块序列,其中第一分块序列包括多个结构分块;将第一分块序列输入条件随机场进行优化计算,得到第二分块序列,其中第二分块序列包括一个或多个经优化后的结构分块。
[0011]可选地,结点的维度特征至少包括以下的任意一项或多项:文本长度、超链接个数、超链接文本长度、高亮文本长度、中文字符长度、英文字符长度、数字字符长度、特定关键词、特定标点符号。
[0012]可选地,网页结构分块的类型至少包括以下的任意一项或多项:导航块、标题块、正文块、日期块、时间块、广告块、作者信息块、垃圾块、目录块。
[0013]根据本发明的另一方面,提供了一种网页内容抽取系统。该网页内容抽取系统包括:D0M树提取器,适于提取网页对应的DOM树结构;D0M树遍历器,适于遍历DOM树,获取DOM树中各结点的维度特征;决策树分类器,适于将各结点的维度特征按照预定规则输入决策树,对各结点进行分类,并根据决策树的分类结果确定网页的结构分块;内容抽取器,适于从按照网页结构分块中选择性抽取相应的网页内容。
[0014]可选地,DOM树遍历器还适于:对DOM树进行后跟遍历,并通过累加当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征和/或累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征。
[0015]可选地,决策树分类器进一步包括:输入模块,适于按照先跟遍历的顺序依次将DOM树中各结点的维度特征输入决策树。
[0016]可选地,本发明提供的网页内容抽取系统进一步包括:条件随机场处理器,适于对第一分块序列进行优化计算,输出第二分块序列,其中第一分块序列由决策树计算器输出网页的结构分块构建,包括多个结构分块,第二分块序列包括一个或多个经优化的分块。
[0017]本发明的网页内容抽取方法根据网页的DOM树结构进行结构分块,根据结构分块过滤掉无关块的内容,抽取出需要的分块的网页内容,分块和抽取过程中不需要使用人工规则,解决了人工规则效率低、维护复杂的问题。
[0018]进一步地,本发明的网页内容抽取方法中遍历得到DOM树结点的维度特征,经过决策树的分类以及条件随机场的优化计算,分块准确度高,能够满足对复杂多变的网页进行处理的需要。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0020]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【专利附图】

【附图说明】
[0021]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0022]图1示出了一种常见的页面结构的分块示意图;
[0023]图2示出了另一种常见的页面结构的分块示意图;
[0024]图3示意性地示出了根据本发明一个实施例的网页内容抽取系统100的框图;
[0025]图4示意性地示出了根据本发明一个实施例的网页内容抽取方法的流程图;以及
[0026]图5至图8示意性地示出了利用本发明一个实施例的网页内容抽取方法过程中网页元素的变化过程。【具体实施方式】
[0027]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0028]本发明实施例的技术方案是基于对页面分块提出,也就是将页面按照内容划分成不同类型的“块”。图1和图2分别示出了两种常见的页面结构,其中,图1示出的论坛网站的页面被分为8个块,分别为:导航块、垃圾块、翻页、垃圾块、标题块、作者信息块、发表日期块、正文块。网站的功能和作用不同,其结构分块也是不同的,在图2示出的新闻网站的页面结构较为简单,可以分为导航块、标题块、时间块、正文块等。一般而言,正文块中包含的内容是整个页面的核心内容,也是需要抽取的网页内容。除以上两个典型页面中的分块夕卜,根据页面的内容和版面可以灵活地增加或减少页面分块。
[0029]在确定出页面的分块类型后,可以使用本发明实施例提供的网页内容抽取系统和网页内容抽取方法,查找出需要抽取的页面分块,抽取该分块内相应的网页内容。无需人工制定规则或人工标注,分块准确度高,能够满足对复杂多变的网页进行处理的需要。
[0030]图3示意性地示出了根据本发明一个实施例的网页内容抽取系统100的框图。如图3所示,网页内容抽取系统100包括:D0M树提取器110、D0M树遍历器120、决策树分类器130、内容抽取器130。其中,DOM树遍历器120适于遍历DOM树,获取DOM树中各结点的维度特征;决策树分类器130适于将各结点的维度特征按照预定规则输入决策树,对各结点进行分类,并根据决策树的分类结果确定网页的结构分块;内容抽取器130适于从按照网页结构分块中选择性抽取相应的网页内容。
[0031]以上DOM树提取器110可以提取出网页对应的DOM树结构。DOM是文档对象模型(Document Object Model)的英文缩写。根据W3C DOM规范,DOM是一种与浏览器、平台、语言无关的接口,利用DOM可以方便访问页面其他的标准组件。DOM是以层次结构组织的结点或信息片断的集合。这个层次结构允许开发人员在树中导航寻找特定信息。分析DOM结构通常需要加载整个文档和构造层次结构。并且由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM把HTML文档呈现为带有元素、属性和文本的树结构。在得到目标的网页后,DOM树提取器110可以使用Webkit等浏览器引擎,分析网页的HTML文档,将网页解析成DOM树。
[0032]DOM树遍历器120遍历由DOM树提取器110得出的DOM树,获取该DOM树中各结点的维度特征。在本实施例中,可以使用的维度特征多达105个,主要涉及以下内容:文本长度、超链接个数、超链接文本长度、高亮文本长度(包含加大加粗的文字)、各种特殊字符个数、中文、英文、数字字符长度、是否出现关键词或特定符号,以及管检测或特定符号出现频率等。
[0033]DOM树遍历器120遍历DOM树的过程可以采用后跟遍历的方式进行,并通过累加当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征或累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征。后跟遍历的遍历顺序为:依次遍历左子树、右子树、根结点,采用这种方式进行遍历,获取父结点的维度特征时,可以通过累加子结点的特征进行,避免了重复计算。其中,当前遍历结点自身不带有维度特征时,该结点的维度特征通过累加当前遍历结点的所有子结点的维度特征得到。在当前遍历结点自身带有维度特征时,该结点的维度特征通过访问根结点累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到。通过遍历可以得到DOM树所有结点的维度特征。
[0034]决策树分类器130中可以包括输入模块,该输入模块将DOM树遍历器120输出的各结点的维度特征按照预定规则输入决策树对各结点进行分类,以上预定规则可以优选采用先跟遍历的方式进行,依次将一个结点最多105个维度特征输入决策树。先跟遍历的遍历顺序为:依次遍历根结点、左子树、右子树、采用这种方式进行遍历。利用决策树进行页面的初步分块,得到第一分块序列。
[0035]决策树是在已知各种分块中各种维度特征的统计数据的基础上,通过构成决策树来利用结点的维度特征得出DOM中结点对应的分块类型。进一步地,本实施例的网页内容抽取系统还可以包括:条件随机场处理器,适于对上述决策树分类器130得出的第一分块序列进行优化计算,输出第二分块序列,其中第一分块序列由决策树计算器输出网页的结构分块构建,包括多个结构分块,第二分块序列包括一个或多个经优化的分块。
[0036]条件随机场处理器,利用条件随机场(conditional random fields,简称CRF)对分块序列进行优化计算,提高分块的准确率和召回率,其中,将决策树计算器输出网页的结构分块构建的第一分块序列作为CRF的输入,CRF在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,即输入给定观察序列,求取最佳序列。从而因此利用CRF可以对决策树的分类结果进行纠正,提高了分块效果。
[0037]内容抽取器130按照决策树分类器130确定出的网页结构分块,选择性地抽取相应分中的网页内容,从而得到需要要信息,完成网页内容的抽取。
[0038]本实施例还提供了一种网页内容抽取方法,该网页内容抽取方法可以由以上介绍的任一种网页内容抽取系统执行,利用DOM树进行页面分块,并抽取对应分块的网页内容。图4示意性地示出了根据本发明一个实施例的网页内容抽取方法的流程图。如图4所示,该网页内容抽取方法包括:
[0039]步骤S402,提取网页对应的DOM树结构;
[0040]步骤S404,遍历DOM树,获取DOM树中各结点的维度特征;
[0041]步骤S406,将各结点的维度特征按照预定规则输入决策树,对各结点进行分类,并根据决策树的分类结果确定网页的结构分块;
[0042]步骤S408,按照结构分块选择性抽取相应的网页内容。
[0043]在以上步骤中,步骤S402具体采用对DOM树进行后跟遍历的方式进行DOM树的遍历,而且并通过累加当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征和/或累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到当前遍历结点的维度特征。采用后跟遍历的遍历方式,在获取当前结点的维度特征时,可以通过累加其子结点的特征进行,避免了重复计算。例如,当前遍历结点自身不带有维度特征时,该结点的维度特征通过累加当前遍历结点的所有子结点的维度特征得到。在当前遍历结点自身带有维度特征时,该结点的维度特征通过访问根结点累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到。从而可以得到DOM树所有结点的维度特征。
[0044]以上结点的维度特征至少包括以下的任意一项或多项:文本长度、超链接个数、超链接文本长度、高亮文本长度、中文字符长度、英文字符长度、数字字符长度、特定关键词、特定标点符号。在本实施例中可以使用的维度特征多达105个。
[0045]步骤S406中输入决策树的步骤具体可以采用按照先跟遍历的顺序依次将DOM树中各结点的维度特征输入决策树,利用决策树根据维度特征对结点进行分类,根据决策树对DOM树中各结点的分类结果构建网页的第一分块序列,将第一分块序列输入条件随机场进行优化计算,得到第二分块序列。经过条件随机场的计算,纠正决策树输出的第一分块序列可能出现的错误,提高了分块准确程度。
[0046]以上网页的结构分块可能包括以下任意一项或多项:导航块、标题块、正文块、日期块、时间块、广告块、作者信息块、垃圾块、目录块。具体的网页分块,可以根据网页根据页面的内容和版面可以灵活地增加或减少页面分块,以上第一分块序列和第二分块序列相当于构成了网页结构的“模板”。经过分块,对网页内容进行了分解,便于对需要的内容进行抽取。
[0047]图5至图8示意性地示出了利用本发明一个实施例的网页内容抽取方法过程中网页元素的变化过程。其中,图5示出了将HTML文档构建为DOM树的过程,在DOM树中,BODY代表了文档的主体,DIV和SPAN是网页中的块级元素,A、A、P、B分别代表了 DIV和SPAN内更下一级的元素。
[0048]得到类似于图5的DOM树后,进行后跟遍历,图6示出了 DOM树进行后跟遍历的顺序,根据图中示出的顺序,可以依次得到B、SPAN、P、A、A、DIV、BODY各个结点的维度特征。
[0049]图7示出了经过决策树运算得到的第一分块序列,在该序列中得到分块结果依次为导航块、正文块、时间块、正文块,出现了两个正文块,因此需要对决策树的初步分块结果进行优化和纠正。将第一分块序列的结果作为随机条件场的输入,进行优化运算,运算优化的输出结果为第二分块序列,该如图8所示,第二分块序列的分块结果为导航块、标题块、时间块、正文块。
[0050]根据内容抽取的需要,按照第二分块序列的分块结果可以将正文块的内容进行抽取,得到需要的信息。
[0051]本实施例的网页内容抽取方法和网页抽取系统根据网页的DOM树结构进行结构分块,根据结构分块过滤掉无关块的内容,抽取出需要的分块的网页内容,分块和抽取过程中不需要使用人工规则,解决了人工规则效率低、维护复杂的问题。
[0052]进一步地,本发明的网页内容抽取方法中遍历得到DOM树结点的维度特征,经过决策树的分类以及条件随机场的优化计算,分块准确度高,能够满足对复杂多变的网页进行处理的需要。
[0053]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0054]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0055]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0056]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0057]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网页抽取系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0058]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0059]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
【权利要求】
1.一种网页内容抽取方法,包括: 提取网页对应的DOM树结构; 遍历所述DOM树,获取所述DOM树中各结点的维度特征; 将所述各结点的维度特征按照预定规则输入决策树,对所述各结点进行分类,并根据所述决策树的分类结果确定所述网页的结构分块; 按照所述结构分块选择性抽取相应的网页内容。
2.根据权利要求1所述的网页内容抽取方法,其中,遍历所述DOM树进一步包括:对所述DOM树进行后跟遍历,并通过累加当前遍历结点的所有子结点的维度特征得到所述当前遍历结点的维度特征和/或累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到所述当前遍历结点的维度特征。
3.根据权利要求1所述的网页内容抽取方法,其中,将所述各结点的维度特征按照预定规则输入决策树进一步包括:按照先跟遍历的顺序依次将所述DOM树中各结点的维度特征输入决策树。
4.根据权利要求1至3中任一项所述的网页内容抽取方法,其中,根据所述决策树的分类结果确定所述网页的结构分块的步骤进一步包括: 根据决策树对所述DOM树中各结点的分类结果构建所述网页的第一分块序列,其中第一分块序列包括多个结构分块; 将所述第一分块序列输入条件随机场进行优化计算,得到第二分块序列,其中第二分块序列包括一个或多个经优化后的结构分块。
5.根据权利要求1至4中任一项所述的网页内容抽取方法,其中,所述结点的维度特征至少包括以下的任意一项或多项:文本长度、超链接个数、超链接文本长度、高亮文本长度、中文字符长度、英文字符长度、数字字符长度、特定关键词、特定标点符号。
6.根据权利要求1至4中任一项所述的网页内容抽取方法,其中,所述网页结构分块的类型至少包括以下的任意一项或多项:导航块、标题块、正文块、日期块、时间块、广告块、作者?目息块、垃圾块、目录块。
7.—种网页内容抽取系统,包括: DOM树提取器,适于提取网页对应的DOM树结构; DOM树遍历器,适于遍历所述DOM树,获取所述DOM树中各结点的维度特征; 决策树分类器,适于将所述各结点的维度特征按照预定规则输入决策树,对所述各结点进行分类,并根据所述决策树的分类结果确定所述网页的结构分块; 内容抽取器,适于从按照所述网页结构分块中选择性抽取相应的网页内容。
8.根据权利要求7所述的网页内容抽取系统,其中,所述DOM树遍历器还适于:对所述DOM树进行后跟遍历,并通过累加当前遍历结点的所有子结点的维度特征得到所述当前遍历结点的维度特征和/或累加当前遍历结点自身所带的维度特征以及当前遍历结点的所有子结点的维度特征得到所述当前遍历结点的维度特征。
9.根据权利要求7所述的网页内容抽取系统,其中,所述决策树分类器进一步包括:输入模块,适于按照先跟遍历的顺序依次将所述DOM树中各结点的维度特征输入决策树。
10.根据权利要求7至9中任一项所述的网页内容抽取系统,其进一步包括:条件随机场处理器,适于对第一分块序列进行优化计算,输出第二分块序列,其中所述第一分块序列由所述决策树计算器输出所述网页的结构分块构建,包括多个所述结构分块,所述第二分块序列包括一个或.多个经优化的分块。
【文档编号】G06F17/30GK103473338SQ201310432426
【公开日】2013年12月25日 申请日期:2013年9月22日 优先权日:2013年9月22日
【发明者】王志刚 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1