一种网页信息的抽取方法和系统的制作方法

文档序号:6493075阅读:251来源:国知局
一种网页信息的抽取方法和系统的制作方法【专利摘要】本发明公开了一种网页信息的抽取方法和系统。包括:获得已标注网页,生成语义结构树,构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,生成包装器,将包装器导出为包装器文件;构建用于抽取已标注网页的同类网页的抽取器;获得待抽取网页,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。本发明具有较高的通用性、泛化能力、容错性、可扩展性以及较低的人工参与度,同时本发明也保证了在线抽取的效率,从而具有较高的实用性。【专利说明】一种网页信息的抽取方法和系统【
技术领域
】[0001]本发明属于信息抽取领域,尤其涉及一种基于网页DOM树的包装器(wrapper)生成以及网页信息抽取技术。【
背景技术
】[0002]自从上世纪90年代以来,万维网(WorldWideWeb)得到飞速发展,包含的信息量爆炸式增长。互联网在日益成为人们广泛使用的工具的同时,也变成了一个巨大的知识宝库,其中蕴含着海量的有价值的信息。如何充分利用互联网上的海量信息为人类提供更好的服务一直都是人们关注的热点,而网页作为互联网上重要的信息载体,是从互联网上获取信息的主要途径,如何从网页中抽取出需要的信息已经成为一个重要的研究课题,也就是网页信息抽取。网页信息抽取就是从半结构化的网页中抽取出用户需要的数据,结构化地存储在数据库中。[0003]相对于无结构化的自由文本以及结构化的XML文本而言,网页是一种半结构化的文本,内部信息都是被HTML标签包裹着,内部的HTML标签之间存在着一定的结构信息,但没有严格的格式。网页信息抽取通常使用机器学习和模式挖掘技术,从这些并不严格的结构中挖掘出文档内部具有的模式信息,并利用这些模式信息,抽取出用户需要的数据。[0004]由于互联网上同类网页一般是基于一种特定的网页模板根据后台数据库生成的,所以这些网页之间以及网页内部相同类型的数据域之间在结构上存在很大程度的相似性。这种相似性主要体现在包裹这些数据域的网页标签序列以及网页DOM树的结构上。根据这些特点,目前常用的是一种基于模板的网页信息抽取方法,这种方法要求为每一类网页构造自己的包装器,每一个包装器包含一类网页的特征描述,系统根据这些特征从网页中找到所需信息。现有的网页抽取工具,根据自动化程度,可以分为手工编写规则的抽取系统,基于监督学习的抽取系统,基于半监督学习的抽取系统和基于无监督学习的抽取系统。[0005]在手工编写规则的抽取系统中,用户需要使用一种通用的或者特别设计的编程语言为每一个网站手工编制一个包装器。这是早期的抽取系统使用的方法,这种方法的优点是人工编写的包装器适用性高,缺点是对用户的专业水平要求较高,而且生成的包装器不易维护,网络上数量庞大的数据源将消耗大量的人力资源。[0006]在基于监督学习的抽取系统中,首先需要人工对网页中需要抽取的数据及其格式进行标注,然后系统通常采用机器学习的方法根据用户标注的样例自动训练出该类网页的包装器。相对于前一种系统,这种系统对用户的专业水平要求不高,并大大降低了用户参与时间。[0007]在基于半监督学习的抽取系统中,用户不需要提供完整的被精确标注的样例,仅需要提供粗略标注的样例即可生成抽取规则,然而,由于没有用户的精确标注,这种系统的抽取结果是记录级的,数据记录内部属性的具体语义还需要用户进行后处理。[0008]在基于无监督学习的抽取系统中,用户不需要直接参与包装器的生成过程。通过对待抽取页面中数据区的某些特征假定,比如,重复出现的DOM树结构或HTML串序列,从网页中选择特征符合较好的数据。这种系统通常对网页结构具有较强的假设,这就给应用范围带来局限,通用性低。[0009]这几种方法相比,自动化程度越来越高,然而随着自动化程度的提高,系统的通用性和抽取结果的精确性相应降低,比如基于无监督学习的抽取系统自动化程度最高,但往往只能针对特定的网页和特定的抽取需求,并且很难实现数据的精确抽取以及给数据字段添加语义信息。[0010]现存的基于监督学习的网页信息抽取方法通常利用已标注网页中数据区附近的标签序列特征或DOM树结构特征生成包装器,抽取时,系统遍历待抽取网页的标签序列或DOM树,匹配各个数据区的特征,如果特征匹配成功,则得到抽取结果。然而,现有方法存在如下问题:[0011]1.特征规则过于具体而且匹配方式过于简单。比如使用DOM树的XPath作为特征,如“table/tr[3]/td[l]/a[l]”,括号中的数字表示该标签在其兄弟节点中的位置,该路径用于抽取table节点下的编号为3的tr节点下的编号为I的td节点下的编号为I的a节点,抽取的时候,系统严格根据XPath寻找到想要抽取的数据节点。这种方式对网页结构较为敏感,泛化能力较差,为了保证召回率,需要大量的规则和人工干预,而大量的规则又会导致规则之间发生冲突的可能性较大,比如一条特定的规则在一个网页中对应数据节点而在另一个稍有差异的网页中可能对应噪音节点。现有方法往往在准确率、召回率和人工代价之间顾此失彼。[0012]2.特征规则单一。比如仅基于标签序列特征或仅基于DOM树相对路径特征进行抽取。在某些网页中,数据和噪音在现有方法使用的特征上差别较大,则该方法能取得较好的效果,然而在另一些网页中,数据和噪音在该方法使用的特征上可能差别并不明显,则该方法就无法取得好的抽取效果。方法的通用性不高。[0013]3.不支持复杂的数据模式(语义结构)。随着万维网的发展,网页中的内容越来越多样,数据模式也越来越复杂,可能出现复杂的属性层次结构以及属性嵌套、乱序等情况。现有的方法往往只能支持简单的扁平数据模式,无法充分表达更复杂的数据模式。[0014]4.抽取方法没有全局意识。现有的方法通常在网页局部成功匹配规则后不会考虑该匹配位置是否为最优位置以及该匹配对其它规则的后续匹配带来的影响,一次局部错误或失败的匹配可能对后续抽取带来一系列负面影响,抽取方法的健壮性较低。【
发明内容】[0015]针对以上问题,本发明提出一种新的基于监督学习的网页信息的抽取方法和系统,克服了上述现有方法存在的问题。实现了网页信息抽取技术具有较高的通用性、泛化能力、容错性、可扩展性以及较低的人工参与度,同时也保证了在线抽取的效率,从而具有较高的实用性的发明目的。[0016]本发明提出了一种网页信息的抽取方法,包括:[0017]包装器生成步骤,获得已标注网页,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;[0018]抽取器构建步骤,解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;[0019]待抽取网页抽取步骤,获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;[0020]数据导出步骤,导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。[0021]所述包装器生成步骤进一步为:[0022]所述信息模式图生成步骤,获得所述已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建所述信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;[0023]语义属性节点信息生成步骤,对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;[0024]包装器文件导出步骤,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为所述包装器文件。[0025]所述待抽取网页抽取步骤的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区,进一步为:[0026]第一抽取步骤,对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;[0027]第二抽取步骤,根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;[0028]其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。[0029]所述第一抽取步骤中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步为:[0030]对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;[0031]如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区,构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。[0032]所述第二抽取步骤进一步为:[0033]对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。[0034]本发明还提供了一种网页信息的抽取系统,包括:[0035]包装器生成模块,用于获得已标注网页,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;[0036]抽取器构建模块,用于解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;[0037]待抽取网页抽取模块,用于获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;[0038]数据导出模块,用于导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。[0039]所述包装器生成模块包括:[0040]所述信息模式图生成子模块,用于获得所述已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建所述信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;[0041]语义属性节点信息生成子模块,用于对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;[0042]包装器文件导出子模块,用于根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为所述包装器文件。[0043]所述待抽取网页抽取模块的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区包括:[0044]第一抽取子模块,用于对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;[0045]第二抽取子模块,用于根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;[0046]其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。[0047]所述第一抽取子模块中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步用于:[0048]对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;[0049]如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区,构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。[0050]所述第二抽取子模块进一步用于:[0051]对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。[0052]本发明的有益之处在于:[0053]1.通用性较高。信息模式图的构建方法和层次抽取的方法使得本发明可以处理较为复杂的网页语义结构,包括属性的多序和嵌套结构等,从而具有较好的通用性。[0054]2.泛化能力和扩展性较高。本发明使用多特征而不是单一特征进行抽取,并且特征之间的权重是针对具体网页的结构特点使用最大化分类边界的思想动态调整的,使得本发明可以有效处理不同结构特点的网页,从而使得抽取方法具有较好的泛化能力。分类阈值也是动态调整的,可以处理属性缺失的情况并有效地在不同结构特点的网页上达到准确率和召回率的平衡。另外,本发明可以较为简单的添加新的特征,从而进一步增强了方法的可扩展性。[0055]3.人工参与度较低。在本发明中,特征的匹配方式并不是严格匹配,而是计算相似度得分。另外,标签权重是动态调整的,根据信息熵的思想,不同的标签在不同的网页和抽取层次下具有不同的权重,这样可以有效地识别不同标签的区分度,更好地应用于特征得分的计算。这种特征匹配的方式结合所述动态的特征权重、标签权重、分类阈值以及全局最优的抽取思想,使得本发明可以极大化地容忍待抽取数据区与用户标注的原始数据区之间的特征差异,大大提高了特征的泛化能力,从而有效地降低了人工参与度。另外,这些特征权重和标签权重的学习是在包装器生成阶段完成的,抽取时只用从包装器中一次性载入即可,不会对在线抽取的效率带来影响。[0056]4.使用全局最优的思想指导在线抽取,容错性较高。本发明在进行抽取时会在所有可能的抽取方案中,选择最优的方案,这样不会因为某个局部的抽取错误导致全局的错误,这种思想也保证了即使在分类阈值设置过低(属性存在多个候选数据区)的情况下通常仍然能得到准确的抽取结果,从而具有较好的容错性。另外,如优点3中所述,这样可以极大化地容忍特征差异,降低人工参与度。[0057]5.可以保证在线抽取效率。在线抽取阶段的所述候选数据区和候选迭代数据区选择步骤中使用的过滤算法在实际应用中可以有效地降低最终候选数据区和最终候选迭代数据区的数量,使得本发明在保证较高的准确率和召回率的同时,也保证了在线抽取的效率,从而保证了本发明具有较强的实用性。【专利附图】【附图说明】[0058]图1是网页信息的抽取方法的示意图。[0059]图2是图1示意图的总流程图的实施例。[0060]图3是对语义结构树的语义属性节点选择最终标注数据区的流程图的实施例。[0061]图4是抽取器进行数据抽取的总流程图的实施例。[0062]图5是图4中选择最终候选数据区/最终候选迭代数据区的流程图的实施例。[0063]图6是网页信息的抽取系统的示意图。[0064]图7A是一已标注网页中标注的一“消息message”语义属性的实施例。[0065]图7B是图7A的已标注网页的DOM树中标注的图7A的“消息message”语义属性的实施例。[0066]图8A是图7A的已标注网页中标注的另一“消息message”语义属性的实施例。[0067]图8B是图8A的已标注网页的DOM树中标注的图8A的“消息message”语义属性的实施例。[0068]图9A是图7A的已标注网页中标注的另一“消息message”语义属性的实施例。[0069]图9B是图9A的已标注网页的DOM树中标注的图9A的“消息message”语义属性的实施例。[0070]图10是根据图7A、图8A和图9A的三个不同的“消息message”语义属性生成的语义结构树的实施例。[0071]图11是根据图10的语义结构树生成的信息模式图的实施例。【具体实施方式】[0072]下面结合实施例和附图对本发明的技术方案进行详细地介绍。[0073]首先,对本发明的应用场景和用到的概念加以说明。[0074]网页中的内容由一些语义单元构成,每个语义单元对应一个语义属性,语义属性的组合可以构成新的语义属性,将新的语义属性称为父语义属性,父语义属性直接包含的语义属性为子语义属性,同一父语义属性下的子语义属性之间互为兄弟语义属性。语义属性的每一个具体取值是网页的DOM树中的一个子树森林,子树森林内部的各个子树之间是连续不重叠的,也就是子树森林内部的相邻子树之间不存在其它子树且各个子树之间没有共同节点,将该子树森林称为该语义属性的一个数据区,将该子树森林中所有子树的根节点构成的列表称为该数据区的根节点列表,将该根节点列表中的第一个节点称为该数据区的开始节点,列表中的最后一个节点称为该数据区的结束节点。如果一个语义属性的所有数据区只包含一棵子树,也就是数据区的开始节点和结束节点是同一个节点,将该语义属性称为单节点语义属性,否则,为多节点语义属性。兄弟语义属性的数据区之间是不重叠的。兄弟语义属性的数据区之间存在一定的顺序,顺序可能有多种,但是通常是有规律可循的,另外,根据网页的具体内容,某些语义属性可能是缺失的。语义属性可以分为迭代语义属性和非迭代语义属性,对于一个语义属性,如果在其父语义属性的同一数据区中该语义属性的数据区最多只出现一次,则该语义属性为非迭代语义属性,如果在其父语义属性的同一数据区中该语义属性的数据区可能出现两次或多次,则该语义属性为迭代语义属性,如,搜索引擎结果页面中包含多个网页条目,那么“网页条目”语义属性就是迭代语义属性,每个网页条目内部仅包含一个标题和摘要,那么“标题”和“摘要”就是相对于父语义属性“网页条目”的非迭代语义属性。本发明的技术方案是针对迭代语义属性是连续出现的情况,也就是同一迭代语义属性的两个数据区之间不存在别的语义属性的数据区,通常用户通过对抽取需求的简单组织,就可以满足这种情况。将在父语义属性的一个数据区中连续出现的同一迭代语义属性的数据区集合称为迭代语义属性的迭代数据区。迭代数据区包含的各个数据区的最小公共父节点LCP(离DOM树根节点最远的公共父节点)作为迭代数据区节点。标注是指用户通过浏览器插件在网页中选取其需要抽取的文本字段并为该文本字段添加用户自定义的语义信息(即语义属性)。被标注上语义属性的网页称为已标注网页。根据已标注网页中的标注信息,可以从已标注网页的DOM树中获取到每个语义属性的最终标注数据区。对于非迭代语义属性,获取到一个或多个最终标注数据区;对于迭代属性,获取到一个或多个最终标注迭代数据区。每个语义属性在已标注网页的DOM树中存在一个或多个最终标注数据区,也称为该语义属性的最终标注数据区集合,语义属性的最终标注数据区集合中所有最终标注数据区的开始节点构成该语义属性的开始节点集合(BNodeSet),所有最终标注数据区的结束节点构成该语义属性的结束节点集合(ENodeSet)。语义属性的开始节点集合(BNodeSet)中所有节点的HTML标签名称构成该语义属性的开始节点标签名称集合(BTagSet),语义属性的结束节点集合(ENodeSet)中所有节点的HTML标签名称构成该语义属性的结束节点标签名称集合(ETagSet)。语义属性的开始节点集合(BNodeSet)中所有节点到其父语义属性的数据区的根节点列表的相对路径构成该语义属性的开始节点相对路径集合(BPathSet),语义属性的结束节点集合(ENodeSet)中所有节点到其父语义属性的数据区的根节点列表的相对路径构成该语义属性的结束节点相对路径集合(EPathSet)。[0075]本发明的总设计思路为:[0076]用户先对一个或多个同类训练网页进行标注,获得对应的已标注网页;将用户标注的语义属性添加到已标注网页的DOM树中合适的数据节点上,根据用户标注的语义属性,生成每个已标注网页的语义结构树,得到每个语义属性的最终标注数据区。然后,对所有语义结构树进行解析,通过将语义结构树中所有同名语义属性节点整合为信息模式图中同一个语义属性节点的方式,来获取所有已标注网页对应的信息模式图。对于信息模式图中的每个非叶子语义属性节点,计算其对应的最终标注数据区集合内部包含的所有标签和标签属性权重(父语义属性的数据区内部的标签和标签特征权重用于抽取该父语义属性的所有子语义属性)。然后,对于信息模式图的每个语义属性节点,针对其对应的最终标注数据区或者最终标注迭代数据区提取若干个具有区分度的DOM树结构特征,并为其在已标注网页中提取数据区或者迭代数据区的正负例,根据该语义属性在已标注网页的DOM树中的正负例的情况动态调整这些DOM树结构特征的特征权重和分类阈值,其中,分类阈值用来过滤噪音数据区,可以处理语义属性缺失的情况。至此,包装器的内容生成完毕,将包装器导出为包装器文件,包装器文件可以被用于抽取其它同类网页。抽取其它同类网页(待抽取网页)时,根据信息模式图,在待抽取网页的DOM树中逐层递归抽取每个语义属性节点的抽取数据区或者抽取迭代数据区。先选择根语义属性节点在待抽取网页的DOM树中的抽取数据区,接着在根语义属性节点的抽取数据区中抽取其所有子语义属性节点的抽取数据区或者抽取迭代数据区,再使用相同的方法抽取这些子语义属性节点的所有子语义属性节点的抽取数据区或者抽取迭代数据区,直到所有非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区被抽取完毕,结束。[0077]在上述的抽取过程中,先独立地为父语义属性节点的每个子语义属性节点寻找其可能的抽取结果,也就是最终候选数据区集合或者最终候选迭代数据区集合,然后根据父语义属性节点的所有子语义属性节点的全部出现顺序,从所有子语义属性节点的最终候选数据区集合或者最终候选迭代数据区集合中寻找整体最优的抽取方案作为抽取结果。[0078]图1为网页信息的抽取方法的示意图。包括:包装器生成步骤(S11),获得已标注网页,根据已标注网页中的标注信息生成语义结构树,根据语义结构树构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件;抽取器构建步骤(S12),解析包装器文件得到信息模式图,构建用于抽取已标注网页的同类网页的抽取器;待抽取网页抽取步骤(S13),获得待抽取网页,构建待抽取网页的DOM树,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;其中,待抽取网页为已标注网页的同类网页;语义属性节点为非迭代语义属性节点时抽取获得抽取数据区,语义属性节点为迭代语义属性节点时抽取获得抽取迭代数据区;数据导出步骤(S14),导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。[0079]具体流程如下:[0080]包装器生成步骤S11,获得已标注网页,根据已标注网页中的标注信息生成语义结构树,根据语义结构树构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件。包括:[0081]信息模式图生成步骤,获得已标注网页,构建已标注网页的DOM树,根据已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,确定信息模式图的每个语义属性节点在已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;其中,语义属性节点为非迭代语义属性节点时对应最终标注数据区,语义节点为迭代语义属性节点时对应最终标注迭代数据区;[0082]语义属性节点信息生成步骤,对于每个语义属性节点,获取和保存语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;其中,语义属性节点为非迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值,语义属性节点为迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值以及迭代数据区特征样本集合、特征权重和分类阈值;[0083]包装器文件导出步骤,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件,其中语义属性节点信息包括每个语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值、非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序。[0084]抽取器构建步骤S12,解析包装器文件得到信息模式图和所述语义属性节点信息,构建用于抽取已标注网页的同类网页的抽取器。[0085]待抽取网页抽取步骤S13,获得待抽取网页,构建待抽取网页的DOM树,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;其中,待抽取网页为已标注网页的同类网页;语义属性节点为非迭代语义属性节点时抽取获得抽取数据区,语义属性节点为迭代语义属性节点时抽取获得抽取迭代数据区。包括:[0086]第一抽取步骤,对于信息模式图的当前非叶子语义属性节点,抽取器在非叶子语义属性节点对应的抽取数据区或者抽取迭代数据区中,寻找非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;其中,子语义属性节点为非迭代语义属性节点时获取最终候选数据区集合,子语义属性节点为迭代语义属性节点时获取最终候选迭代数据区集合;[0087]寻找非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合的操作,包括:[0088]初始化非叶子语义属性节点的子语义属性节点对应的第一开始节点集合和第一结束节点集合;利用非叶子语义属性节点的子语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合和结束节点相对路径集合,分别对第一开始节点集合和第一结束节点集合进行过滤和匹配,产生第二开始节点集合和第二结束节点集合;从第二开始节点集合选择一开始节点,从第二结束节点集合选择一结束节点,生成第一候选数据区,形成非叶子语义属性节点的子语义属性节点对应的第一候选数据区集合;从第一候选数据区集合中删除开始节点出现在结束节点之后的第一候选数据区,生成第二候选数据区集合;计算每个第二候选数据区集合的第二候选数据区的综合得分,将综合得分不小于非叶子语义属性节点的子语义属性节点对应的数据区分类阈值的第二候选数据区保留,生成第三候选数据区集合;如果非叶子语义属性节点的子语义属性节点为非迭代语义属性节点,则第三候选数据区集合为非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取子语义属性节点对应的最终候选数据区集合完成;如果非叶子语义属性节点的子语义属性节点为迭代语义属性节点,使用贪心算法,从第三候选数据区集合中逐个选择与已选择的第三候选数据区互不且综合得分最大的第三候选数据区,直到无法选择新的第三候选数据区为止,形成第四候选数据区集合;[0089]在第四候选数据区集合中,选择任意两个第四候选数据区作为开始数据区和结束数据区,开始数据区和结束数据区以及之间的所有数据区构成一个第一候选迭代数据区,形成第一候选迭代数据区集合;[0090]对于第一候选迭代数据区集合中的每个第一候选迭代数据区,根据第一候选迭代数据区的最小公共父节点计算第一候选迭代数据区的综合得分,选择综合得分不小于非叶子语义属性节点的子语义属性节点对应的迭代数据区分类阈值的第一候选迭代数据区,构成非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。[0091]第二抽取步骤,根据非叶子语义属性节点的子语义属性节点的全部出现顺序,从非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区。具体而言,对于非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从非叶子语义属性节点的所有子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成出现顺序对应的候选抽取方案集合,其中候选抽取方案中不同子语义属性节点对应的最终候选数据区或者最终候选迭代数据区不重叠,从候选抽取方案集合中选择综合得分的和最大的候选抽取方案为出现顺序对应的最优候选抽取方案;从非叶子语义属性节点的子语义属性节点的全部出现顺序对应的最优候选抽取方案中选择综合得分的和最大的最优候选抽取方案为最终抽取方案;最终抽取方案中的最终候选数据区或者最终候选迭代数据区作为非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。[0092]数据导出步骤S14,导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。[0093]图2是图1示意图的总流程图的实施例。包括:[0094]用户标注S21:用于对训练网页S20进行用户标注,生成已标注网页S22,构建已标注网页的DOM树DT。其中,用户标注的语义属性被添加到已标注网页的DOM树中相应的数据节点上,请参见图7A、图8A、图9A、图7B、图8B和图9B。训练网页为一个或多个。[0095]图7A、图8A和图9A分别显示了同一已标注网页上的三个不同的“消息message”语义属性。[0096]图7A的“消息message”语义属性为2层结构。第I层为“消息message”;第2层中包括四个子语义属性,它们的出现顺序为:“作者author”、“位置location”、“发布时间publish_time”和“内容content”。第I层的语义属性在已标注网页中对应的标注信息为“AET:AB_message和AET:AE_message”;第2层的语义属性在已标注网页中对应的标注信息分别为“AET:AB_author和AET:AE_author”、“AET:AB_location和AET:AE_location,,、“AET:AB_publish_time和AET:AE_publish_time,,和“AET:AB_content和AET:AE_content”,其中,“AET:AB_语义属性”代表该语义属性的开始位置,“AET:AE_语义属性”代表该语义属性的结束位置。[0097]图8A的“消息message”语义属性分为3层结构。第I层为“消息message”;第2层中包括五个子语义属性,它们的出现顺序为:“作者author”、“位置location”、“发布时间publish_time”、“回复消息ori_message”和“内容content”;第3层中包括两个子语义属性,它们是第2层“回复消息orijnessage”的子语义属性,它们的出现顺序为:“作者author”和“内容content”。[0098]图9A的“消息message”语义属性分为4层结构。第I层为“消息message”;第2层中包括五个子语义属性,它们的出现顺序为:“位置location”、“作者author”、“发布时间publish_time”、“回复消息ori_message”和“内容content”;第3层中包括三个子语义属性,它们是第2层“回复消息orijnessage”的子语义属性,它们的出现顺序为:“作者author”、“内容content”和“回复消息ori_message”;第4层中包括两个子语义属性,它们是第3层“回复消息orijnessage”的子语义属性,它们的出现顺序为:“作者author”和“内容content”。[0099]图7B、图8B和图9B分别显示了图7A、图8A和图9A对应的已标注网页的三个不同的“消息message”语义属性在已标注网页的DOM树中对应的数据区的标注情况。即已标注网页的DOM树中显示了每个语义属性对应的用户标注的原始数据区。例如:“作者author”语义属性的用户标注的原始数据区为标注信息“AET:AB_auth0r”和“AET:AE_auth0r”之间的数据区,“消息message”语义属性的用户标注的原始数据区为标注信息“AET:AB_message”和“AET:AE_message”之间的数据区。[0100]语义结构树生成S23:用于根据已标注网页S22上的标注的语义属性,生成已标注网页S22对应的语义结构树ST,在已标注网页的DOM树中为语义结构树的语义属性节点选择对应的最终标注数据区Rnew。为每个已标注网页分别生成一棵语义结构树ST。图10为根据图7A、图8A和图9A的三个不同的“消息message”语义属性和“根ROOT”语义属性生成的语义结构树,其中,对已标注网页的DOM树的根节点,也就是“html”节点,标注“根ROOT”语义属性,再从已标注网页的DOM树中提取所有标注的语义属性生成语义结构树(由于添加了根语义属性节点“根R00T”,使用用户标注的所有语义属性可以生成该已标注网页的语义结构树)。[0101]最终标注数据区Rmw要满足以下条件:[0102]a)对于语义结构树的叶子语义属性节点,则其最终标注数据区仅包含用户针对该语义属性选中的所有文本信息,而不包含非选中的文本信息(噪音信息)。[0103]b)对于语义结构树的非叶子语义属性节点,则其最终标注数据区仅包含其所有子语义属性节点的最终标注数据区Rnew,而不包含其它语义属性节点的数据区。[0104]c)兄弟语义属性节点的最终标注数据区之间不存在重叠。[0105]通常,语义属性的最终标注数据区可以表示为已标注网页的DOM树中的一棵子树,也就是说,语义属性可以是单节点语义属性,这样的语义属性抽取难度相对较低。另外,一般说来,子树的根节点越接近已标注网页的DOM树的根节点,子树根节点的局部结构特点与网页的具体内容越不相关,越可能是网页的模板节点,同类网页之间在该节点处出现变化的可能性越低,所以对语义属性在已标注网页的DOM树的数据区进行标注位置调整的过程中,尽可能提升该子树的根节点。[0106]在已标注网页的DOM树中,为语义结构树的语义属性节点选择对应的最终标注数据区Rnew的总设计思路如下:[0107]a)为语义结构树中的每个叶子语义属性节点在已标注网页的DOM树中寻找对应的最终标注数据区。对于语义结构树中的叶子语义属性节点,找到该语义属性节点的对应的用户标注的原始数据区Rtjld必须包含的所有文本节点的最小公共父节点LCP,如果该父节点对应的数据区不满足上述的最终标注数据区的条件,则说明该父节点位置过高,降低位置,直到找到满足条件的语义属性节点的数据区的开始节点和结束节点,结束;否则,如果该父节点没有兄弟节点,提升标注位置到该父节点的父节点,直到无法提升,结束。[0108]b)为语义结构树中的每个非叶子语义属性节点在已标注网页的DOM树中寻找对应的最终标注数据区。对于语义结构树中的非叶子语义属性节点,找到该语义属性节点的所有子语义属性节点的最终标注数据区的最小公共父节点LCP,同样地,如果该父节点不满足上述的最终标注数据区的条件,则说明该父节点位置过高,降低位置,直到找到满足条件的语义属性开始节点和结束节点,结束;否则,如果该父节点没有兄弟节点,提升标注位置到该父节点的父节点,直到无法提升,结束。[0109]图3是对语义结构树的语义属性节点选择最终标注数据区的流程图的实施例。[0110]信息模式图生成S24:用于根据语义结构树生成信息模式图。[0111]设计思路为:根据语义结构树得到网页的信息模式图。信息模式图是一个有向图,为了表达网页中可能出现的语义属性嵌套模式,允许信息模式图中包含环。为S23中每棵语义结构树的每个语义属性在信息模式图中建立一个语义属性节点,同名语义属性在语义结构树中的多次出现对应信息模式图中的同一个语义属性节点。对于语义结构树中语义属性间的每个不同的‘父-子’关系,在信息模式图中添加一条从父语义属性节点指向子语义属性节点的有向边,这样网页的信息模式图生成完毕。[0112]由于S30中的抽取是按层次进行的,也就是沿着有向图(信息模式图)的边指向的方向进行抽取,每个语义属性抽取完成后继续抽取其子语义属性。所以,在信息模式图中的每个非叶子语义属性节点上需要存储用于抽取其子语义属性的相关信息,比如:其子语义属性节点的全部出现顺序、最终标注数据区或者最终标注迭代数据区的DOM树结构特征。[0113]信息模式图中兄弟语义属性之间往往是按照一定出现顺序出现的,比如:新闻网页的“新闻标题”语义属性就总是出现在“新闻正文”语义属性之前;在某些情况下,出现顺序是区分某些语义属性的必要特征,比如网页中同一表格(〈table〉)中不同列的信息?’另外,语义属性的出现顺序是并不唯一的,可能存在多种出现顺序。对于一个父语义属性,根据其所有用户标注信息,将其子语义属性的所有可能的出现顺序存储在该父语义属性的信息模式图节点中,该出现顺序被使用于S30。[0114]图11是根据图10的语义结构树生成的信息模式图的实施例。其中,“消息message”语义属性对应图10的三个“消息message”,为迭代语义属性,对应最终标注迭代数据区,即图10的三个“消息message”语义属性的最终标注数据区的集合;“作者author”语义属性对应图10的第一个“消息message”的“作者author”、第二个“消息message”的“作者author”、第二个“消息message”的“回复消息ori_message”的“作者author”、第三个“消息message”的“作者author”、第三个“消息message”的“回复消息ori_message”的“作者author”、第三个“消息message”的“回复消息ori_message”的“回复消息ori_message”的“作者author”,为非迭代语义属性,对应最终标注数据区集合,即图10的六个“作者author”语义属性的最终标注数据区的集合;“位置location”语义属性对应图10的三个“位置location”,为非迭代语义属性,对应最终标注数据区集合,即图10的三个“位置location”语义属性的最终标注数据区的集合;“发布时间publish_time”语义属性对应图10的三个“发布时间pUbliSh_time”,为非迭代语义属性,对应最终标注数据区集合,即图10的三个“发布时间publish_time”语义属性的最终标注数据区的集合;“回复消息ori_message”语义属性对应图10的第二个“消息message”的“回复消息ori_message”、第三个“消息message”的“回复消息ori_message”、第三个“消息message”的“回复消息ori_message”的“回复消息orijnessage”,为非迭代语义属性,对应最终标注数据区集合,即图10的三个“回复消息orijnessage”语义属性的最终标注数据区的集合;“内容content”语义属性对应图10的第一个“消息message”的“内容content”、第二个“消息message”的“内容content”、第二个“消息message”的“回复消息ori_message”的“内容content”、第三个“消息message”的“内容content”、第三个“消息message”的“回复消息ori_message”的“内容content”、第三个“消息message”的“回复消息ori_message”的“回复消息ori_message”的“内容content”,为非迭代语义属性,对应最终标注数据区集合,即图10的六个“内容content”语义属性的最终标注数据区的集合。[0115]图11中,“回复消息ori_message”语义属性节点为语义属性嵌套模式,存在一条自身指向自身的边,也就是存在环状结构。[0116]图11中,“消息message”语义属性的子语义属性的全部顺序为:I)“作者author”、“位置location”、“发布时间publish_time”和“内容content”;2)“作者author”、“位置location”、“发布时间publish_time”、“回复消息ori_message”和“内容content”;3)“位置location”、“作者author”、“发布时间publish_time”、“回复消息ori_message”和“内容content”。“回复消息orijnessage”语义属性的子语义属性的全部顺序为:1)“作者author”和“内容content”;2)“作者author”、“内容content”和“回复消息ori_message”。[0117]信息模式图的每个语义属性节点上要保存对应的最终标注数据区或者最终标注迭代数据区的开始节点集合、结束节点集合、开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、开始节点左兄弟节点序列集合、结束节点右兄弟节点序列集合和根节点序列集合,非叶子语义属性节点上还要保存其子语义属性节点的全部出现顺序。此外,信息模式图的每个语义属性节点上还要保存对应的标签和标签属性权重信息、特征样本集合、特征权重和分类阈值。[0118]标签和标签属性权重计算S25:用于对信息模式图的每个非叶子语义属性节点对应的最终标注数据区或者最终标注迭代数据区中包含的标签和标签中包含的属性进行统计,获得标签和标签属性的权重。[0119]设计思路为:数据区的不同的HTML标签和标签属性值具有不同的区分度,比如:“hi”标签,通常包含的内容是网页的标题,并且在很多网页中只出现一次,那么在抽取这些网页的标题时“hi”就是一个区分度非常高的标签。本发明中,使用信息论中熵的思想来度量不同HTML标签和标签属性的区分度,也就是信息量。由于S30的抽取阶段是根据信息模式图逐层递归地抽取的,所以关注的是抽取当前层次时不同标签的区分度,是局部的区分度。对信息模式图中的所有具有子语义属性节点的语义属性,分别计算其数据区内包含的标签和标签属性的权重,具体步骤如下:[0120]a)从已标注网页的DOM树中,获取该语义属性的最终标注数据区或者最终标注迭代数据区。[0121]b)统计最终标注数据区或者最终标注迭代数据区中每个标签出现的次数η以及所有标签出现的总次数N。每个标签的权重为:[0122]weight=log(N+l/n+1),[0123]其中,加I是为了平滑那些没有出现的标签,即对于该语义属性,在最终标注数据区或者最终标注迭代数据区中没有出现的标签的权重为log(N+l),weigh表示标签的权重,η和N为不小于O的整数。[0124]d)对每个标签内部的不同标签属性值,统计该标签出现的次数η以及该标签属性出现的次数m,每个标签属性的权重为:[0125]weight=log(n+l/m+1),[0126]其中,加I是为了平滑那些没有出现的标签属性,即对于该语义属性的标签,在最终标注数据区或者最终标注迭代数据区的标签中没有出现的标签属性的权重为log(n+l),weigh表示标签属性的权重,m和η为不小于O的整数。[0127]e)将上述标签和标签属性权重存储到信息模式图该语义属性节点上。[0128]特征权重和分类阈值学习S26:用于对信息模式图的每个语义属性节点对应的数据区或者迭代数据区特征权重和分类阈值进行学习,获得语义属性节点的特征权重和分类阈值,还要将语义属性节点的特征样本集合、特征权重和分类阈值保存到信息模式图该语义属性节点上。其中,语义属性节点为非迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值,语义属性节点为迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值以及迭代数据区特征样本集合、特征权重和分类阈值。[0129]设计思路为:抽取的实质是语义属性的数据区开始节点和结束节点的寻找。本发明给出了几个DOM树结构特征的实施例,用于区分正确数据区和噪音数据区,但不以此为限,可以根据实际的应用场景添加其它特征。DOM树结构特征分别是:[0130]a)开始和结束节点相对路径的特征。[0131]b)开始和结束节点的兄弟节点的特征:开始节点的左兄弟节点序列和结束节点的右兄弟节点序列,序列中节点数最好不超过5个。[0132]c)数据区内部的特征:最终标注数据区或者最终标注迭代数据区的根节点序列集合[0133]这些都是较为简单的特征,都可以表示为标签序列,所以可以使用同样的方式计算特征相似度。而且需要限制每个特征的标签序列的长度。多特征的动态组合使得他们具有较好的区分能力,上述特征的简单和简短性保证了本发明的抽取效率。[0134]对于任一开始节点和结束节点对构成的数据区,可以为其提取上述所有特征。同样的,对于任一迭代数据区,以迭代数据区节点作为开始和结束节点,也可以为其提取上述所有特征。[0135]本发明要提取每个语义属性的所有最终标注数据区或者最终标注数据区的特征,构成特征集合,把这个特征集合作为该语义属性的特征样本集合。如果语义属性是非迭代语义属性,对应的特征样本集合为数据区特征样本集合,即所有最终标注数据区的特征集合;如果语义属性是迭代语义属性,对应的特征样本集合包括两种:数据区特征样本集合和迭代数据区特征样本集合,其中,数据区特征样本集合为最终标注迭代数据区包含的所有最终标注数据区的特征集合,迭代数据区特征样本集合为最终标注迭代数据区节点的数据区的特征集合。[0136]给定一个语义属性的特征样本集合和特征权重,可以为一个数据区或者迭代数据区计算其在该语义属性上的综合得分。首先计算该数据区或者迭代数据区的每一个特征的特征得分,然后使用该语义属性的数据区或者迭代数据区特征权重对该数据区或者迭代数据区的不同特征的特征得分进行加权平均,得到综合得分。在计算该数据区或者迭代数据区的每一个特征的特征得分时,假设该数据区或者迭代数据区的当前特征的标签序列是S0,该语义属性的相应特征的特征样本集合为{Si,S2,…,SJ,使用基于编辑距离的最优串匹配方法计算该特征样本集合中每个标签序列Sk与Stl的相似度,相似度的计算公式为:【权利要求】1.一种网页信息的抽取方法,其特征在于,包括:包装器生成步骤,获得已标注网页,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;抽取器构建步骤,解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;待抽取网页抽取步骤,获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;数据导出步骤,导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。2.如权利要求1所述的网页信息的抽取方法,其特征在于,所述包装器生成步骤进一步为:所述信息模式图生成步骤,获得所述已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建所述信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;语义属性节点信息生成步骤,对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;`包装器文件导出步骤,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为所述包装器文件。3.如权利要求2所述的网页信息的抽取方法,其特征在于,所述待抽取网页抽取步骤的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区,进一步为:第一抽取步骤,对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;第二抽取步骤,根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。4.如权利要求3所述的网页信息的抽取方法,其特征在于,所述第一抽取步骤中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步为:对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。5.如权利要求4所述的网页信息的抽取方法,其特征在于,所述第二抽取步骤进一步为:对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺`序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。6.—种网页信息的抽取系统,其特征在于,包括:包装器生成模块,用于获得已标注网页,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;抽取器构建模块,用于解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;待抽取网页抽取模块,用于获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;数据导出模块,用于导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。7.如权利要求6所述的网页信息的抽取系统,其特征在于,所述包装器生成模块包括:所述信息模式图生成子模块,用于获得所述已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建所述信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;语义属性节点信息生成子模块,用于对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;包装器文件导出子模块,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为所述包装器文件。8.如权利要求7所述的网页信息的抽取系统,其特征在于,所述待抽取网页抽取模块的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区包括:第一抽取子模块,用于对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;第二抽取子模块,用于根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;`其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。9.如权利要求8所述的网页信息的抽取方法,其特征在于,所述第一抽取子模块中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步用于:对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。10.如权利要求9所述的网页信息的抽取系统,其特征在于,所述第二抽取子模块进一步用于:对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。【文档编号】G06F17/30GK103870506SQ201210548678【公开日】2014年6月18日申请日期:2012年12月17日优先权日:2012年12月17日【发明者】程学旗,万圣贤,余钧,郭岩,刘悦,张瑾,余智华申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1