CN102073654A - 生成与维护网页内容抽取模板的方法和设备 - Google Patents
生成与维护网页内容抽取模板的方法和设备 Download PDFInfo
- Publication number
- CN102073654A CN102073654A CN2009102261081A CN200910226108A CN102073654A CN 102073654 A CN102073654 A CN 102073654A CN 2009102261081 A CN2009102261081 A CN 2009102261081A CN 200910226108 A CN200910226108 A CN 200910226108A CN 102073654 A CN102073654 A CN 102073654A
- Authority
- CN
- China
- Prior art keywords
- tree
- input
- web page
- node
- extraction template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了生成与维护网页内容抽取模板的方法和设备。所述生成网页内容抽取模板的装置包括:输入单元;权重计算单元,被配置成计算各个输入树中的每种类型的节点的权重;最大对齐关系计算单元;合并单元;确定单元;和选择单元。所述维护网页内容抽取模板的装置包括:相似度计算单元,计算出相似度序列;统计量计算单元,利用预定大小的窗口遍历所述相似度序列并计算窗口中的统计量;统计量判断单元,根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和重新计算单元。本发明可以高效地自动生成网页内容抽取模板,并在由于网页发生变化而导致抽取模板失效或者准确度下降时,可以快速地自动重新生成网页内容抽取模板。
Description
技术领域
本发明属于互联网信息处理领域,尤其涉及一种生成网页内容抽取模板的方法和设备以及维护网页内容抽取模板的方法和设备。
背景技术
随着互联网的快速发展,互联网上的信息量每天都以惊人的速度增长。具有标记语言格式,例如超文本标记语言HTML格式的Web网页是主要的信息载体。目前的Web网页多为由数据库和模板生成的动态网页。通常一个网页中,除了包括主要的正文内容外,还包含广告、导航信息、版权信息等与正文无关的信息。
在信息搜索、信息过滤、文本分类、文本聚类、文摘等应用中,去除掉网页中的噪声信息并提取网页内容是非常重要的一步。比如在信息搜索中,在去除掉噪声信息的网页内容基础上建立索引可以有效地提高搜索的准确率;而在信息过滤、文本分类、文本聚类和文摘等应用中,准确的网页内容抽取对系统的性能有很大的提升作用。
可以利用网页内容抽取模板对相似的网页集合进行网页内容抽取。这种技术包括基于HTML特征来自动地或半自动地生成网页内容抽取模板,并利用生成的网页内容抽取模板来抽取网页内容。例如在CRESCENZI.V等人的“Towards Automatic Data Extraction form Large Web Sites”,In Proceedings of the 26th International Conference on Very Large Database Systems,Rome,Italy,2001,pp109-118)中公开了一种全自动的方法,其中在网页集合中完成对抽取规则的自动推导。
此外,在使用网页内容抽取模板进行网页内容抽取的实际过程中,往往会遇到“模板维护”的问题,即由于网页发生变化而导致抽取模板失效或者准确度下降。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的一个目的在于提供一种生成网页内容抽取模板的方法及设备。该方法及设备可以高效地自动生成网页内容抽取模板。
本发明的另一个目的在于提供一种维护网页内容抽取模板的方法及设备,以便可以快速地自动判断当前网页内容抽取模板是否适应输入的网页。并在判定不适应的情况下,从计算的发生变化的时刻起重新计算网页内容抽取模板。
本发明的另一个目的是提供在被计算设备执行时使计算设备能够执行上述方法的处理过程的计算机程序代码,以及其上存储有该计算机程序代码的计算机可读存储介质及计算机程序产品。
因此,本发明可以提高生成网页内容抽取模板的效率。此外,在被处理网页发生变化的情况下,本发明可以快速地自动重新生成网页内容抽取模板,这样实现了在不需要人工干预的情况下保持较高的准确率。
为了实现上述目的,根据本发明的一个方面,提供了一种生成网页内容抽取模板的装置,包括:输入单元,被配置成根据网页结构相似的多个输入网页中的每个输入网页,建立文档对象模型树,以作为输入树;权重计算单元,被配置成计算各个输入树中的每种类型的节点的权重;最大对齐关系计算单元,被配置成使用任何一个输入树作为初始联合树,利用计算出的权重来计算每个所述输入树和所述联合树之间的最大对齐关系;合并单元,被配置成利用计算出的所述最大对齐关系将所述输入树合并到所述联合树上;确定单元,被配置成确定所述联合树中最可能具有期望文本内容的节点;和选择单元,被配置成选择所述联合树中包含所确定的节点的子树作为所述网页内容抽取模板。
根据本发明的又一个方面,提供一种维护网页内容抽取模板的装置,包括:相似度计算单元,被配置成计算所述网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,以构成相似度序列;统计量计算单元,被配置成利用预定大小的窗口遍历所述相似度序列,计算所述相似度序列在窗口中的统计量;统计量判断单元,被配置成根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和重新计算单元,被配置成:在统计量判断单元判定所述网页内容抽取模板已不适应输入网页的情况下,用上述装置来重新计算网页内容抽取模板。
根据本发明的另一个方面,提供一种生成网页内容抽取模板的方法,包括:根据网页结构相似的多个输入网页中的每个输入网页,建立文档对象模型树,以作为输入树;计算各个输入树中的每种类型的节点的权重;使用任何一个输入树作为初始联合树,利用计算出的权重来计算每个所述输入树和联合树之间的最大对齐关系;利用计算出的所述最大对齐关系将所述输入树合并到所述联合树上;确定所述联合树中最可能具有期望文本内容的节点;和选择所述联合树中包含所确定的节点的子树作为所述网页内容抽取模板。
根据本发明的再一个方面,提供一种维护网页内容抽取模板的方法:计算所述网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,以构成相似度序列;利用预定大小的窗口遍历所述相似度序列,计算相似度序列在所述窗口中的统计量;根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和在判定所述网页内容抽取模板已不适应输入网页的情况下,用上述方法来重新计算网页内容抽取模板。
根据本发明的其它方面,还提供了相应的计算机程序代码、计算机可读存储介质和计算机程序产品。
附图说明
图1的框图示出根据本发明第一实施例的生成网页内容抽取模板的设备100的示例性结构。
图2是示出HTML代码和相应文档对象模型树的一个例子的示意图。
图3是示出根据本发明第一实施例的生成网页内容抽取模板的方法的流程图。
图4是示出权重计算单元的具体结构的示意图。
图5是示出计算输入树中的每种类型的节点的权重的流程图。
图6是示出根据本发明第二实施例的维护网页内容抽取模板的装置600的示意图。
图7是示出根据本发明第二实施例的维护网页内容抽取模板的方法的流程图。
图8a到图8c是示出两个输入树的匹配过程的示意图。
图9是示出相似度序列随时间变化的示意图。
图10a到图10j是示出一个示例性合并算法的示意图。
图11是示出寻找重复模式的示例性情形的示意图。
图12是示出了在其中可以实现根据本发明实施例的方法和/或装置的通用个人计算机的示例性结构的方框图。
具体实施方式
下面参照附图来说明本发明的实施例。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
图1的框图示出根据本发明第一实施例的生成网页内容抽取模板的设备100的示例性结构。以下结合图1来描述根据本发明第一实施例的生成网页内容抽取模板的设备100。
如图1所示,设备100包括输入单元101、权重计算单元102、最大对齐关系计算单元103、合并单元104、确定单元105和选择单元106。
输入单元101针对网页结构相似的多个输入网页集合中的每个输入网页,建立文档对象模型树,以作为输入树。对于一个网页,可以对其进行分析以得到其文档对象模型树。文档对象模型树是一个树结构,具有便于操作访问以及重新恢复原始网页的优点。通过依次读入网页的内容,识别每一个标签的名称、类别、参数和内容,通过父子关系来反映嵌套关系,可以得到这种文档对象模型树。
图2是示出HTML代码和相应文档对象模型树的一个例子的示意图。
图2a示出了示例性的HTML代码,其中通过缩进来表示嵌套关系。图2b示出了根据图2a示出的HTML代码获得的文档对象模型树,其中用圆圈表示节点,节点旁边的文字表示节点所对应的HTML元素,节点间的连线表示节点间的父子关系(即相应标签间的嵌套关系)。
目前大部分的网页(新闻、BBS(电子布告栏系统)、Blog(博客))是基于数据库和网页生成程序(例如脚本)生成的动态网页。由于存在这个特点,相同或类似网页生成程序所生成的网页会表现出结构方面的相似性。例如搜狐的论坛(http://club.sohu.com/)和新浪的论坛(http://bbs.sina.com.cn/)。或者进一步细分,比如搜狐的母婴论坛(http://club.baby.sohu.com/)和搜狐的汽车社区(http://bbs.auto.sohu.com/)、新浪的亲子论坛(http://bbs.baby.sina.com.cn/)和汽车论坛(http://bbs.auto.sina.com.cn/)等。
另外,同一类的网页在结构上是相似的。例如对于BBS帖子而言,帖子的格式(原帖的格式和回帖的格式)是统一的,变化的是帖子的内容和其它噪声信息(广告、其它链接);对于新闻网页而言,正文的格式往往是统一的,变化的是除正文以外的如广告和相关链接的信息。一般说来,网页的布局也相对稳定,对于同一版面下面同一时期的网页尤其如此。这些格式相对稳定和一致的正文或帖子的内容正是我们要抽取的内容。为了达到这个目的,可以根据一定数量的网页结构相似的网页来统计其规律,最终得到一个准确的抽取模板。
可以有各种方法来准备网页结构相似的多个输入网页。例如,可以确定特定URL,并且根据URL目录层次关系获取相似网页的集合。例如当得到搜狐的“车行天下”论坛中的某个网页时,可以找到其索引页面,通过索引页面下载在这个论坛中的其它的网页。将这些网页作为输入网页。再例如,在URL信息不是很明确或者在某个子目录下面网页太少的情况下,可以从已获得的网页集合中,通过计算与输入树中任意指定的初始联合树所基于的网页结构的相似度或差异度的办法,来获得输入网页。如果一个网页与初始联合树所基于的网页结构的相似度大于给定阈值(或差异度小于给定阈值),可以将该网页作为输入网页。当然,也可以预先人为指定输入网页。
文档对象模型树中的节点对应于HTML文档中的元素,而HTML文档中的元素在重要性上是有区别的。
例如,在语法上,HTML文档中的元素可以分为块元素(block level elements)和内联元素(inline elements)两种类型。块元素和内联元素的区别主要体现在两个方面。在内容模型方面,块元素可以包含其它块元素或者内联元素,而内联元素通常只能够包含内联元素或者数据。块元素通常表示了比内联元素更大的结构。在展现格式方面,块元素通常在新的一行上开始显示,而内联元素并不是这样的。因此,块元素的重要性显然应大于内联元素。
主要的块元素如下:
address、blockquote、center、dir、div、dl、fieldset、form、h1、h2、h3、h4、h5、h6、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul。
主要的内联元素如下:
abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、textarea、tt、u、var。
因此,在网页内容抽取模板的生成过程中,需要对不同的类型的HTML元素给予不同的权重以便体现HTML标签的区别,从而使生成的网页内容抽取模板更具实际意义。
因此,根据本发明的第一实施例中,利用权重计算单元102来精确地自动计算多个输入网页的输入树中出现的各种类型的节点的权重。
如上所述,给不同类型的节点设置权重可以体现出节点的实际重要性,但另一方面,权重设置会影响在随后的查找最大对齐关系的步骤中找到的最大对齐关系。不同的权重设置对应于不同的最大对齐关系。因为综合权重(一般来说是权重之和)最大的对齐关系对应于涵盖信息量最大的对齐关系,所以最优的权重设置应该是对应于综合权重最大的对齐关系的权重设置。
图5是示出计算输入树中的每种类型的节点的权重的流程图。在具体计算中,首先计算出输入网页集合的整体相似度,接着,计算可以使得该整体相似度最大的权重值。
如图5所示,处理在步骤S3021开始。接着,在步骤S3022,将多个输入网页的多个输入树中的两个输入树对齐。可以考虑节点的层次顺序以及以下因素中的至少一个来实现对齐:不同节点类型的优先级关系、预定的对齐层数、对齐节点的数量等等。接着,在步骤S3023,根据权重来计算这两个输入树的输入树相似度。接着,在步骤S3024判断是否还有未计算的输入树。如果还有未计算的输入树,则返回到步骤步骤S3022。如果已经完成多个输入树中两两之间的输入树相似度的计算,则处理进行到步骤S3025,其中将多个输入树中两两之间的输入树相似度之和作为多个输入网页集合的整体相似度,并计算出可以使该整体相似度最大的权重值作为权重值。可以利用许多方法进行计算。在本发明的一个优选实施例中,采用线性回归的方法进行计算。最后,处理在步骤S3026结束。
以下详细描述计算权重的具体处理过程。
首先,在步骤S3022,将两颗输入树对齐。图8示出了两个输入树的匹配过程。在图8中,示出了两颗输入树:图2所示的以节点201为根的输入树(以下称为树1),以及以节点301为根的输入树(以下称为树2)。
在开始匹配的时候,对于树1中的节点201(<div>),树2中有节点302、307、311(<div>)可以与之匹配。对树1中的节点202(<form>),树2中有节点303、308、312(<form>)可以与之匹配。当匹配到树1的节点203(<p>)的时候,树2中只有节点309和313(<p>)和其匹配。在继续匹配的时候,对于树1中的节点204(<input>),树2中只有节点314(<input>)可以与之匹配。节点310(<input>)虽然与其标签相同,但由于节点310和节点309(<p>)是兄弟关系,而在树1中,节点204(<input>)和节点203(<p>)是父子关系,所以节点310无法匹配上。匹配到目前状态下,活动路径上有4个标签(<div>,<form>,<p>,<input>),各个标签在树1中的序号依次为(1,2,3,4),在树2中的序号依次为(11,12,13,14)。序号满足顺序关系。图8a示出了该状态下的匹配关系,其中虚线表示匹配关系。
在继续匹配的时候,对树1中的节点205(<table>),在树2中可以找到节点304(<table>)与之匹配。但由于在树1中,节点205(<table>)的下标比前一个节点204(标签<input>)的序号大,而在树2中节点304(<table>)的序号就要比前一个节点310(<input>)的序号小,因而不满足序号的顺序关系,故而进行回溯,并将序列(<div>,<form>,<table>)加到一个新建的路径上。图8b示出了该状态下的匹配关系,其中虚线表示匹配关系。
按照这样的操作继续匹配下去,还可以得到匹配路径(<div>,<form>,<table>,<tr>,<td>)。图8c示出了该状态下的匹配关系,其中虚线表示匹配关系。
以上是通过层次关系和顺序关系得到的匹配关系,在得到这些匹配关系后,需要进一步考虑其它因素从中选出对齐关系。可以有很多种考虑的因素,例如节点的优先级、对齐的层数、对齐节点的数量等等。
在本发明的一个实施例中,可以考虑对齐节点的数量选出对齐关系。即将对齐节点的数量最多的匹配关系视为对齐关系。在这种情况下,树1和树2的对齐关系是图8c所示的匹配关系(<div>,<form>,<table>,<tr>,<td>)。
在本发明的另一个实施例中,可以考虑匹配节点的优先级关系来选出对齐关系。例如,如上所述,块元素的优先级应大于内联元素,因此,可以选出块元素数目最多的匹配关系作为对齐关系。在块元素数目相同的情况下,才进一步比较内联元素的数目。例如,在图8示出的节点中,div、form、p是具有较高优先级的块元素,在三种匹配关系即图8a所示的匹配关系(<div>,<form>,<p>,<input>)、图8b所示的匹配关系(<div>,<form>,<table>)、图8c所示的匹配关系(<div>,<form>,<table>,<tr>,<td>)中,图8a所示的匹配关系(<div>,<form>,<p>,<input>)中包含的具有较高优先级的块元素的数目最多。因此,树1和树2的对齐关系则是图8a所示的匹配关系(<div>,<form>,<p>,<input>)。
还可以有很多其它方法来选择对齐关系。例如,还可以通过对齐的层数来选择匹配关系作为对齐关系。当两棵树中出现某一层的节点完全对应一致的情况时,称为两颗树中的某一层对齐。因此,可以选择包含最多数目的对齐层的匹配关系(即选择对齐层数最多的匹配关系)作为对齐关系。
尽管在上文中只是描述了根据多个因素(例如节点的优先级、对齐的层数、对齐节点的数量等)中的一个因素来从匹配关系中选择对齐关系,但显然,也可以利用上述因素中的任意两个或更多个的组合来从匹配关系中选择对齐关系。
接着,在步骤S3023,根据权重来计算两个输入树的输入树相似度。
在计算中,用wi来表示某种类型节点的权重。
对于两个输入树Tm和Tn,用Dmn来表示二者的相似度。此处,相似度Dmn被定义为:两颗对象树Tm和Tn在对齐关系上的对齐节点的权重和。因此,Dmn可以被表示为:
在判定已经针对网页集合的输入树中的每两个输入树进行了对齐步骤和计算输入树的相似度的步骤之后,处理进行到步骤S3025。
在步骤S3025,计算权重。
首先,将网页集合中的多个输入树两两之间的相似度的总和定义为网页集合的整体相似度,用f表示该整体相似度为:
另外,权重应该满足归一化要求,因此,可以加入以下的约束:
如上所述,最优的权重设置应该是可以使多个输入网页集合的整体相似度最大的权重设置。因此,在保持f值最大的情况下求解上述方程(1)-(3)便可以计算出最优的权重值。
可以有很多方法来对上述方程(1)-(3)进行求解。在本发明的一个优选实施例中,通过线性回归的方法求解上述方程组来计算每种类型的节点的权重。
图4是示出权重计算单元具体结构的示意图。如图4所示,权重计算单元102包括:输入树相似度计算单元1021,被配置成计算多个输入树两两之间的相似度;第一计算单元1022,被配置成计算每种类型的节点的权重,使得所述多个输入树的基于两两之间相似度的整体相似度最大。其中,输入树相似度计算单元1021进一步包括:对齐单元10211,被配置成将两个输入树对齐;第二计算单元10212,被配置成根据所述两个输入树的对齐节点的权重来计算所述两个输入树之间的相似度。
回到图1,在权重计算单元102计算出每种类型的节点的权重后,最大对齐关系计算单元103可以利用权重来进一步地计算每个输入树和联合树之间的最大对齐关系。
最大对齐关系计算单元103首先使用多个输入树中的任何一个输入树作为初始联合树。接着,按照以上结合图8描述的方式,在初始联合树和另一输入树之间查找匹配关系。接着,根据权重计算单元102计算出的权重,在查找出的匹配关系中找出其中各个节点的权重和最大的匹配关系作为最大对齐关系。这样,最大对齐关系计算单元103计算出输入树和联合树之间的最大对齐关系。
回到图1,在得到两棵树的最大对齐关系后,合并单元104将输入树合并到联合树中。具体而言,合并单元104将输入树中每个对齐节点的内容累计到所述联合树中的相应对齐节点,并且根据输入树中的每个对齐节点在联合树中的相应对齐节点的位置以及输入树中的未对齐节点和对齐节点的位置关系,将输入树的未对齐节点插入到联合树中。
将输入树合并到联合树的目的是统计对齐节点的信息。对齐节点的比例越大,抽取出来的模板也就越准确。在合并的过程中也处理未对齐的节点。最终合并的结果就是将最大对齐子树体现在联合树上,并且未对齐的节点也要体现在联合树上。在将节点合并到联合树上的时候,可以有很多方法。
下面结合图10说明一个示例性合并算法。
假定联合树中前次操作的节点表示为pPrevSrc,本次操作的节点表示为pSrc,输入树中前次操作的节点表示为pPrevDst,本次操作的节点表示为pDst。循环退出标志为quit。
算法的基本处理包括:
初始化:将两棵树的根节点和根节点的第一个子节点分别赋给pPrevSrc、pSrc、pPrevDst、pDst。quit=0。
在quit=0的情况下,确定两棵树当前节点之间的关系(“联合树左向”、“联合树右向”等)。如果是“对齐状态”,则在联合树的相应节点上标明对齐状态。如果是“具有相同的对齐父节点”,则将输入树的节点pDst插入到联合树的节点pSrc的兄弟节点处,将pSrc插入到输入树pDst的兄弟节点处,将这两个节点都打上未对齐标记。如果是“联合树左向”,则查找pSrc的父节点在输入树上的对齐节点pParentDst,查找pSrc的左兄弟节点在输入树上的对齐节点pLeftDst,将pSrc插入到pParentDst的子节点pLeftDst的右侧(如果pLeftDst为空,则将pSrc插入到pParentDst的第一个子节点处)。如果是“联合树右向”,则查找pDst的父节点在输入树上的对齐节点pParentSrc,查找pSrc的左兄弟节点在输入树上的对齐节点pLeftSrc,将pDst插入到pParentSrc的子节点pLeftSrc的右侧(如果pLeftSrc为空,则将pDst插入到pParentSrc的第一个子节点处)。将当前的节点设为前次操作节点(pPrevSrc=pSrc;pPrevDst=pDst;)。从联合树和输入树上按先序遍历方式取下一个节点赋给当前节点pSrc和pDst并继续确定节点间关系及后续的处理。
如果pSrc和pDst都为空,则设置循环退出标志(quit=1)。
图10具体示出节点间各种关系的示例性情形。在图10中,一个圆圈代表一个节点。在每种关系中,如果某个节点在另外一棵树上找不到匹配的节点,则将这样的节点中间画上叉,以表明该节点找不到相匹配的节点。在这里,只表示出节点之间的父子关系,用一条实斜线连接的同一棵树上的两个节点,上面的节点是下面节点的父节点。另外,也表示出两棵树之间的节点的关系。用一个水平的虚线连接的两个节点是对齐的节点。
在上述算法的过程中,依次遍历两棵树,根据节点之间的不同关系来合并树。图10a~10j示出了这些关系的定义。在合并的过程中,根据前次处理的节点(PreSrc和PreDst分别表示前次处理的联合树节点和输入树节点)和本次处理的节点(Src和Dst分别表示本次处理的联合树节点和输入树节点)的关系来判断如何操作。
图10a和图10b表示出了当前的两个节点(Src和Dst)是对齐节点,且其父节点也是对齐的情况。所不同的是图10a中的当前节点的父节点就是前次处理的节点而且前次处理的节点是对齐的。而图10b中的当前节点的父节点不是前次处理的节点。这种情况,我们称之为“对齐状态”,在这种情况下,我们不需要任何的插入操作,只是在联合树的相应节点上标明对齐状态,例如累积输入树对齐节点的信息、对齐次数等等。
图10c和10d表示出了当前的两个节点(Src和Dst)都是在对应的树上找不到对齐节点的,但其父节点却是对齐节点的情况。所不同的是图10c中的当前节点的父节点就是前次处理的节点而且前次处理的节点是对齐的。而图10d中的当前节点的父节点不是前次处理的节点。这种情况我们称之为“具有相同的对齐父节点”。在这种情况下,相应的操作是:将输入树的节点Dst插入到联合树的节点Src的兄弟节点处,同时也将Src插入到输入树Dst的兄弟节点处(为了便于在联合树和输入树上的继续遍历),并将这两个节点都打上未对齐标记。
图10e~10g示出了输入树的当前节点(Dst)的对齐节点不是联合树的当前节点(Src)的情况,图10e中,Src在输入树上找不到对齐节点,PreSrc和PreDst是对齐的且分别是Src和Dst的父节点。图10f中,Src在输入树上找不到对齐节点,PreSrc和PreDst是对齐的,Src和Dst的父节点不是对齐的。图10g中,Src和Dst都能在对方树上找到对齐节点,但Src和Dst不是对齐节点,而Src和PreSrc是父子关系,但Dst和PreDst却不是父子关系。这种情况,称之为“联合树左向”,相应的操作是:将联合树的节点Src插入到输入树处,查找与Src节点的父节点对齐的输入树上的节点,通过该节点将Src插入到输入树上。将Src节点标记为未对齐节点。
图10h~10j示出了联合树的当前节点(Src)的对齐节点不是输入树的当前节点(Dst)的情况,图10h中,Dst在联合树上找不到对齐节点,PreSrc和PreDst是对齐的且分别是Src和Dst的父节点。图10i中,Dst在联合树上找不到对齐节点,PreSrc和PreDst是对齐的,Src和Dst的父节点不是对齐的。图10j中,Src和Dst都能在对方树上找到对齐节点,但Src和Dst不是对齐节点,而Dst和PreDst是父子关系,但Src和PreSrc却不是父子关系。这种情况,称之为“联合树右向”,相应的操作是:查找与Dst节点的父节点对齐的联合树上的节点,通过该节点将Dst插入到联合树上。将Dst节点标记为未对齐节点。
通过针对每个输入网页重复最大对齐关系计算单元103的查找最大对齐关系的处理以及合并单元104的将输入树合并到联合树上的处理,可以得到一棵经过多次合并的联合树。该联合树上各个节点经过了多次合并获得了对齐次数以及未对齐次数、累积的节点的内容等统计信息。
回到图1,根据这些统计信息,确定单元105确定联合树中最可能具有期望文本内容的节点。可以根据不同的标准来确定最可能具有期望文本内容的节点。
以最可能文本内容块为例,在联合树上抽取模板的过程中,首先确定容易判断的大块内容文本位置(内容文本是指希望抽出的网页中的内容文本),然后通过大块内容文本的位置的标签查找可能的重复模式,通过这样的步骤找到所有的内容文本位置。通过这样的方法,不但可以抽取仅包含单一正文的网页的内容(比如新闻网页,其中只有一块集中的正文内容,其它的则为广告或相关链接等和网页正文内容关系不大的信息),而且通过查找重复模式(如下文所述),可以抽取出包含多个正文内容的网页(比如bbs上的帖子,一个bbs的网页往往包含多个帖子,如果只抽取一个帖子的内容,则会丢失很多信息,而如果将所有的帖子当作一个帖子内容来处理的话,又会带来很多噪声)。
本发明一个具体实施例所采用的方法是,通过联合树上的节点的链接文本信息、固定文本信息、可变文本信息占整个节点所有文本长度的比例来确定该节点作为内容文本节点的可能性。由于联合树是由多个网页统计得来的,每个节点上的各种统计信息都是大量网页统计的结果,这样就避免了在个别网页上得来的信息可能会有偏差的现象。举例说来,对于bbs的帖子而言,每个帖子的长度差别很大,有的帖子很长,会有几千或上万字。对包含这样帖子的网页,其中内容文本占整个文本的比例自然很大,也就很容易识别。但对有些帖子而言,却可能只包含几个字,如果使用文本长度所占比例这个方法的话,就会把这样的帖子当作噪声而忽略。但是,如果我们在很多帖子上进行统计的话,就可以消除个别帖子带来的噪声,大量的统计的结果是稳定的。
在本发明的一个具体的实施例中,我们采用如下的公式来确定内容文本块。
Tl=链接文本长度/整个节点文本长度
Tf=固定文本长度/整个节点文本长度
Tc=除固定文本以外的文本长度/整个节点的文本长度
score=c1*Tl+c2*Tf+c3*Tc
c1+c2+c3=1。
在本发明的一个具体的实施例中,采用c1=c2=c3=1/3。
判别内容文本块分两步。首先确定一个阈值,大于该阈值的节点被判定为内容文本节点。在所有的节点的score都小于该阈值的情况下,选取score最大的一个节点当作内容文本节点。这是因为,我们默认每个网页至少有一个内容文本块。如果所取的样本中,内容文本块中正文的长度都比较小,比如我们的样本中,恰好每个帖子的长度都比较短(当然这种情况不会经常发生,特别是在我们样本数量足够大的时候),这时我们还是要从中选择一个内容文本块的。这时我们就采用score最大的节点当作内容节点。
回到图1,选择单元106选择联合树中包含所确定的最可能具有期望文本内容的节点的子树作为网页内容抽取模板。
优选地,选择单元106可以在联合树中查找包含所确定的节点、重复出现的子树,作为网页内容抽取模板。
在得到最可能的内容文本块的节点以后,查找和该节点具有相同结构的重复模式(即子树)。利用重复模式来发现那些由于特征不明显而很难通过常规的手段发现的内容文本块节点。例如,在图11所示的模式中,如果在第一个块701中的div处判断为内容文本块,通过查找重复模式,可在块703处找到块701所示的模式,因而将第3个块703的div处也判断为内容文本块。
在查找的过程中,可以约束具备重复模式的节点:其子节点也应该具有同样的结构。比如块701中的tr和第三个块703中tr因为子节点是一样的所以被判定为具有相同模式的节点。而第一个块701中的tr和第二个块702中的tr因为子节点的结构不完全相同,所以没有被认定为重复节点。也就是说,在查找重复模式的过程中,对重复模式中的每一个节点的子节点采用元素名称一致性、层次一致性的约束。只有节点本身以及其所有的子节点都满足元素名称一致性、层次一致性的约束的节点才被列为候选的重复模式中的节点。
优选地,在判断的过程中,可以为重复模式的次数作限制。使用一个阈值DEF_COUNTER,规定只有重复次数大于该值才能被判定为重复模式。
图3是示出根据本发明第一实施例的生成网页内容抽取模板的方法的流程图。
如图3所示,方法从步骤S300开始。在步骤S301,针对多个相似输入网页中的每个输入网页建立输入树。在步骤S302,计算各个输入树中的每种类型的节点的权重。可通过参照图1的实施例描述的方法来计算各种节点的权重。在步骤S303,计算输入树和联合树之间的最大对齐关系。在步骤S304,利用计算的最大对齐关系,将输入树合并到联合树上。在步骤S305,确定是否还有未处理的输入网页。如果有,则返回步骤S303;否则执行步骤S306,在步骤S306,确定联合树中最可能具有期望文本内容的节点。在步骤S307,选择联合树中包含所确定的最可能具有期望文本内容的节点的子树作为网页内容抽取模板。然后,方法在步骤S308结束。
在通过上述方法得到网页内容抽取模板后,可以利用网页内容抽取模板对输入网页进行抽取。利用网页内容抽取模板来对输入网页进行内容抽取的方法包括:根据输入网页建立文档对象模型树;在所述文档对象模型树中搜索与所述网页内容抽取模板匹配的子树;和从所述子树中与所述网页内容抽取模板的最可能具有期望文本内容的节点相对应的节点抽取内容。
但是,在抽取过程中,当网页模板改变后,如果仍使用当前模板进行抽取,则会造成抽取结果不准确甚至是完全错误。针对这个问题,在本发明第二实施例中,进一步提出了维护网页内容抽取模板的方法和装置,其用于判断当前的网页内容抽取模板是否已经不适应输入网页,并在判定不适应的情况下重新计算网页内容抽取模板。
在根据本发明第二实施例的技术方案中,首先计算当前网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,由此得到一个相似度序列。然后,通过统计方法来分析该相似度序列,以便判断当前的网页内容抽取模板是否已经不适应输入网页。
在通过统计方法进行判断的过程中,可以根据任意合适的统计量进行分析。例如,可以使用似然比、均值、方差等任意合适的统计量。在本发明的一个优选实施例中,选择对数似然比作为统计量。选择对数似然比的优势在于:(1)它既适用于大量样本的统计,也适用于小样本量的统计;(2)可以把那些从大量样本统计出来的数据跟那些从少量样本统计出来的数据直接比较;(3)渐进性好于传统的同现统计模型。
此外,可以使用任意合适的分析方法进行分析。例如,可以使用假设检验的方法、阈值比较的方法等。在本发明的一个优选实施例中,使用假设检验的方法。而在本发明的另一个优选实施例中,则使用阈值比较的方法。
以下结合图6具体地描述根据本发明第二实施例的维护网页内容抽取模板的设备200。
图6的框图示出根据本发明第二实施例的维护网页内容抽取模板的设备600的示例性结构。如图6所示,维护网页内容抽取模板的设备600包括相似度计算单元601、统计量计算单元602、统计量判断单元603以及重新计算单元604。
参见图6,相似度计算单元601计算依次输入的网页和当前的网页内容抽取模板之间的相似度,由此得到一个相似度序列。如前所述,网页内容抽取模板实际上是最终得到的联合树上的一颗子树,因此也呈现为文档对象模型树的形式。因此,输入网页与网页内容抽取模板的相似度被定义为输入网页的输入树与网页内容抽取模板的最大对齐关系上的权重之和。可以根据本发明第一实施例的计算权重的方法和查找最大对齐关系的方法,来计算输入树与网页内容抽取模板中的节点权重以及二者之间的最大对齐关系。这样,针对依次输入的网页,可以得到一个相似度序列。
得到该相似度序列之后,需要利用统计方法对该相似度序列进行分析,以便判断当前的网页内容抽取模板是否已经不适应输入网页。
参见图6,在得到相似度序列之后,统计量计算单元602计算该相似度序列的统计量在时间窗口的值。具体来说,利用预定大小的窗口遍历所述相似度序列,并计算相似度序列的统计量在该窗口中的值,得到相应的统计量序列。
该预定大小的窗口可以是任意的预定大小的时间窗口。例如,如图9所示,该时间窗口为从t0时刻到ta时刻的时间段,且设定该时间段的长度为m,即m=ta-t0。或者,在输入网页是按时间顺序输入的情况下,该窗口可以是包含预定数量的网页的窗口。
此外,该统计量可以是任意合适的统计量,例如可以是均值、方差、对数似然比等。在本发明的一个优选实施例中,统计量为对数似然比。
回到图6,统计量判断单元603根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页。可以采用许多的判断方法来进行判断。
在一个优选实施例中,可以利用阈值比较的方法进行判断。具体阈值比较的方法有很多种。例如,在统计量为似然比的情况下,通过判断在窗口中的似然比之和相对于该窗口之前的样本在相同大小的窗口中的似然比之和的变化是否超过预定阈值,来判断网页内容抽取模板是否已不适应输入网页。再例如,在统计量为均值的情况下,可以通过判断在窗口中的均值相对于该窗口之前的窗口中的均值的变化或者该窗口之前所有样本的均值的变化是否超过预定阈值,来判断网页内容抽取模板是否已不适应输入网页。再例如,也可以通过判断在窗口中的方差相对于该窗口之前所有样本的方差的变化或者相对于该窗口之前的窗口的方差的变化是否超过预定阈值,来判断网页内容抽取模板是否已不适应输入网页。
在另一个优选实施例中,可以采用假设检验的方法进行判断。具体的假设检验方法有很多种。例如,在统计量为对数似然比的情况下,可以根据窗口中的似然比之和来进行检验,进而判断网页内容抽取模板是否已不适应输入网页。在下文中将结合图9详细说明对数似然比假设检验。
统计量判断单元603还可以在判定网页内容抽取模板是否已不适应输入网页的情况下,进一步计算出输入网页模板发生变化的时刻即需要重新计算网页内容抽取模板的时刻。
例如,在基于某一时间窗口中的统计量判定网页内容抽取模板已不适应输入网页的情况下(例如,该时间窗口中的统计量超过阈值或不符合假定分布),可以在该时间窗口中任意选择一个时刻作为判定的输入网页模板发生变化的时刻。优选地,可以选择该时间窗口的开始时刻作为输入网页模板发生变化的时刻。或者,也可以选择该时间窗口的中间时刻作为输入网页模板发生变化的时刻。
回到图6,在统计量判断单元603判定网页内容抽取模板已不适应输入网页的情况下,重新计算单元604从输入网页模板发生变化的时刻重新计算网页内容抽取模板。可以采用各种方法来重新计算网页内容抽取模板。优选地,可以采用根据本发明第一实施例的方法来重新计算网页内容抽取模板。
以下将结合图9来详细描述根据对数似然比判断网页内容抽取模板是否已经不适应当前的输入网页的情况。
图9示出了一个得到的相似度序列。可以有很多方法来得到上述的相似度序列。优选地,可以通过以上结合相似度计算单元201描述的方法得到该相似度序列。在图9中,时间窗口被示出为任意的从t0到ta的时间段,且时长为:ta-t0=m。
在判断过程中,以此窗口遍历该相似度序列,顺序地计算出相似度序列的统计量在时长为m的窗口中的值,得到相应的统计量序列。根据计算的统计量的值来进行判断。在以下的描述中,采用对数似然比作为统计量。如上所述,显然也可以采用其它形式的统计量。
可以采用任意合适的方法来根据对数似然比进行判断。如上所述,可以采用阈值比较或假设检验的方法根据对数似然比进行判断。
在本发明的一个优选实施例中,根据对数似然比采用阈值比较的方法进行判断。具体来说,以预定长度的窗口遍历该相似度序列,并分别计算相似度序列在该窗口中的对数似然比之和。将各个窗口的对数似然比之和与预先设定的阈值进行判断。当某一窗口中的对数似然比之和大于预定阈值时,则判定网页模板发生了变化,并可以将该窗口中的任意一个时刻作为网页模板发生变化的时刻。优选地,可以将该窗口的开始时刻作为网页模板发生变化的时刻。或者,也可以将该窗口的中间时刻作为网页模板发生变化的时刻。
在本发明的另一个优选实施例中,根据对数似然比利用假设检验的方法进行判断。具体来说,以预定长度的窗口遍历该相似度序列,并分别计算相似度序列在该窗口中的对数似然比之和;通过判断计算出的对数似然比之和是否满足假定的分布,来判定当前网页内容抽取模板是否已经不适应输入网页的模板。当发现从某一窗口开始、窗口中的对数似然比之和已经不符合假定的分布时,就判定网页模板发生了变化。并可以将该窗口中的任意一个时刻作为网页模板发生变化的时刻。优选地,可以将该窗口的开始时刻作为网页模板发生变化的时刻。或者,也可以将该窗口的中间时刻作为网页模板发生变化的时刻。
以下给出根据对数似然比利用假设检验的方法进行判断的详细描述。
首先,需要确定原假设和备择假设。可以进行任意的假设。例如,可以假设网页模板是在ta时刻发生变化,也可以假设网页模板是在t0时刻发生变化。优选地,将原假设设为:网页模板没有发生变化;将备择假设设为:网页模板在t0时刻发生变化。可以通过以长度为m的窗口(窗口的开始点和结束点分别为t0和ta)来遍历该相似度序列,根据计算出的统计量来判断上述假设是否成立。
因此,原假设和备择假设可以分别表示如下。
原假设H0:
备择假设H1:
其中,θ、θ0和θ1分别表示网页模板相似度序列的概率分布。yi表示相似度序列中的第i个相似度值,i为自然数,而{yta...y1}表示从开始时刻到ta的相似度序列,{yt0-1...y1}表示从开始时刻到t0-1的相似度序列,{yta...yt0}表示从t0到ta的相似度序列。这里,ta、t0、t0-1等既表示相似度序列中相应相似度值的序号,又代表相应的时刻,二者是等价的,但在本说明书中一般仅提及时刻。
等式(4)左边部分表示相似度值yi属于相似度序列{yta...y1}的概率是pθ;等式右边部分表示在相似度序列{yta...y1}满足θ0分布时、相似度值yi属于相似度序列{yta...y1}的概率是pθ0。等式(4)表明:从开始到ta的时段期间,yi满足θ0分布。
等式(5)左边部分表示相似度值yi属于相似度序列{yt0-1...y1}的概率是pθ;等式右边部分表示在相似度序列{yt0-1...y1}满足θ0分布时、相似度值yi属于相似度序列{yt0-1...y1}的概率是pθ0。等式(5)表明:从开始到t0-1的时段期间,yi满足θ0分布。
等式(6)左边部分表示相似度值yi属于相似度序列{yta...yt0}的概率是pθ;等式右边部分表示在相似度序列{yta...yt0}满足θ1分布时、相似度值yi属于相似度序列{yta...yt0}的概率是pθ1。等式(6)表明:从t0到ta的时段期间,yi满足θ1分布。
可以看出,等式(4)对应于原假设H0,而等式(5)-(6)则对应于备择假设。
此外,在两种假设情况下,相似度序列的分布都应该满足正态分布,因此可以认为:
θ0~N(μ0,σ) (7)
θ1~N(μ1,σ) (8)
其中,μ0、σ为相似度序列yi在θ0分布下的均值和方差;而μ1、σ为相似度序列yi在θ1分布下的均值和方差。可以根据检验窗口之前的序列{yt0-1...y1}以及检验窗口中的序列{yta...yt0},计算出μ0、μ1、σ。可以想到,在两种分布情况下的方差变化不大,因此此处近似认为在θ0分布和θ1分布下的方差均为σ以便简化计算。当然,也可以分别计算两种分布下的方差σ1和σ2,在这种情况下只需将后面描述的相应公式做相应调整即可。
接着,根据对数似然比来检验上述的假设是否成立。
对数似然比Si可以表示为:
其中Lθ1(yi)表示相似度序列yi在θ1分布的情况下的似然函数;而Lθ0(yi)表示相似度序列yi在θ0分布的情况下的似然函数。通过对两个似然函数的比求对数,可以得到对数似然比Si。
为了简化数学表达,令
ν=μ1-μ0 (10)
b=(μ1-μ0)/σ (11)
通过数学推导,进一步可以将对数似然比简化为:
因此,在从t0到ta的时间窗口上,对数似然比的和St0 ta可以表示为:
为了便于检验,利用数学推导,可以根据St0 ta来将原假设和备择假设表示如下:
H0:
H1:
这样,只需要检验St0 ta是否符合式(14)所示的分布就可以判断原假设是否成立。
有许多种判断方法可以用来判断原假设是否成立。作为一种优选方式,可以采用假设检验方法中的t检验方法来检验。
在具体的t检验中,为了简化拒绝域,构造检验量t:
通过数学推导和简化,可以将拒绝域表示为:
|t|≥tα/2(m-1) (17)
t≥tα(m-1) (18)
t≤tα(m-1) (19)
其中,可以根据式(16)具体地计算出在时长为m的时间窗口中的t值或其绝对值|t|。而t分布值tα(m-1)、tα/2(m-1)、tα(m-1)则可以基于α值通过查询t分布表得出。其中,α值可对应于不同的检验精度,可以根据需要来设置α值。在根据本发明的一个实施例中,α值为0.05。
这样,通过计算时间窗口中t的值,并通过将计算出的t值和相应的t分布值进行比较来判断检验原假设是否成立。当在一个时间窗口中发现t值处于拒绝域中,则可以判定当前的网页内容抽取模板已经不适应输入网页,即输入网页的模板发生了变化。
此外,可以在发现t值处于拒绝域中的第一个时间窗口中任意选择一个时刻作为输入网页模板发生变化的时刻。优选地,可以选择该时间窗口的开始时刻作为输入网页模板发生变化的时刻。或者,也可以选择该时间窗口的中间时刻作为输入网页模板发生变化的时刻。
在判定网页内容抽取模板是否已不适应输入网页的情况下,可以从输入网页模板发生变化的时刻重新计算网页内容抽取模板。可以采用各种方法来重新计算网页内容抽取模板。优选地,可以采用根据本发明第一实施例的方法来重新计算网页内容抽取模板。这样,实现了对输入网页模板的检测和对网页内容抽取模板的及时更新。
图7是示出根据本发明第二实施例的维护网页内容抽取模板的方法的示意图。该维护网页内容抽取模板的方法在步骤S700开始。接着,在步骤S701,计算网页内容抽取模板与依次输入的网页的输入树的相似度,由此得到一个相似度的序列。例如,可以利用以上结合相似度计算单元601描述的方法来得到该相似度的序列。在步骤S702,利用预定大小的窗口遍历相似度序列,计算相似度序列在所述窗口中的统计量。在步骤S703,判断网页内容抽取模板是否已不适应输入网页。例如,可以利用以上结合统计量计算单元602和统计量判断单元603描述的方法来实现步骤S702和S703。如果在步骤S703判定当前网页内容抽取模板不适应输入网页,处理进行到步骤S704,开始重新计算网页内容抽取模板。如果在步骤S703判定当前网页内容抽取模板仍然适应输入网页,处理进行到步骤S705,继续使用当前的网页内容抽取模板。之后,方法在步骤S706结束。
可以想到,可以以在线方式来实施上述的维护网页内容抽取模板的方法。即,在利用网页内容抽取模板对网页内容进行抽取的同时,从当前时刻起选取预定大小的窗口,利用该窗口以及该窗口以前的上述统计量进行判断,在判定不适应的情况下重新计算网页内容抽取模板。另一方面,也可以非在线的方式来实施上述的维护网页内容抽取模板的方法。即,针对已经进行过内容抽取处理的多个网页,以预定大小的窗口遍历所述多个网页,来判断所使用的网页内容抽取模板是否不适应所述多个网页,在判定不适应的情况下重新计算网页内容抽取模板。可以认为,在线方式也是一种遍历方式,只不过遍历是伴随着内容抽取过程进行的,遍历窗口的边界ta大致就是当前已经完成内容抽取的最后一个网页;而以非在线方式进行遍历时,ta由小变大,遍历结束时ta值才等于当前已经完成内容抽取的最后一个网页。
本发明的实施例可以应用于移动终端浏览、搜索引擎、信息提取等方面。
另外,应理解,本文所述的各种示例和实施例均是示例性的,本发明不限于此。在本说明书中,“第一”、“第二”等表述仅仅是为了将所描述的特征在文字上区分开,以清楚地描述本发明。因此,不应将其视为具有任何限定性的含义。
上述装置中各个组成模块、单元可通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图12所示的通用计算机1200)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
在图12中,中央处理单元(CPU)1201根据只读存储器(ROM)1202中存储的程序或从存储部分1208加载到随机存取存储器(RAM)1203的程序执行各种处理。在RAM 1203中,也根据需要存储当CPU 1201执行各种处理等等时所需的数据。CPU 1201、ROM 1202和RAM 1203经由总线1204彼此连接。输入/输出接口1205也连接到总线1204。
下述部件连接到输入/输出接口1205:输入部分1206(包括键盘、鼠标等等)、输出部分1207(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1208(包括硬盘等)、通信部分1209(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1209经由网络比如因特网执行通信处理。根据需要,驱动器1210也可连接到输入/输出接口1205。可拆卸介质1211比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1210上,使得从中读出的计算机程序根据需要被安装到存储部分1208中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质511安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图12所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1211。可拆卸介质1211的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1202、存储部分1208中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。此外,在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上虽然结合附图详细描述了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本发明的实质和范围。因此,本发明的范围仅由所附的权利要求及其等效含义来限定。
通过以上的描述不难看出,根据本发明的实施例,提供了如下的方案。
附记1.一种生成网页内容抽取模板的装置,包括:
输入单元,被配置成根据网页结构相似的多个输入网页中的每个输入网页,建立文档对象模型树,以作为输入树;
权重计算单元,被配置成计算各个输入树中的每种类型的节点的权重;
最大对齐关系计算单元,被配置成使用任何一个输入树作为初始联合树,利用计算出的权重来计算每个所述输入树和所述联合树之间的最大对齐关系;
合并单元,被配置成利用计算出的所述最大对齐关系将所述输入树合并到所述联合树上;
确定单元,被配置成确定所述联合树中最可能具有期望文本内容的节点;和
选择单元,被配置成选择所述联合树中包含所确定的节点的子树作为所述网页内容抽取模板。
附记2.如附记1所述的装置,其中所述权重计算单元被配置成计算每种类型的节点的权重,使得多个输入树的整体相似度最大。
附记3.如附记1所述的装置,其中所述权重计算单元进一步包括:
输入树相似度计算单元,被配置成计算多个输入树两两之间的相似度;
第一计算单元,被配置成计算每种类型的节点的权重,使得所述多个输入树的基于两两之间的相似度的整体相似度最大。
附记4.如附记3所述的装置,其中所述输入树相似度计算单元进一步包括:
对齐单元,被配置成将两个输入树对齐;
第二计算单元,被配置成根据所述两个输入树的对齐节点的权重来计算所述两个输入树之间的相似度。
附记5.如附记4所述的装置,其中所述对齐单元被配置为:在对齐两个输入树时考虑节点的层次顺序以及以下因素中的至少一个:
节点的优先级;
对齐的层数;
对齐节点的数量。
附记6.一种维护网页内容抽取模板的装置,包括:
相似度计算单元,被配置成计算所述网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,以构成相似度序列;
统计量计算单元,被配置成利用预定大小的窗口遍历所述相似度序列,计算所述相似度序列在窗口中的统计量;
统计量判断单元,被配置成根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和
重新计算单元,被配置成:在统计量判断单元判定所述网页内容抽取模板已不适应输入网页的情况下,用附记1-5中任意一项的装置来重新计算网页内容抽取模板。
附记7.如附记6所述的装置,所述重新计算单元进一步被配置成:从当前时刻减去基于所述窗口所确定的时长作为所述网页内容抽取模板变为不适应输入网页的时刻,并从该时刻起重新计算网页内容抽取模板。
附记8.如附记6所述的装置,其中所述统计量判断单元被配置成:通过将当前窗口的统计量相对于之前部分或全部样本的统计量的变化与预定的阈值进行比较或者通过判断计算的统计量是否满足预定的分布,来判断网页内容抽取模板是否已不适应输入网页。
附记9.如附记6-8中任意一项所述的装置,其中所述统计量是相似度序列的对数似然比或相似度序列的平均值。
附记10.一种生成网页内容抽取模板的方法,包括:
根据网页结构相似的多个输入网页中的每个输入网页,建立文档对象模型树,以作为输入树;
计算各个输入树中的每种类型的节点的权重;
使用任何一个输入树作为初始联合树,利用计算出的权重来计算每个所述输入树和联合树之间的最大对齐关系;
利用计算出的所述最大对齐关系将所述输入树合并到所述联合树上;
确定所述联合树中最可能具有期望文本内容的节点;和
选择所述联合树中包含所确定的节点的子树作为所述网页内容抽取模板。
附记11.如附记10所述的方法,其中计算各个输入树中的每种类型的节点的权重的步骤包括:计算各个输入树中的每种类型的节点的权重,使得多个输入树的整体相似度最大。
附记12.如附记10所述的方法,其中计算各个输入树中的每种类型的节点的权重的步骤进一步包括:
计算多个输入树两两之间的相似度;
计算每种类型的节点的权重,使得所述多个输入树的基于所述两两之间的相似度的整体相似度最大。
附记13.如附记12所述的方法,其中计算多个输入树两两之间的相似度的步骤包括:
将两个输入树对齐;
根据所述两个输入树的对齐节点的权重来计算所述两个输入树之间的相似度。
附记14.如附记13所述的方法,其中在对齐两个输入树时考虑节点的层次顺序以及以下因素中的至少一个:
节点的优先级;
对齐的层数;
对齐节点的数量。
附记15.一种维护网页内容抽取模板的方法:
计算所述网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,以构成相似度序列;
利用预定大小的窗口遍历所述相似度序列,计算相似度序列在所述窗口中的统计量;
根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和
在判定所述网页内容抽取模板已不适应输入网页的情况下,用附记10-14中任意一项的方法来重新计算网页内容抽取模板。
附记16.如附记15所述的方法,重新计算网页内容抽取模板的步骤包括:从当前时刻减去基于所述窗口所确定的时长作为所述网页内容抽取模板变为不适应输入网页的时刻,并从该时刻起重新计算网页内容抽取模板。
附记17.如附记15所述的方法,其中根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页的步骤包括:通过将当前窗口的统计量相对于之前部分或全部样本的统计量的变化与预定的阈值进行比较或者通过判断计算的统计量是否满足预定的分布,来判断网页内容抽取模板是否已不适应输入网页。
附记18.如附记15-17中任意一项所述的方法,其中所述统计量是相似度序列的对数似然比或相似度序列的平均值。
附记19.一种程序产品,该程序产品包括机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行如附记10或15所述的方法。
附记20.一种存储介质,该存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行如附记10或15所述的方法。
Claims (10)
1.一种生成网页内容抽取模板的装置,包括:
输入单元,被配置成根据网页结构相似的多个输入网页中的每个输入网页,建立文档对象模型树,以作为输入树;
权重计算单元,被配置成计算各个输入树中的每种类型的节点的权重;
最大对齐关系计算单元,被配置成使用任何一个输入树作为初始联合树,利用计算出的权重来计算每个所述输入树和所述联合树之间的最大对齐关系;
合并单元,被配置成利用计算出的所述最大对齐关系将所述输入树合并到所述联合树上;
确定单元,被配置成确定所述联合树中最可能具有期望文本内容的节点;和
选择单元,被配置成选择所述联合树中包含所确定的节点的子树作为所述网页内容抽取模板。
2.如权利要求1所述的装置,其中所述权重计算单元进一步包括:
输入树相似度计算单元,被配置成计算多个输入树两两之间的相似度;
第一计算单元,被配置成计算每种类型的节点的权重,使得所述多个输入树的基于两两之间的相似度的整体相似度最大。
3.如权利要求2所述的装置,其中所述输入树相似度计算单元进一步包括:
对齐单元,被配置成将两个输入树对齐;
第二计算单元,被配置成根据所述两个输入树的对齐节点的权重来计算所述两个输入树之间的相似度。
4.一种维护网页内容抽取模板的装置,包括:
相似度计算单元,被配置成计算所述网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,以构成相似度序列;
统计量计算单元,被配置成利用预定大小的窗口遍历所述相似度序列,计算所述相似度序列在窗口中的统计量;
统计量判断单元,被配置成根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和
重新计算单元,被配置成:在统计量判断单元判定所述网页内容抽取模板已不适应输入网页的情况下,用权利要求1-3中任意一项权利要求的装置来重新计算网页内容抽取模板。
5.如权利要求4所述的装置,所述重新计算单元进一步被配置成:从当前时刻减去基于所述窗口所确定的时长作为所述网页内容抽取模板变为不适应输入网页的时刻,并从该时刻起重新计算网页内容抽取模板。
6.如权利要求4所述的装置,其中所述统计量判断单元被配置成:通过将当前窗口的统计量相对于之前部分或全部样本的统计量的变化与预定的阈值进行比较或者通过判断计算的统计量是否满足预定的分布,来判断网页内容抽取模板是否已不适应输入网页。
7.一种生成网页内容抽取模板的方法,包括:
根据网页结构相似的多个输入网页中的每个输入网页,建立文档对象模型树,以作为输入树;
计算各个输入树中的每种类型的节点的权重;
使用任何一个输入树作为初始联合树,利用计算出的权重来计算每个所述输入树和联合树之间的最大对齐关系;
利用计算出的所述最大对齐关系将所述输入树合并到所述联合树上;
确定所述联合树中最可能具有期望文本内容的节点;和
选择所述联合树中包含所确定的节点的子树作为所述网页内容抽取模板。
8.如权利要求7所述的方法,其中计算各个输入树中的每种类型的节点的权重的步骤进一步包括:
计算多个输入树两两之间的相似度;
计算每种类型的节点的权重,使得所述多个输入树的基于所述两两之间的相似度的整体相似度最大。
9.一种维护网页内容抽取模板的方法,包括:
计算所述网页内容抽取模板与依次输入的网页的文档对象模型树之间的相似度,以构成相似度序列;
利用预定大小的窗口遍历所述相似度序列,计算相似度序列在所述窗口中的统计量;
根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页;和
在判定所述网页内容抽取模板已不适应输入网页的情况下,用权利要求7-8中任意一项权利要求的方法来重新计算网页内容抽取模板。
10.如权利要求9所述的方法,其中根据计算的统计量来判断网页内容抽取模板是否已不适应输入网页的步骤包括:通过将当前窗口的统计量相对于之前部分或全部样本的统计量的变化与预定的阈值进行比较或者通过判断计算的统计量是否满足预定的分布,来判断网页内容抽取模板是否已不适应输入网页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910226108 CN102073654B (zh) | 2009-11-20 | 2009-11-20 | 生成与维护网页内容抽取模板的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910226108 CN102073654B (zh) | 2009-11-20 | 2009-11-20 | 生成与维护网页内容抽取模板的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073654A true CN102073654A (zh) | 2011-05-25 |
CN102073654B CN102073654B (zh) | 2012-12-19 |
Family
ID=44032198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910226108 Expired - Fee Related CN102073654B (zh) | 2009-11-20 | 2009-11-20 | 生成与维护网页内容抽取模板的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073654B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314494A (zh) * | 2011-08-24 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于处理网页内容的方法和设备 |
CN102314497A (zh) * | 2011-08-26 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于识别标记语言文件主体内容的方法和设备 |
CN102436472A (zh) * | 2011-09-30 | 2012-05-02 | 北京航空航天大学 | 一种基于关系机制的多类别web对象抽取方法 |
CN102929930A (zh) * | 2012-09-24 | 2013-02-13 | 南京大学 | 小样本自动化Web文本数据抽取模板生成与抽取方法 |
CN103064966A (zh) * | 2012-12-31 | 2013-04-24 | 中国科学院计算技术研究所 | 一种从单记录网页中抽取规律噪音的方法 |
CN103544176A (zh) * | 2012-07-13 | 2014-01-29 | 百度在线网络技术(北京)有限公司 | 用于生成多个页面所对应的页面结构模板的方法和设备 |
CN103870495A (zh) * | 2012-12-14 | 2014-06-18 | 阿里巴巴集团控股有限公司 | 用于从网站中提取信息的方法和装置 |
CN104346405A (zh) * | 2013-08-08 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 一种从网页中抽取信息的方法及装置 |
CN108880921A (zh) * | 2017-05-11 | 2018-11-23 | 腾讯科技(北京)有限公司 | 网页监测方法 |
CN110968761A (zh) * | 2019-11-29 | 2020-04-07 | 福州大学 | 一种网页结构化数据自适应提取方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101344889B (zh) * | 2008-07-31 | 2011-04-13 | 中国农业大学 | 一种网络信息抽取的方法和系统 |
CN101464905B (zh) * | 2009-01-08 | 2011-03-23 | 中国科学院计算技术研究所 | 一种网页信息抽取的系统及方法 |
CN101833554B (zh) * | 2009-03-09 | 2012-09-26 | 富士通株式会社 | 产生抽取模板的方法、设备和抽取网页内容的方法和设备 |
CN101582075B (zh) * | 2009-06-24 | 2011-05-11 | 大连海事大学 | Web信息抽取系统 |
-
2009
- 2009-11-20 CN CN 200910226108 patent/CN102073654B/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314494B (zh) * | 2011-08-24 | 2014-04-02 | 百度在线网络技术(北京)有限公司 | 一种用于处理网页内容的方法和设备 |
CN102314494A (zh) * | 2011-08-24 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于处理网页内容的方法和设备 |
CN102314497B (zh) * | 2011-08-26 | 2014-12-10 | 百度在线网络技术(北京)有限公司 | 一种用于识别标记语言文件主体内容的方法和设备 |
CN102314497A (zh) * | 2011-08-26 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于识别标记语言文件主体内容的方法和设备 |
CN102436472A (zh) * | 2011-09-30 | 2012-05-02 | 北京航空航天大学 | 一种基于关系机制的多类别web对象抽取方法 |
CN102436472B (zh) * | 2011-09-30 | 2013-10-30 | 北京航空航天大学 | 一种基于关系机制的多类别web对象抽取方法 |
CN103544176B (zh) * | 2012-07-13 | 2018-08-10 | 百度在线网络技术(北京)有限公司 | 用于生成多个页面所对应的页面结构模板的方法和设备 |
CN103544176A (zh) * | 2012-07-13 | 2014-01-29 | 百度在线网络技术(北京)有限公司 | 用于生成多个页面所对应的页面结构模板的方法和设备 |
CN102929930A (zh) * | 2012-09-24 | 2013-02-13 | 南京大学 | 小样本自动化Web文本数据抽取模板生成与抽取方法 |
CN103870495B (zh) * | 2012-12-14 | 2017-04-12 | 阿里巴巴集团控股有限公司 | 用于从网站中提取信息的方法和装置 |
CN103870495A (zh) * | 2012-12-14 | 2014-06-18 | 阿里巴巴集团控股有限公司 | 用于从网站中提取信息的方法和装置 |
CN103064966B (zh) * | 2012-12-31 | 2016-01-27 | 中国科学院计算技术研究所 | 一种从单记录网页中抽取规律噪音的方法 |
CN103064966A (zh) * | 2012-12-31 | 2013-04-24 | 中国科学院计算技术研究所 | 一种从单记录网页中抽取规律噪音的方法 |
CN104346405A (zh) * | 2013-08-08 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 一种从网页中抽取信息的方法及装置 |
CN104346405B (zh) * | 2013-08-08 | 2018-05-22 | 阿里巴巴集团控股有限公司 | 一种从网页中抽取信息的方法及装置 |
CN108880921A (zh) * | 2017-05-11 | 2018-11-23 | 腾讯科技(北京)有限公司 | 网页监测方法 |
CN110968761A (zh) * | 2019-11-29 | 2020-04-07 | 福州大学 | 一种网页结构化数据自适应提取方法 |
CN110968761B (zh) * | 2019-11-29 | 2022-07-08 | 福州大学 | 一种网页结构化数据自适应提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102073654B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073654B (zh) | 生成与维护网页内容抽取模板的方法和设备 | |
CN101833554B (zh) | 产生抽取模板的方法、设备和抽取网页内容的方法和设备 | |
CN103514183B (zh) | 基于交互式文档聚类的信息检索方法及系统 | |
CN101593200B (zh) | 基于关键词频度分析的中文网页分类方法 | |
CN107229668B (zh) | 一种基于关键词匹配的正文抽取方法 | |
US20170213157A1 (en) | Method and system to provide related data | |
CN102622396B (zh) | 一种基于标签的web服务聚类方法 | |
US20050267915A1 (en) | Method and apparatus for recognizing specific type of information files | |
CN103870973A (zh) | 基于电子信息的关键词提取的信息推送、搜索方法及装置 | |
CN102663022B (zh) | 一种基于url的分类识别方法 | |
CN103914478A (zh) | 网页训练方法及系统、网页预测方法及系统 | |
CN103390051A (zh) | 一种基于微博数据的话题发现与追踪方法 | |
CN103177024A (zh) | 一种话题信息展现方法和装置 | |
CN103116588A (zh) | 一种个性化推荐方法及系统 | |
CN101251855A (zh) | 一种互联网网页清洗方法、系统及设备 | |
CN103324666A (zh) | 一种基于微博数据的话题跟踪方法及装置 | |
CN103886108A (zh) | 一种不均衡文本集的特征选择和权重计算方法 | |
CN101751425A (zh) | 文档集摘要获取方法及装置 | |
CN101833579A (zh) | 一种自动检测学术不端文献的方法及系统 | |
CN101937432A (zh) | 一种按照供需信息进行两方撮合的系统与方法 | |
CN111782793A (zh) | 智能客服处理方法和系统及设备 | |
CN102999538A (zh) | 人物搜索方法和设备 | |
CN103095849B (zh) | 基于QoS属性预测和纠错的有监督Web服务发现方法及系统 | |
CN103377186B (zh) | 基于命名实体识别的Web服务整合装置、方法以及设备 | |
CN111414471A (zh) | 用于输出信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121219 Termination date: 20181120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |