CN103870506B - 一种网页信息的抽取方法和系统 - Google Patents
一种网页信息的抽取方法和系统 Download PDFInfo
- Publication number
- CN103870506B CN103870506B CN201210548678.4A CN201210548678A CN103870506B CN 103870506 B CN103870506 B CN 103870506B CN 201210548678 A CN201210548678 A CN 201210548678A CN 103870506 B CN103870506 B CN 103870506B
- Authority
- CN
- China
- Prior art keywords
- data area
- semantic attribute
- node
- candidate
- attribute node
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网页信息的抽取方法和系统。包括:获得已标注网页,生成语义结构树,构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,生成包装器,将包装器导出为包装器文件;构建用于抽取已标注网页的同类网页的抽取器;获得待抽取网页,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。本发明具有较高的通用性、泛化能力、容错性、可扩展性以及较低的人工参与度,同时本发明也保证了在线抽取的效率,从而具有较高的实用性。
Description
技术领域
本发明属于信息抽取领域,尤其涉及一种基于网页DOM树的包装器(wrapper)生成以及网页信息抽取技术。
背景技术
自从上世纪90年代以来,万维网(World Wide Web)得到飞速发展,包含的信息量爆炸式增长。互联网在日益成为人们广泛使用的工具的同时,也变成了一个巨大的知识宝库,其中蕴含着海量的有价值的信息。如何充分利用互联网上的海量信息为人类提供更好的服务一直都是人们关注的热点,而网页作为互联网上重要的信息载体,是从互联网上获取信息的主要途径,如何从网页中抽取出需要的信息已经成为一个重要的研究课题,也就是网页信息抽取。网页信息抽取就是从半结构化的网页中抽取出用户需要的数据,结构化地存储在数据库中。
相对于无结构化的自由文本以及结构化的XML文本而言,网页是一种半结构化的文本,内部信息都是被HTML标签包裹着,内部的HTML标签之间存在着一定的结构信息,但没有严格的格式。网页信息抽取通常使用机器学习和模式挖掘技术,从这些并不严格的结构中挖掘出文档内部具有的模式信息,并利用这些模式信息,抽取出用户需要的数据。
由于互联网上同类网页一般是基于一种特定的网页模板根据后台数据库生成的,所以这些网页之间以及网页内部相同类型的数据域之间在结构上存在很大程度的相似性。这种相似性主要体现在包裹这些数据域的网页标签序列以及网页DOM树的结构上。根据这些特点,目前常用的是一种基于模板的网页信息抽取方法,这种方法要求为每一类网页构造自己的包装器,每一个包装器包含一类网页的特征描述,系统根据这些特征从网页中找到所需信息。现有的网页抽取工具,根据自动化程度,可以分为手工编写规则的抽取系统,基于监督学习的抽取系统,基于半监督学习的抽取系统和基于无监督学习的抽取系统。
在手工编写规则的抽取系统中,用户需要使用一种通用的或者特别设计的编程语言为每一个网站手工编制一个包装器。这是早期的抽取系统使用的方法,这种方法的优点是人工编写的包装器适用性高,缺点是对用户的专业水平要求较高,而且生成的包装器不易维护,网络上数量庞大的数据源将消耗大量的人力资源。
在基于监督学习的抽取系统中,首先需要人工对网页中需要抽取的数据及其格式进行标注,然后系统通常采用机器学习的方法根据用户标注的样例自动训练出该类网页的包装器。相对于前一种系统,这种系统对用户的专业水平要求不高,并大大降低了用户参与时间。
在基于半监督学习的抽取系统中,用户不需要提供完整的被精确标注的样例,仅需要提供粗略标注的样例即可生成抽取规则,然而,由于没有用户的精确标注,这种系统的抽取结果是记录级的,数据记录内部属性的具体语义还需要用户进行后处理。
在基于无监督学习的抽取系统中,用户不需要直接参与包装器的生成过程。通过对待抽取页面中数据区的某些特征假定,比如,重复出现的DOM树结构或HTML串序列,从网页中选择特征符合较好的数据。这种系统通常对网页结构具有较强的假设,这就给应用范围带来局限,通用性低。
这几种方法相比,自动化程度越来越高,然而随着自动化程度的提高,系统的通用性和抽取结果的精确性相应降低,比如基于无监督学习的抽取系统自动化程度最高,但往往只能针对特定的网页和特定的抽取需求,并且很难实现数据的精确抽取以及给数据字段添加语义信息。
现存的基于监督学习的网页信息抽取方法通常利用已标注网页中数据区附近的标签序列特征或DOM树结构特征生成包装器,抽取时,系统遍历待抽取网页的标签序列或DOM树,匹配各个数据区的特征,如果特征匹配成功,则得到抽取结果。然而,现有方法存在如下问题:
1.特征规则过于具体而且匹配方式过于简单。比如使用DOM树的XPath作为特征,如“table/tr[3]/td[1]/a[1]”,括号中的数字表示该标签在其兄弟节点中的位置,该路径用于抽取table节点下的编号为3的tr节点下的编号为1的td节点下的编号为1的a节点,抽取的时候,系统严格根据XPath寻找到想要抽取的数据节点。这种方式对网页结构较为敏感,泛化能力较差,为了保证召回率,需要大量的规则和人工干预,而大量的规则又会导致规则之间发生冲突的可能性较大,比如一条特定的规则在一个网页中对应数据节点而在另一个稍有差异的网页中可能对应噪音节点。现有方法往往在准确率、召回率和人工代价之间顾此失彼。
2.特征规则单一。比如仅基于标签序列特征或仅基于DOM树相对路径特征进行抽取。在某些网页中,数据和噪音在现有方法使用的特征上差别较大,则该方法能取得较好的效果,然而在另一些网页中,数据和噪音在该方法使用的特征上可能差别并不明显,则该方法就无法取得好的抽取效果。方法的通用性不高。
3.不支持复杂的数据模式(语义结构)。随着万维网的发展,网页中的内容越来越多样,数据模式也越来越复杂,可能出现复杂的属性层次结构以及属性嵌套、乱序等情况。现有的方法往往只能支持简单的扁平数据模式,无法充分表达更复杂的数据模式。
4.抽取方法没有全局意识。现有的方法通常在网页局部成功匹配规则后不会考虑该匹配位置是否为最优位置以及该匹配对其它规则的后续匹配带来的影响,一次局部错误或失败的匹配可能对后续抽取带来一系列负面影响,抽取方法的健壮性较低。
发明内容
针对以上问题,本发明提出一种新的基于监督学习的网页信息的抽取方法和系统,克服了上述现有方法存在的问题。实现了网页信息抽取技术具有较高的通用性、泛化能力、容错性、可扩展性以及较低的人工参与度,同时也保证了在线抽取的效率,从而具有较高的实用性的发明目的。
本发明提出了一种网页信息的抽取方法,包括:
包装器生成步骤,获得已标注网页,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;
抽取器构建步骤,解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;
待抽取网页抽取步骤,获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;
数据导出步骤,导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
所述包装器生成步骤进一步为:
所述信息模式图生成步骤,获得所述已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建所述信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;
语义属性节点信息生成步骤,对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;
包装器文件导出步骤,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为所述包装器文件。
所述待抽取网页抽取步骤的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区,进一步为:
第一抽取步骤,对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;
第二抽取步骤,根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;
其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。
所述第一抽取步骤中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步为:
对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;
如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区,构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。
所述第二抽取步骤进一步为:
对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。
本发明还提供了一种网页信息的抽取系统,包括:
包装器生成模块,用于获得已标注网页,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;
抽取器构建模块,用于解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;
待抽取网页抽取模块,用于获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;
数据导出模块,用于导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
所述包装器生成模块包括:
所述信息模式图生成子模块,用于获得所述已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建所述信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;
语义属性节点信息生成子模块,用于对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;
包装器文件导出子模块,用于根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为所述包装器文件。
所述待抽取网页抽取模块的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区包括:
第一抽取子模块,用于对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;
第二抽取子模块,用于根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;
其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。
所述第一抽取子模块中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步用于:
对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;
如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区,构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。
所述第二抽取子模块进一步用于:
对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。
本发明的有益之处在于:
1.通用性较高。信息模式图的构建方法和层次抽取的方法使得本发明可以处理较为复杂的网页语义结构,包括属性的多序和嵌套结构等,从而具有较好的通用性。
2.泛化能力和扩展性较高。本发明使用多特征而不是单一特征进行抽取,并且特征之间的权重是针对具体网页的结构特点使用最大化分类边界的思想动态调整的,使得本发明可以有效处理不同结构特点的网页,从而使得抽取方法具有较好的泛化能力。分类阈值也是动态调整的,可以处理属性缺失的情况并有效地在不同结构特点的网页上达到准确率和召回率的平衡。另外,本发明可以较为简单的添加新的特征,从而进一步增强了方法的可扩展性。
3.人工参与度较低。在本发明中,特征的匹配方式并不是严格匹配,而是计算相似度得分。另外,标签权重是动态调整的,根据信息熵的思想,不同的标签在不同的网页和抽取层次下具有不同的权重,这样可以有效地识别不同标签的区分度,更好地应用于特征得分的计算。这种特征匹配的方式结合所述动态的特征权重、标签权重、分类阈值以及全局最优的抽取思想,使得本发明可以极大化地容忍待抽取数据区与用户标注的原始数据区之间的特征差异,大大提高了特征的泛化能力,从而有效地降低了人工参与度。另外,这些特征权重和标签权重的学习是在包装器生成阶段完成的,抽取时只用从包装器中一次性载入即可,不会对在线抽取的效率带来影响。
4.使用全局最优的思想指导在线抽取,容错性较高。本发明在进行抽取时会在所有可能的抽取方案中,选择最优的方案,这样不会因为某个局部的抽取错误导致全局的错误,这种思想也保证了即使在分类阈值设置过低(属性存在多个候选数据区)的情况下通常仍然能得到准确的抽取结果,从而具有较好的容错性。另外,如优点3中所述,这样可以极大化地容忍特征差异,降低人工参与度。
5.可以保证在线抽取效率。在线抽取阶段的所述候选数据区和候选迭代数据区选择步骤中使用的过滤算法在实际应用中可以有效地降低最终候选数据区和最终候选迭代数据区的数量,使得本发明在保证较高的准确率和召回率的同时,也保证了在线抽取的效率,从而保证了本发明具有较强的实用性。
附图说明
图1是网页信息的抽取方法的示意图。
图2是图1示意图的总流程图的实施例。
图3是对语义结构树的语义属性节点选择最终标注数据区的流程图的实施例。
图4是抽取器进行数据抽取的总流程图的实施例。
图5是图4中选择最终候选数据区/最终候选迭代数据区的流程图的实施例。
图6是网页信息的抽取系统的示意图。
图7A是一已标注网页中标注的一“消息message”语义属性的实施例。
图7B是图7A的已标注网页的DOM树中标注的图7A的“消息message”语义属性的实施例。
图8A是图7A的已标注网页中标注的另一“消息message”语义属性的实施例。
图8B是图8A的已标注网页的DOM树中标注的图8A的“消息message”语义属性的实施例。
图9A是图7A的已标注网页中标注的另一“消息message”语义属性的实施例。
图9B是图9A的已标注网页的DOM树中标注的图9A的“消息message”语义属性的实施例。
图10是根据图7A、图8A和图9A的三个不同的“消息message”语义属性生成的语义结构树的实施例。
图11是根据图10的语义结构树生成的信息模式图的实施例。
具体实施方式
下面结合实施例和附图对本发明的技术方案进行详细地介绍。
首先,对本发明的应用场景和用到的概念加以说明。
网页中的内容由一些语义单元构成,每个语义单元对应一个语义属性,语义属性的组合可以构成新的语义属性,将新的语义属性称为父语义属性,父语义属性直接包含的语义属性为子语义属性,同一父语义属性下的子语义属性之间互为兄弟语义属性。语义属性的每一个具体取值是网页的DOM树中的一个子树森林,子树森林内部的各个子树之间是连续不重叠的,也就是子树森林内部的相邻子树之间不存在其它子树且各个子树之间没有共同节点,将该子树森林称为该语义属性的一个数据区,将该子树森林中所有子树的根节点构成的列表称为该数据区的根节点列表,将该根节点列表中的第一个节点称为该数据区的开始节点,列表中的最后一个节点称为该数据区的结束节点。如果一个语义属性的所有数据区只包含一棵子树,也就是数据区的开始节点和结束节点是同一个节点,将该语义属性称为单节点语义属性,否则,为多节点语义属性。兄弟语义属性的数据区之间是不重叠的。兄弟语义属性的数据区之间存在一定的顺序,顺序可能有多种,但是通常是有规律可循的,另外,根据网页的具体内容,某些语义属性可能是缺失的。语义属性可以分为迭代语义属性和非迭代语义属性,对于一个语义属性,如果在其父语义属性的同一数据区中该语义属性的数据区最多只出现一次,则该语义属性为非迭代语义属性,如果在其父语义属性的同一数据区中该语义属性的数据区可能出现两次或多次,则该语义属性为迭代语义属性,比如,搜索引擎结果页面中包含多个网页条目,那么“网页条目”语义属性就是迭代语义属性,每个网页条目内部仅包含一个标题和摘要,那么“标题”和“摘要”就是相对于父语义属性“网页条目”的非迭代语义属性。本发明的技术方案是针对迭代语义属性是连续出现的情况,也就是同一迭代语义属性的两个数据区之间不存在别的语义属性的数据区,通常用户通过对抽取需求的简单组织,就可以满足这种情况。将在父语义属性的一个数据区中连续出现的同一迭代语义属性的数据区集合称为迭代语义属性的迭代数据区。迭代数据区包含的各个数据区的最小公共父节点LCP(离DOM树根节点最远的公共父节点)作为迭代数据区节点。标注是指用户通过浏览器插件在网页中选取其需要抽取的文本字段并为该文本字段添加用户自定义的语义信息(即语义属性)。被标注上语义属性的网页称为已标注网页。根据已标注网页中的标注信息,可以从已标注网页的DOM树中获取到每个语义属性的最终标注数据区。对于非迭代语义属性,获取到一个或多个最终标注数据区;对于迭代属性,获取到一个或多个最终标注迭代数据区。每个语义属性在已标注网页的DOM树中存在一个或多个最终标注数据区,也称为该语义属性的最终标注数据区集合,语义属性的最终标注数据区集合中所有最终标注数据区的开始节点构成该语义属性的开始节点集合(BNodeSet),所有最终标注数据区的结束节点构成该语义属性的结束节点集合(ENodeSet)。语义属性的开始节点集合(BNodeSet)中所有节点的HTML标签名称构成该语义属性的开始节点标签名称集合(BTagSet),语义属性的结束节点集合(ENodeSet)中所有节点的HTML标签名称构成该语义属性的结束节点标签名称集合(ETagSet)。语义属性的开始节点集合(BNodeSet)中所有节点到其父语义属性的数据区的根节点列表的相对路径构成该语义属性的开始节点相对路径集合(BPathSet),语义属性的结束节点集合(ENodeSet)中所有节点到其父语义属性的数据区的根节点列表的相对路径构成该语义属性的结束节点相对路径集合(EPathSet)。
本发明的总设计思路为:
用户先对一个或多个同类训练网页进行标注,获得对应的已标注网页;将用户标注的语义属性添加到已标注网页的DOM树中合适的数据节点上,根据用户标注的语义属性,生成每个已标注网页的语义结构树,得到每个语义属性的最终标注数据区。然后,对所有语义结构树进行解析,通过将语义结构树中所有同名语义属性节点整合为信息模式图中同一个语义属性节点的方式,来获取所有已标注网页对应的信息模式图。对于信息模式图中的每个非叶子语义属性节点,计算其对应的最终标注数据区集合内部包含的所有标签和标签属性权重(父语义属性的数据区内部的标签和标签特征权重用于抽取该父语义属性的所有子语义属性)。然后,对于信息模式图的每个语义属性节点,针对其对应的最终标注数据区或者最终标注迭代数据区提取若干个具有区分度的DOM树结构特征,并为其在已标注网页中提取数据区或者迭代数据区的正负例,根据该语义属性在已标注网页的DOM树中的正负例的情况动态调整这些DOM树结构特征的特征权重和分类阈值,其中,分类阈值用来过滤噪音数据区,可以处理语义属性缺失的情况。至此,包装器的内容生成完毕,将包装器导出为包装器文件,包装器文件可以被用于抽取其它同类网页。抽取其它同类网页(待抽取网页)时,根据信息模式图,在待抽取网页的DOM树中逐层递归抽取每个语义属性节点的抽取数据区或者抽取迭代数据区。先选择根语义属性节点在待抽取网页的DOM树中的抽取数据区,接着在根语义属性节点的抽取数据区中抽取其所有子语义属性节点的抽取数据区或者抽取迭代数据区,再使用相同的方法抽取这些子语义属性节点的所有子语义属性节点的抽取数据区或者抽取迭代数据区,直到所有非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区被抽取完毕,结束。
在上述的抽取过程中,先独立地为父语义属性节点的每个子语义属性节点寻找其可能的抽取结果,也就是最终候选数据区集合或者最终候选迭代数据区集合,然后根据父语义属性节点的所有子语义属性节点的全部出现顺序,从所有子语义属性节点的最终候选数据区集合或者最终候选迭代数据区集合中寻找整体最优的抽取方案作为抽取结果。
图1为网页信息的抽取方法的示意图。包括:包装器生成步骤(S11),获得已标注网页,根据已标注网页中的标注信息生成语义结构树,根据语义结构树构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件;抽取器构建步骤(S12),解析包装器文件得到信息模式图,构建用于抽取已标注网页的同类网页的抽取器;待抽取网页抽取步骤(S13),获得待抽取网页,构建待抽取网页的DOM树,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;其中,待抽取网页为已标注网页的同类网页;语义属性节点为非迭代语义属性节点时抽取获得抽取数据区,语义属性节点为迭代语义属性节点时抽取获得抽取迭代数据区;数据导出步骤(S14),导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
具体流程如下:
包装器生成步骤S11,获得已标注网页,根据已标注网页中的标注信息生成语义结构树,根据语义结构树构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件。包括:
信息模式图生成步骤,获得已标注网页,构建已标注网页的DOM树,根据已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,确定信息模式图的每个语义属性节点在已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;其中,语义属性节点为非迭代语义属性节点时对应最终标注数据区,语义节点为迭代语义属性节点时对应最终标注迭代数据区;
语义属性节点信息生成步骤,对于每个语义属性节点,获取和保存语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;其中,语义属性节点为非迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值,语义属性节点为迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值以及迭代数据区特征样本集合、特征权重和分类阈值;
包装器文件导出步骤,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件,其中语义属性节点信息包括每个语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值、非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序。
抽取器构建步骤S12,解析包装器文件得到信息模式图和所述语义属性节点信息,构建用于抽取已标注网页的同类网页的抽取器。
待抽取网页抽取步骤S13,获得待抽取网页,构建待抽取网页的DOM树,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;其中,待抽取网页为已标注网页的同类网页;语义属性节点为非迭代语义属性节点时抽取获得抽取数据区,语义属性节点为迭代语义属性节点时抽取获得抽取迭代数据区。包括:
第一抽取步骤,对于信息模式图的当前非叶子语义属性节点,抽取器在非叶子语义属性节点对应的抽取数据区或者抽取迭代数据区中,寻找非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;其中,子语义属性节点为非迭代语义属性节点时获取最终候选数据区集合,子语义属性节点为迭代语义属性节点时获取最终候选迭代数据区集合;
寻找非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合的操作,包括:
初始化非叶子语义属性节点的子语义属性节点对应的第一开始节点集合和第一结束节点集合;利用非叶子语义属性节点的子语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合和结束节点相对路径集合,分别对第一开始节点集合和第一结束节点集合进行过滤和匹配,产生第二开始节点集合和第二结束节点集合;从第二开始节点集合选择一开始节点,从第二结束节点集合选择一结束节点,生成第一候选数据区,形成非叶子语义属性节点的子语义属性节点对应的第一候选数据区集合;从第一候选数据区集合中删除开始节点出现在结束节点之后的第一候选数据区,生成第二候选数据区集合;计算每个第二候选数据区集合的第二候选数据区的综合得分,将综合得分不小于非叶子语义属性节点的子语义属性节点对应的数据区分类阈值的第二候选数据区保留,生成第三候选数据区集合;如果非叶子语义属性节点的子语义属性节点为非迭代语义属性节点,则第三候选数据区集合为非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取子语义属性节点对应的最终候选数据区集合完成;如果非叶子语义属性节点的子语义属性节点为迭代语义属性节点,使用贪心算法,从第三候选数据区集合中逐个选择与已选择的第三候选数据区互不且综合得分最大的第三候选数据区,直到无法选择新的第三候选数据区为止,形成第四候选数据区集合;
在第四候选数据区集合中,选择任意两个第四候选数据区作为开始数据区和结束数据区,开始数据区和结束数据区以及之间的所有数据区构成一个第一候选迭代数据区,形成第一候选迭代数据区集合;
对于第一候选迭代数据区集合中的每个第一候选迭代数据区,根据第一候选迭代数据区的最小公共父节点计算第一候选迭代数据区的综合得分,选择综合得分不小于非叶子语义属性节点的子语义属性节点对应的迭代数据区分类阈值的第一候选迭代数据区,构成非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。
第二抽取步骤,根据非叶子语义属性节点的子语义属性节点的全部出现顺序,从非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区。具体而言,对于非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从非叶子语义属性节点的所有子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成出现顺序对应的候选抽取方案集合,其中候选抽取方案中不同子语义属性节点对应的最终候选数据区或者最终候选迭代数据区不重叠,从候选抽取方案集合中选择综合得分的和最大的候选抽取方案为出现顺序对应的最优候选抽取方案;从非叶子语义属性节点的子语义属性节点的全部出现顺序对应的最优候选抽取方案中选择综合得分的和最大的最优候选抽取方案为最终抽取方案;最终抽取方案中的最终候选数据区或者最终候选迭代数据区作为非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。
数据导出步骤S14,导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
图2是图1示意图的总流程图的实施例。包括:
用户标注S21:用于对训练网页S20进行用户标注,生成已标注网页S22,构建已标注网页的DOM树DT。其中,用户标注的语义属性被添加到已标注网页的DOM树中相应的数据节点上,请参见图7A、图8A、图9A、图7B、图8B和图9B。训练网页为一个或多个。
图7A、图8A和图9A分别显示了同一已标注网页上的三个不同的“消息message”语义属性。
图7A的“消息message”语义属性为2层结构。第1层为“消息message”;第2层中包括四个子语义属性,它们的出现顺序为:“作者author”、“位置location”、“发布时间publish_time”和“内容content”。第1层的语义属性在已标注网页中对应的标注信息为“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_语义属性”代表该语义属性的结束位置。
图8A的“消息message”语义属性分为3层结构。第1层为“消息message”;第2层中包括五个子语义属性,它们的出现顺序为:“作者author”、“位置location”、“发布时间publish_time”、“回复消息ori_message”和“内容content”;第3层中包括两个子语义属性,它们是第2层“回复消息ori_message”的子语义属性,它们的出现顺序为:“作者author”和“内容content”。
图9A的“消息message”语义属性分为4层结构。第1层为“消息message”;第2层中包括五个子语义属性,它们的出现顺序为:“位置location”、“作者author”、“发布时间publish_time”、“回复消息ori_message”和“内容content”;第3层中包括三个子语义属性,它们是第2层“回复消息ori_message”的子语义属性,它们的出现顺序为:“作者author”、“内容content”和“回复消息ori_message”;第4层中包括两个子语义属性,它们是第3层“回复消息ori_message”的子语义属性,它们的出现顺序为:“作者author”和“内容content”。
图7B、图8B和图9B分别显示了图7A、图8A和图9A对应的已标注网页的三个不同的“消息message”语义属性在已标注网页的DOM树中对应的数据区的标注情况。即已标注网页的DOM树中显示了每个语义属性对应的用户标注的原始数据区。例如:“作者author”语义属性的用户标注的原始数据区为标注信息“AET:AB_author”和“AET:AE_author”之间的数据区,“消息message”语义属性的用户标注的原始数据区为标注信息“AET:AB_message”和“AET:AE_message”之间的数据区。
语义结构树生成S23:用于根据已标注网页S22上的标注的语义属性,生成已标注网页S22对应的语义结构树ST,在已标注网页的DOM树中为语义结构树的语义属性节点选择对应的最终标注数据区Rnew。为每个已标注网页分别生成一棵语义结构树ST。图10为根据图7A、图8A和图9A的三个不同的“消息message”语义属性和“根ROOT”语义属性生成的语义结构树,其中,对已标注网页的DOM树的根节点,也就是“html”节点,标注“根ROOT”语义属性,再从已标注网页的DOM树中提取所有标注的语义属性生成语义结构树(由于添加了根语义属性节点“根ROOT”,使用用户标注的所有语义属性可以生成该已标注网页的语义结构树)。
最终标注数据区Rnew要满足以下条件:
a)对于语义结构树的叶子语义属性节点,则其最终标注数据区仅包含用户针对该语义属性选中的所有文本信息,而不包含非选中的文本信息(噪音信息)。
b)对于语义结构树的非叶子语义属性节点,则其最终标注数据区仅包含其所有子语义属性节点的最终标注数据区Rnew,而不包含其它语义属性节点的数据区。
c)兄弟语义属性节点的最终标注数据区之间不存在重叠。
通常,语义属性的最终标注数据区可以表示为已标注网页的DOM树中的一棵子树,也就是说,语义属性可以是单节点语义属性,这样的语义属性抽取难度相对较低。另外,一般说来,子树的根节点越接近已标注网页的DOM树的根节点,子树根节点的局部结构特点与网页的具体内容越不相关,越可能是网页的模板节点,同类网页之间在该节点处出现变化的可能性越低,所以对语义属性在已标注网页的DOM树的数据区进行标注位置调整的过程中,尽可能提升该子树的根节点。
在已标注网页的DOM树中,为语义结构树的语义属性节点选择对应的最终标注数据区Rnew的总设计思路如下:
a)为语义结构树中的每个叶子语义属性节点在已标注网页的DOM树中寻找对应的最终标注数据区。对于语义结构树中的叶子语义属性节点,找到该语义属性节点的对应的用户标注的原始数据区Rold必须包含的所有文本节点的最小公共父节点LCP,如果该父节点对应的数据区不满足上述的最终标注数据区的条件,则说明该父节点位置过高,降低位置,直到找到满足条件的语义属性节点的数据区的开始节点和结束节点,结束;否则,如果该父节点没有兄弟节点,提升标注位置到该父节点的父节点,直到无法提升,结束。
b)为语义结构树中的每个非叶子语义属性节点在已标注网页的DOM树中寻找对应的最终标注数据区。对于语义结构树中的非叶子语义属性节点,找到该语义属性节点的所有子语义属性节点的最终标注数据区的最小公共父节点LCP,同样地,如果该父节点不满足上述的最终标注数据区的条件,则说明该父节点位置过高,降低位置,直到找到满足条件的语义属性开始节点和结束节点,结束;否则,如果该父节点没有兄弟节点,提升标注位置到该父节点的父节点,直到无法提升,结束。
图3是对语义结构树的语义属性节点选择最终标注数据区的流程图的实施例。
信息模式图生成S24:用于根据语义结构树生成信息模式图。
设计思路为:根据语义结构树得到网页的信息模式图。信息模式图是一个有向图,为了表达网页中可能出现的语义属性嵌套模式,允许信息模式图中包含环。为S23中每棵语义结构树的每个语义属性在信息模式图中建立一个语义属性节点,同名语义属性在语义结构树中的多次出现对应信息模式图中的同一个语义属性节点。对于语义结构树中语义属性间的每个不同的‘父-子’关系,在信息模式图中添加一条从父语义属性节点指向子语义属性节点的有向边,这样网页的信息模式图生成完毕。
由于S30中的抽取是按层次进行的,也就是沿着有向图(信息模式图)的边指向的方向进行抽取,每个语义属性抽取完成后继续抽取其子语义属性。所以,在信息模式图中的每个非叶子语义属性节点上需要存储用于抽取其子语义属性的相关信息,比如:其子语义属性节点的全部出现顺序、最终标注数据区或者最终标注迭代数据区的DOM树结构特征。
信息模式图中兄弟语义属性之间往往是按照一定出现顺序出现的,比如:新闻网页的“新闻标题”语义属性就总是出现在“新闻正文”语义属性之前;在某些情况下,出现顺序是区分某些语义属性的必要特征,比如网页中同一表格(<table>)中不同列的信息;另外,语义属性的出现顺序是并不唯一的,可能存在多种出现顺序。对于一个父语义属性,根据其所有用户标注信息,将其子语义属性的所有可能的出现顺序存储在该父语义属性的信息模式图节点中,该出现顺序被使用于S30。
图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”的“回复消息ori_message”,为非迭代语义属性,对应最终标注数据区集合,即图10的三个“回复消息ori_message”语义属性的最终标注数据区的集合;“内容content”语义属性对应图10的第一个“消息message”的“内容content”、第二个“消息message”的“内容content”、第二个“消息message”的“回复消息ori_message”的“内容content”、第三个“消息message”的“内容content”、第三个“消息message”的“回复消息ori_message”的“内容content”、第三个“消息message”的“回复消息ori_message”的“回复消息ori_message”的“内容content”,为非迭代语义属性,对应最终标注数据区集合,即图10的六个“内容content”语义属性的最终标注数据区的集合。
图11中,“回复消息ori_message”语义属性节点为语义属性嵌套模式,存在一条自身指向自身的边,也就是存在环状结构。
图11中,“消息message”语义属性的子语义属性的全部顺序为:1)“作者author”、“位置location”、“发布时间publish_time”和“内容content”;2)“作者author”、“位置location”、“发布时间publish_time”、“回复消息ori_message”和“内容content”;3)“位置location”、“作者author”、“发布时间publish_time”、“回复消息ori_message”和“内容content”。“回复消息ori_message”语义属性的子语义属性的全部顺序为:1)“作者author”和“内容content”;2)“作者author”、“内容content”和“回复消息ori_message”。
信息模式图的每个语义属性节点上要保存对应的最终标注数据区或者最终标注迭代数据区的开始节点集合、结束节点集合、开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、开始节点左兄弟节点序列集合、结束节点右兄弟节点序列集合和根节点序列集合,非叶子语义属性节点上还要保存其子语义属性节点的全部出现顺序。此外,信息模式图的每个语义属性节点上还要保存对应的标签和标签属性权重信息、特征样本集合、特征权重和分类阈值。
标签和标签属性权重计算S25:用于对信息模式图的每个非叶子语义属性节点对应的最终标注数据区或者最终标注迭代数据区中包含的标签和标签中包含的属性进行统计,获得标签和标签属性的权重。
设计思路为:数据区的不同的HTML标签和标签属性值具有不同的区分度,比如:“h1”标签,通常包含的内容是网页的标题,并且在很多网页中只出现一次,那么在抽取这些网页的标题时“h1”就是一个区分度非常高的标签。本发明中,使用信息论中熵的思想来度量不同HTML标签和标签属性的区分度,也就是信息量。由于S30的抽取阶段是根据信息模式图逐层递归地抽取的,所以关注的是抽取当前层次时不同标签的区分度,是局部的区分度。对信息模式图中的所有具有子语义属性节点的语义属性,分别计算其数据区内包含的标签和标签属性的权重,具体步骤如下:
a)从已标注网页的DOM树中,获取该语义属性的最终标注数据区或者最终标注迭代数据区。
b)统计最终标注数据区或者最终标注迭代数据区中每个标签出现的次数n以及所有标签出现的总次数N。每个标签的权重为:
weight=log(N+1/n+1),
其中,加1是为了平滑那些没有出现的标签,即对于该语义属性,在最终标注数据区或者最终标注迭代数据区中没有出现的标签的权重为log(N+1),weigh表示标签的权重,n和N为不小于0的整数。
d)对每个标签内部的不同标签属性值,统计该标签出现的次数n以及该标签属性出现的次数m,每个标签属性的权重为:
weight=log(n+1/m+1),
其中,加1是为了平滑那些没有出现的标签属性,即对于该语义属性的标签,在最终标注数据区或者最终标注迭代数据区的标签中没有出现的标签属性的权重为log(n+1),weigh表示标签属性的权重,m和n为不小于0的整数。
e)将上述标签和标签属性权重存储到信息模式图该语义属性节点上。
特征权重和分类阈值学习S26:用于对信息模式图的每个语义属性节点对应的数据区或者迭代数据区特征权重和分类阈值进行学习,获得语义属性节点的特征权重和分类阈值,还要将语义属性节点的特征样本集合、特征权重和分类阈值保存到信息模式图该语义属性节点上。其中,语义属性节点为非迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值,语义属性节点为迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值以及迭代数据区特征样本集合、特征权重和分类阈值。
设计思路为:抽取的实质是语义属性的数据区开始节点和结束节点的寻找。本发明给出了几个DOM树结构特征的实施例,用于区分正确数据区和噪音数据区,但不以此为限,可以根据实际的应用场景添加其它特征。DOM树结构特征分别是:
a)开始和结束节点相对路径的特征。
b)开始和结束节点的兄弟节点的特征:开始节点的左兄弟节点序列和结束节点的右兄弟节点序列,序列中节点数最好不超过5个。
c)数据区内部的特征:最终标注数据区或者最终标注迭代数据区的根节点序列集合。
这些都是较为简单的特征,都可以表示为标签序列,所以可以使用同样的方式计算特征相似度。而且需要限制每个特征的标签序列的长度。多特征的动态组合使得他们具有较好的区分能力,上述特征的简单和简短性保证了本发明的抽取效率。
对于任一开始节点和结束节点对构成的数据区,可以为其提取上述所有特征。同样的,对于任一迭代数据区,以迭代数据区节点作为开始和结束节点,也可以为其提取上述所有特征。
本发明要提取每个语义属性的所有最终标注数据区或者最终标注数据区的特征,构成特征集合,把这个特征集合作为该语义属性的特征样本集合。如果语义属性是非迭代语义属性,对应的特征样本集合为数据区特征样本集合,即所有最终标注数据区的特征集合;如果语义属性是迭代语义属性,对应的特征样本集合包括两种:数据区特征样本集合和迭代数据区特征样本集合,其中,数据区特征样本集合为最终标注迭代数据区包含的所有最终标注数据区的特征集合,迭代数据区特征样本集合为最终标注迭代数据区节点的数据区的特征集合。
给定一个语义属性的特征样本集合和特征权重,可以为一个数据区或者迭代数据区计算其在该语义属性上的综合得分。首先计算该数据区或者迭代数据区的每一个特征的特征得分,然后使用该语义属性的数据区或者迭代数据区特征权重对该数据区或者迭代数据区的不同特征的特征得分进行加权平均,得到综合得分。在计算该数据区或者迭代数据区的每一个特征的特征得分时,假设该数据区或者迭代数据区的当前特征的标签序列是S0,该语义属性的相应特征的特征样本集合为{S1,S2,…,Sn},使用基于编辑距离的最优串匹配方法计算该特征样本集合中每个标签序列Sk与S0的相似度,相似度的计算公式为:
其中,matchWeight(Sk,S0)是两个标签序列S0和Sk中匹配成功的标签和标签属性的权重之和,weight(S0)和weight(Sk)分别为S0和Sk中包含的所有标签和标签属性的权重之和,n为当前特征的特征样本集合中标签序列的数量,为大于0的整数,Sk为第k个标签序列,k=1,2,….,n。在根据特征样本集合得到的所有相似度中,选择最大的相似度作为该数据区或者迭代数据区的当前特征的特征得分。
本发明独立地为每个语义属性训练用于区分其正确数据区或者噪音数据区和正确迭代数据区或者噪音迭代数据区的特征权重和分类阈值。语义属性节点为非迭代语义属性节点时,获得数据区特征权重和分类阈值;语义属性节点为迭代语义属性节点时,不仅要获得数据区特征权重和分类阈值,还要获得迭代数据区特征权重和分类阈值。
对于非迭代属性,获得数据区特征权重和分类阈值的步骤如下:
1)语义属性的最终标注数据区为该语义属性的数据区正例,在已标注网页的DOM树中,使用S30中S841初始化第一开始节点集合和第一结束节点集合。从第一开始节点集合中删除掉所有正例的开始节点,从第一结束节点集合中删除掉所有负例的开始节点。再使用S842、S843、S844和S845生成第二候选数据区集合,将第二候选数据区集合中所有候选数据区集合作为该语义属性的数据区负例;
2)根据数据区正负例调整数据区特征权重,获得该非迭代语义属性的数据区特征权重;
3)确定特征权重后,取(负例的最大综合得分score+1.0)/2作为该非迭代语义属性的数据区分类阈值。
对于迭代语义属性,要先训练数据区特征权重和分类阈值,再训练迭代数据区特征权重和分类阈值。获得迭代语义属性的数据区特征权重和分类阈值以及迭代数据区特征权重和分类阈值的步骤如下:
1)最终标注迭代数据区的所有最终标注数据区为该迭代语义属性的数据区正例。在已标注网页的DOM树中,使用S30中S841初始化第一开始节点集合和第一结束节点集合,从第一开始节点集合中删除掉所有出现在某一最终标注迭代数据区节点内部的节点,从第一结束节点集合中删除掉所有出现在某一最终标注迭代数据区节点内部的节点。再通过S842、S843、S844和S845生成第二候选数据区集合,所有第二候选数据区为数据区负例;
2)根据数据区正负例调整数据区特征权重,获得该迭代语义属性的数据区特征权重;
3)确定数据区特征权重后,取(数据区负例的最大综合得分score+1.0)/2作为该迭代语义属性的数据区分类阈值;
4)对所有数据区负例使用已经学到的数据区特征权重计算综合得分,过滤掉那些综合得分小于数据区分类阈值的负例;
5)最终标注迭代数据区为该迭代语义属性的迭代数据区正例,从数据区正例和数据区负例的集合中任选两个数据区作为开始数据区和结束数据区,开始数据区、结束数据区以及它们之间的数据区构成了第一迭代数据区集合;从第一迭代数据区集合中过滤掉迭代数据区节点和迭代数据区正例的迭代数据区节点相同的第一迭代数据区,剩余的所有第一迭代数据区为该迭代语义属性的迭代数据区负例;
6)根据迭代数据区正负例调整迭代数据区特征权重,获得该迭代语义属性的迭代数据区特征权重;
7)确定迭代数据区特征权重后,取(迭代数据区负例的最大综合得分score+1.0)/2作为该迭代语义属性的迭代数据区分类阈值。
具体的特征权重调整步骤如下:
a)初始化默认特征权重(w1,w2,…,wn)。其中,w1+w2+…+wn=1,n为特征的种类数,为大于0的整数;wk为第k种特征的特征权重,为大于等于0的实数,k=1,2,….,n。
b)根据现有特征权重计算所有负例的综合得分,选择综合得分最大的负例MaxNegCandi。
c)对每个特征的现有权重减少同样的实数值dstep,如果wk<dstep,则不减少wk,则n个特征共减少了dreduce。
其中,t+1为当前特征权重调整的次数,小于预设值T,t为自然数,T为整数。
d)将dreduce根据MaxNegCandi的每个特征的特征得分的倒数,按比例分配到各个特征权重上。假设MaxNegCandi的特征集合的特征得分为(s1,s2,…,sn),则更新后的特征权重为:
其中,sk为第k种特征的特征得分,为大于等于0的实数。
e)如果调整次数t少于T次,则跳转到2继续调整。
包装器文件导出S27:用于根据信息模式图和语义属性节点信息生成已标注网页的包装器,将包装器导出为已标注网页的包装器文件S271。其中,语义属性节点信息包括语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值、非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序。
抽取器构建S28:用于解析包装器文件得到信息模式图和所述语义属性节点信息,构建用于抽取已标注网页的同类网页的抽取器。
抽取器按层次抽取S30:用于对待抽取网页S29构造待抽取网页的DOM树,在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归地对每个语义属性节点进行抽取最终候选数据区或者最终候选迭代数据区的操作S301和结合语义属性的出现顺序抽取最优结果的操作S302,获得最优结果中的抽取数据区或者抽取迭代数据区中的数据S31。其中,抽取最终候选数据区或者最终候选迭代数据区的操作S301,用于在待抽取网页的DOM树中抽取每个语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;结合语义属性的出现顺序抽取最优结果的操作S302,用于结合非叶子语义属性节点的子语义属性节点的出现顺序,从子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中抽取最优结果,即抽取子语义属性节点对应的抽取数据区或者抽取迭代数据区。
S30的设计思路为:抽取的时候,从信息模式图的“根ROOT”语义属性开始,逐层进行抽取。先抽取出“根ROOT”语义属性的所有子语义属性,然后在每个子语义属性的数据区内部,抽取该子语义属性的所有子语义属性。其中,各个兄弟语义属性的内部抽取之间相互独立,且所有层次的抽取使用相同的方法。
下面,以一较佳实施例进行描述:
假设当前已经完成语义属性P的抽取,语义属性P有k个子语义属性{C1,…,Ck},那么当前层次的抽取目标是确定所有子语义属性在DOM树中的开始和结束节点对{(B1,E1),(B2,E2),…,(Bk,Ek)}(如果子语义属性是迭代语义属性,可能存在多个开始和结束节点对)。对P的抽取数据区或者抽取迭代数据区中的每个抽取数据区都进行如下处理。其中,Rp为P在待抽取网页的DOM树中的一个抽取数据区。首先从Rp中为P的每个子语义属性独立选择所有可能的候选数据区,每个候选数据区就是一个开始和结束节点对(B,E),对每个候选数据区计算其综合得分,然后从不同子语义属性的候选数据区组合中寻找满足子语义属性的出现顺序的整体综合得分最高的组合作为抽取结果。另外,对于迭代语义属性,在寻找其候选数据区之后,还要进一步地获取其候选迭代数据区,并使用候选迭代数据区而不是候选数据区进行最高整体综合得分的抽取结果的选择。具体步骤如下:
a)选择信息模式图的P的子语义属性节点的最终候选数据区或者最终候选迭代数据区集合。
初始化每个子语义属性的第一开始节点集合(BCandiSet1)和第一结束节点集合(ECandiSet1)为Rp内部所有节点,然后对其进行如下的过滤:
(1)根据节点标签名称过滤。对于BCandiSet1中的每个节点,如果其标签名称未出现在该子语义属性的BTagSet中,则将该节点从BCandiSet1中删除,生成BCandiSet’。类似地,对于ECandiSet中的每个节点,如果其标签名称未出现在该子语义属性的ETagSet中,则将该节点从ECandiSet1中删除,生成ECandiSet’。
(2)根据相对路径匹配方式进行过滤。对于BCandiSet’中的每个节点,将其相对路径与该子语义属性的BPathSet中的每条相对路径进行基于最小编辑距离的串匹配。如果存在一种最优匹配方案,使得该节点和BNodeSet中的节点匹配,则保留该节点,否则将该节点从BCandiSet’中删除,生成第二开始节点集合BCandiSet2。类似地,对ECandiSet’执行同样的匹配操作,生成第二结束节点集合ECandiSet2。
经过上述步骤后的BCandiSet2中包含m个节点,ECandiSet2中包含n个节点。将BCandiSet2和ECandiSet2中的节点两两组合,生成m*n个第一候选数据区,形成第一候选数据区集合(CandidateSet1)。从CandidateSet1中删除掉那些开始节点出现在结束节点之后(根据先序遍历顺序)的第一候选数据区,生成第二候选数据区集合(CandidateSet2)。然后对CandidateSet2中的每个第二候选数据区计算其综合得分,删除那些综合得分低于该语义属性对应的数据区分类阈值的第二候选数据区,生成第三候选数据区集合(CandidateSet3)。
如果该子语义属性是非迭代语义属性,该子语义属性的最终候选数据区集合为CandidateSet3,选择结束。
如果该语义属性是迭代语义属性,继续进行下述的操作为其选择最终候选迭代数据区集合:
上述的第三候选数据区集合CandidateSet3中的第三候选数据区彼此之间可能存在重叠。如果两个数据区之间存在重叠,认为它们是互相冲突的。和非迭代语义属性不同,迭代语义属性需要从CandidateSet3中选择多个互不冲突的第三候选数据区。为了保证召回率和准确率,对最终选择方案的要求是:(1)不存在一个未被方案选中的第三候选数据区和方案选中的所有第三候选数据区均不冲突的情况;(2)最终选择方案是满足条件(1)的所有可能的选择方案中第三候选数据区的平均综合得分最大的选择方案,如果存在多个这样的方案,则选择第三候选数据区较多的方案。
获得上述的最终选择方案是一个np-hard问题,使用贪心的策略来近似。具体步骤如下:
(1)从CandidateSet3中选择一个综合得分最大的第三候选数据区,Candidatemax。
(2)根据Candidatemax的位置,将CandidateSet3分为两个部分,LeftCandiSet3和RightCandiSet3。其中,LeftCandiSet3中的每个第三候选数据区都位于Candidatemax的左边(先序序号较小为左)且与Candidatemax不重叠,类似地,RightCandiSet3在右边。
(3)递归地对LeftCandiSet3和RightCandiSet3进行(1)和(2)的操作,最终得到一个互不重叠的数据区序列{Candidate41,…,Candidate4i},形成第四候选数据区集合CandidateSet4。
由于迭代语义属性的迭代数据区是连续的,只需要确定迭代数据区的起始数据区和结束数据区就可以确定迭代数据区。选择不同的起始和结束位置,这i个候选数据区可以得到i(i+1)/2个不同的连续的候选迭代数据区,也就是i(i+1)/2个不同的候选迭代数据区。取CandidateSet4中任意两个第四候选数据区作为的开始数据区和结束数据区,开始数据区和结束数据区以及之间的所有数据区构成一个第一候选迭代数据区,形成第一候选迭代数据区集合,使用第一候选迭代数据区节点,计算第一候选迭代数据区的综合得分。删除那些综合得分低于该语义属性对应的迭代数据区分类阈值的第一候选迭代数据区,生成最终候选迭代数据区集合。给该综合得分添加一点小的扰动,使第一候选迭代数据区中包含的候选数据区越多则得分越大,目的是使得在不影响其他语义属性抽取的前提下,尽可能地抽取出更多的数据区。
b)根据信息模式图的语义属性节点P的子语义属性节点的出现顺序,选择不同子语义属性之间的最终候选数据区或者最终候选迭代数据区的最优组合,作为最终的数据区组合。
在步骤a)中,已经为每个子语义属性得到了最终候选数据区集合或者最终候选迭代数据区集合。这一步的目标是为非迭代语义属性选择一个合适的数据区(抽取数据区),为迭代语义属性节点选择一个合适的迭代数据区(抽取迭代数据区,包含一个或多个抽取数据区)作为最终的抽取结果。根据非迭代语义属性的最终候选数据区综合得分和迭代语义属性的最终候选迭代数据区综合得分,期望抽取结果满足如下要求:
(1)抽取结果中各子语义属性的数据区或者迭代数据区之间没有重叠。
(2)抽取结果中各子语义属性的数据区或者迭代数据区的出现顺序必须和语义属性节点P上保存的其子语义属性的某种出现顺序一致。
(3)在满足(1)和(2)的所有可能的抽取结果中,选择各子语义属性的数据区或者迭代数据区的综合得分之和最大的抽取结果,作为最终的抽取结果。
上述要求的实现方法为:首先针对语义属性节点P的所有子语义属性的一种出现顺序,求解满足该出现顺序的最优抽取结果。使用隐马尔科夫模型中著名的维特比算法可以直接对这个问题进行求解。然后,从不同出现顺序的最优抽取结果中选择整体综合得分最大的抽取结果最为最终的抽取结果。假设一共有k种出现顺序,m个子属性,每个子属性有n个候选数据区或者候选迭代数据区,算法总的时间复杂度为O(kmn2)。在实际应用中通常k和m较小,通过之前的过滤算法,n也不会太大。这一复杂度不会对效率带来太大的影响。
图4是抽取器进行数据抽取的总流程图的实施例。
图5是图4中选择最终候选数据区或者最终候选迭代数据区的流程图的实施例。
下面对图3、图4和图5进行详细地介绍。
图3是对语义结构树的语义属性节点选择最终标注数据区Rnew的流程图的实施例。具体步骤如下:
S51,为语义结构树ST的每个叶子语义属性节点获取用户标注的原始数据区Rold,初始化每个叶子语义属性节点对应的临时数据区Rtmp的值为Rold;其中,ST的叶子语义属性节点对应的原始数据区Rold为其第一个text节点和最后一个text节点构成的数据区;
S52,在ST中按照从下至上逐层选择的顺序,选择当前语义属性节点N(ST);
S53,判断当前语义属性节点N(ST)是否为叶子语义属性节点,如果是叶子语义属性节点,进入S54;否则,进入S55;
S54,初始化用于降低RB的路径的最后一个节点RBleaf为临时数据区Rtmp的第一个text节点的父节点,用于降低RE的路径的最后一个节点REleaf为临时数据区Rtmp的最后一个text节点的父节点,获取当前语义属性节点N(ST)对应的临时数据区Rtmp中的所有text节点的最小公共父节点LCP,分别作为当前语义属性节点N(ST)在已标注网页的DOM树DT中对应的当前节点N(DT)、Rtmp的开始节点RB和Rtmp的结束节点RE,使用开始节点RB和结束节点RE确定当前语义属性节点N(ST)对应的新的临时数据区Rtmp,进入S56。本发明的另一较佳实施例,对语义结构树ST的所有叶子语义属性节点的上述初始化操作在步骤S51中实现;
S55,初始化用于降低RB的路径的最后一个节点RBleaf为当前语义属性节点N(ST)的第一个子语义属性节点的最终标注数据区Rnew的开始节点,用于降低RE的路径的最后一个节点REleaf为当前语义属性节点N(ST)的最后一个子语义属性节点的最终标注数据区Rnew的结束节点,获取当前语义属性节点N(ST)的全部子语义属性节点对应的最终标注数据区Rnew的最小公共父节点LCP,作为当前语义属性节点N(ST)在已标注网页的DOM树DT中对应的当前节点N(DT)、Rtmp的开始节点RB和Rtmp的结束节点RE,使用Rtmp的开始节点RB和Rtmp的结束节点RE确定当前语义属性节点N(ST)对应的新的临时数据区Rtmp,进入S56;
S56,判断当前语义属性节点N(ST)对应的临时数据区Rtmp中是否包含噪音信息,如果包含噪音信息,进入S57;否则,进入S58。其中,对于叶子语义属性节点,噪音信息为不属于Rold的text节点;对于非叶子语义属性节点,噪音信息为不属于非叶子语义属性节点的子语义属性节点的数据区;
S57,沿着当前语义属性节点N(ST)在DT中对应的当前节点N(DT)到用于降低RB的路径的最后一个节点RBleaf的路径降低RB,当前语义属性节点N(ST)在DT中对应的当前节点N(DT)到用于降低RE的路径的最后一个节点REleaf的路径降低RE,使用Rtmp的开始节点RB和Rtmp的结束节点RE确定N(ST)对应的新的Rtmp,进入S59。其中,每次路径降低操作中在两条路径上分别降低一个节点;
S58,判断当前语义属性节点N(ST)在DT中对应的当前节点N(DT)是否有兄弟节点,如果有兄弟节点,进入S61;否则,进入S60;
S59,判断当前语义属性节点N(ST)对应的临时数据区Rtmp是否包含噪音信息,如果包含噪音信息,进入S57;否则,进入S61。其中,对于噪音信息的定义与S56中的相同;
S60,使用当前语义属性节点N(ST)在DT中对应的当前节点N(DT)的父节点,作为当前语义属性节点N(ST)在已标注网页的DOM树DT中对应的当前节点N(DT)、Rtmp的开始节点RB和Rtmp的结束节点RE,进入S58;
S61,使用Rtmp的开始节点RB和Rtmp的结束节点RE确定当前语义属性节点N(ST)对应的最终标注数据区Rnew;
S62,判断语义结构树ST中是否有未处理的语义属性节点,如果有,进入S52;否则,结束。
图4是抽取器进行数据抽取的总流程图的实施例。具体步骤如下:
S82,对待抽取网页S81进行构造待抽取网页DOM树DT的操作,获得待抽取网页DOM树DT;
S83,初始化信息模式图SG的当前语义属性节点NP为信息模式图SG的根节点ROOT,初始化当前语义属性节点NP的抽取数据区R(NP)为整个待抽取网页DOM树DT;
S84,抽取当前语义属性节点NP的每个子语义属性节点NC的最终候选数据区集合CR,如果NC是迭代语义属性为其抽取最终候选迭代数据区集合ICR。S84的具体实现流程请参见图5,图5是图4中选择最终候选数据区或者最终候选迭代数据区的流程图的实施例;
S85,对当前语义属性节点NP的所有子语义属性节点NC,结合子语义属性节点NC的出现顺序,从它们的最终候选数据区集合CR或者最终候选迭代数据区集合ICR中,求解整体得分最高的抽取结果,即抽取数据区或者抽取迭代数据区R(NC)的集合。
以图11的信息模式图SG为例,对S85的整个抽取过程具体进行介绍。比如:当前语义属性节点NP为“消息message”,其所有子语义属性节点NC为“作者author”、“位置location”、“发布时间publish_time”、“回复消息ori_message”和“内容content”,这些子语义属性节点NC有3种出现顺序。首先,针对每种出现顺序,从这些子语义属性节点NC对应的最终候选数据区集合CR或者最终候选迭代数据区集合ICR中,分别选择至多一个最终候选数据区或者最终候选迭代数据区构成该出现顺序一个候选抽取方案(候选抽取方案中不同NC对应的最终候选数据区和最终候选迭代数据区不重叠),进而形成该出现顺序对应的候选抽取方案集合,从候选抽取方案集合选择综合得分的和最大的候选抽取方案为该出现顺序对应的最优候选抽取方案;最后,从3种出现顺序对应的最优候选抽取方案中选择综合得分的和最大的最优候选抽取方案为最终抽取方案,最终抽取方案中的最终候选数据区或者最终候选迭代数据区作为抽取结果。
S86,选择当前语义属性节点NP的未被进行后续抽取的子语义属性节点NC。即选择未进行S87等后续抽取操作的子语义属性节点NC;
S87,判断子语义属性节点NC是否抽取成功,如果抽取成功进入S88,否则返回S86;
S88,判断子语义属性节点NC是否有子语义属性节点,如果有子语义属性节点进入S90,否则进入S89;
S89,判断是否不存在未被选择的子语义属性节点NC,如果不存在未被选择的子语义属性节点NC进入S91,否则返回S86;
S90,使用子语义属性节点NC作为新的当前语义属性节点NP,返回S84;
S91,判断当前语义属性节点NP是否为根语义属性节点ROOT,如果是根语义属性节点ROOT进入S93,否则进入S92;
S92,返回当前语义属性节点NP的父节点,即将当前语义属性节点NP的父节点作为新的当前语义属性节点NP;
S93,保存全部抽取结果。
图5是图4中选择最终候选数据区或者最终候选迭代数据区的流程图的实施例。
S841,将信息模式图SG中的当前语义属性节点NP的抽取数据区或者抽取迭代数据区R(NP)中的所有节点作为当前语义属性节点NP的子语义属性节点NC的第一开始节点集合CB1和第一结束节点集合CE1;
S842,根据子语义属性节点NC的开始节点名称集合BTagSet和结束节点名称集合ETagSet分别过滤第一开始节点集合CB1和第一结束节点集合CE1,生成新的开始节点集合CB1’和新的结束节点集合CE1’;
S843,根据子语义属性节点NC的开始节点路径集合BPathSet和结束节点路径集合EPathSet分别匹配CB1'对应的开始节点相对路径集合和CE1'对应的结束节点相对路径集合,生成第二开始节点集合CB2和第二结束节点集合CE2;
S844,将第二开始节点集合CB2和第二结束节点集合CE2中的节点两两组合,生成子语义属性节点NC的第一候选数据区集合CR1。即一组中的两个节点一个作为开始节点,另一个作为结束节点;
S845,从第一候选数据区集合CR1中删除开始节点出现在结束节点之后的第一候选数据区,形成第二候选数据区集合CR2;
S846,计算第二候选数据区集合CR2中每个第二候选数据区特征综合得分,根据子语义属性节点NC的数据区分类阈值过滤第二候选数据区集合CR2,获得第三候选数据区集合CR3;
S847,判断子语义属性节点NC是否为迭代语义属性,如果是迭代语义属性进入S8481,否则进入S850;
S8481,贪心地将第三候选数据区集合CR3切分为互不冲突且综合得分较高的数据区序列,形成第四候选数据区集合CR4;
S8482,根据第四候选数据区集合CR4的第四候选数据区,形成第一候选迭代数据区集合ICR1。即从第四候选数据区集合CR4中任选两个第四候选数据区分别作为开始数据区和结束数据区,使用开始数据区、结束数据区以及它们之间的数据区生成一个第一候选迭代数据区,进而形成第一候选迭代数据区集合ICR1;
S8483,为第一候选迭代数据区集合ICR1的每个第一候选迭代数据区节点计算特征综合得分,并根据子语义属性节点NC的迭代数据区分类阈值过滤第一候选迭代数据区集合ICR1,获得最终候选迭代数据区集合ICR;
S849,返回最终候选迭代数据区集合ICR给S85;
S850,第三候选数据区集合CR3为最终候选数据区集合CR,返回最终候选数据区集合CR的集合给S85。
图6为网页信息的抽取系统的示意图。包括:包装器生成模块(M1),用于获得已标注网页,根据已标注网页中的标注信息生成语义结构树,根据语义结构树构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件;抽取器构建模块(M2),用于解析包装器文件得到信息模式图,构建用于抽取已标注网页的同类网页的抽取器;待抽取网页抽取模块(M3),用于获得待抽取网页,构建待抽取网页的DOM树,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;其中,待抽取网页为已标注网页的同类网页;语义属性节点为非迭代语义属性节点时抽取获得抽取数据区,语义属性节点为迭代语义属性节点时抽取获得抽取迭代数据区;数据导出模块(M4),用于导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
具体结构如下:
包装器生成模块M1,用于获得已标注网页,根据已标注网页中的标注信息生成语义结构树,根据语义结构树构建信息模式图,生成信息模式图中每个语义属性节点的语义属性节点信息,根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件。包括:
信息模式图生成子模块,用于获得已标注网页,构建已标注网页的DOM树,根据已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,确定信息模式图的每个语义属性节点在已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区;其中,语义属性节点为非迭代语义属性节点时对应最终标注数据区,语义节点为迭代语义属性节点时对应最终标注迭代数据区;
语义属性节点信息生成子模块,用于对于每个语义属性节点,获取和保存语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序;其中,语义属性节点为非迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值,语义属性节点为迭代语义属性节点时语义属性节点对应的特征样本集合、特征权重和分类阈值包括数据区特征样本集合、特征权重和分类阈值以及迭代数据区特征样本集合、特征权重和分类阈值;
包装器文件导出子模块,用于根据信息模式图和语义属性节点信息生成包装器,将包装器导出为包装器文件,其中语义属性节点信息包括每个语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值、非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序。
抽取器构建模块M2,用于解析包装器文件得到信息模式图,构建用于抽取已标注网页的同类网页的抽取器。
待抽取网页抽取模块M3,用于获得待抽取网页,构建待抽取网页的DOM树,抽取器在待抽取网页的DOM树中,从信息模式图的根语义属性节点开始逐层递归抽取信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;其中,待抽取网页为已标注网页的同类网页;语义属性节点为非迭代语义属性节点时抽取获得抽取数据区,语义属性节点为迭代语义属性节点时抽取获得抽取迭代数据区。包括:
第一抽取子模块,用于对于信息模式图的当前非叶子语义属性节点,抽取器在非叶子语义属性节点对应的抽取数据区或者抽取迭代数据区中,寻找非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;其中,子语义属性节点为非迭代语义属性节点时获取最终候选数据区集合,子语义属性节点为迭代语义属性节点时获取最终候选迭代数据区集合;
寻找非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合的操作,包括:
初始化非叶子语义属性节点的子语义属性节点对应的第一开始节点集合和第一结束节点集合;利用非叶子语义属性节点的子语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合和结束节点相对路径集合,分别对第一开始节点集合和第一结束节点集合进行过滤和匹配,产生第二开始节点集合和第二结束节点集合;从第二开始节点集合选择一开始节点,从第二结束节点集合选择一结束节点,生成第一候选数据区,形成非叶子语义属性节点的子语义属性节点对应的第一候选数据区集合;从第一候选数据区集合中删除开始节点出现在结束节点之后的第一候选数据区,生成第二候选数据区集合;计算每个第二候选数据区集合的第二候选数据区的综合得分,将综合得分不小于非叶子语义属性节点的子语义属性节点对应的数据区分类阈值的第二候选数据区保留,生成第三候选数据区集合;如果非叶子语义属性节点的子语义属性节点为非迭代语义属性节点,则第三候选数据区集合为非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取子语义属性节点对应的最终候选数据区集合完成;
如果非叶子语义属性节点的子语义属性节点为迭代语义属性节点,使用贪心算法,从第三候选数据区集合中逐个选择与已选择的第三候选数据区互不且综合得分最大的第三候选数据区,直到无法选择新的第三候选数据区为止,形成第四候选数据区集合;
在第四候选数据区集合中,选择任意两个第四候选数据区作为开始数据区和结束数据区,开始数据区和结束数据区以及之间的所有数据区构成一个第一候选迭代数据区,形成第一候选迭代数据区集合;
对于第一候选迭代数据区集合中的每个第一候选迭代数据区,根据第一候选迭代数据区的最小公共父节点计算第一候选迭代数据区的综合得分,选择综合得分不小于非叶子语义属性节点的子语义属性节点对应的迭代数据区分类阈值的第一候选迭代数据区,构成非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。
第二抽取子模块,用于根据非叶子语义属性节点的子语义属性节点的全部出现顺序,从非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区。具体而言,对于非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从非叶子语义属性节点的所有子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成出现顺序对应的候选抽取方案集合,其中候选抽取方案中不同子语义属性节点对应的最终候选数据区或者最终候选迭代数据区不重叠,从候选抽取方案集合中选择综合得分的和最大的候选抽取方案为出现顺序对应的最优候选抽取方案;从非叶子语义属性节点的子语义属性节点的全部出现顺序对应的最优候选抽取方案中选择综合得分的和最大的最优候选抽取方案为最终抽取方案;最终抽取方案中的最终候选数据区或者最终候选迭代数据区作为非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。
数据导出模块M4,用于导出每个语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (8)
1.一种网页信息的抽取方法,其特征在于,包括:
包装器生成步骤,获得已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,根据所述已标注网页中的标注信息生成语义结构树,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区,对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;
抽取器构建步骤,解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;
待抽取网页抽取步骤,获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;
数据导出步骤,导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
2.如权利要求1所述的网页信息的抽取方法,其特征在于,所述待抽取网页抽取步骤的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区,进一步为:
第一抽取步骤,对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;
第二抽取步骤,根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;
其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。
3.如权利要求2所述的网页信息的抽取方法,其特征在于,所述第一抽取步骤中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步为:
对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;
如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。
4.如权利要求3所述的网页信息的抽取方法,其特征在于,所述第二抽取步骤进一步为:
对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。
5.一种网页信息的抽取系统,其特征在于,包括:
包装器生成模块,获得已标注网页,构建所述已标注网页的DOM树,根据所述已标注网页中的标注信息生成语义结构树,根据所述语义结构树构建信息模式图,确定所述信息模式图的每个语义属性节点在所述已标注网页的DOM树中的最终标注数据区或者最终标注迭代数据区,对于所述每个语义属性节点,获取和保存所述语义属性节点对应的开始节点标签名称集合、结束节点标签名称集合、开始节点相对路径集合、结束节点相对路径集合、特征样本集合、特征权重和分类阈值;对于每个非叶子语义属性节点,获取和保存所述非叶子语义属性节点的标签权重和标签属性权重以及子语义属性节点的全部出现顺序,生成所述信息模式图中每个语义属性节点的语义属性节点信息,根据所述信息模式图和所述语义属性节点信息生成所述包装器,将所述包装器导出为包装器文件;
抽取器构建模块,用于解析所述包装器文件得到所述信息模式图和所述语义属性节点信息,构建用于抽取所述已标注网页的同类网页的抽取器;
待抽取网页抽取模块,用于获得待抽取网页,构建所述待抽取网页的DOM树,所述抽取器在所述待抽取网页的DOM树中,从所述信息模式图的根语义属性节点开始逐层递归抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区;
数据导出模块,用于导出每个所述语义属性节点对应的抽取数据区或者抽取迭代数据区中的数据作为抽取结果。
6.如权利要求5所述的网页信息的抽取系统,其特征在于,所述待抽取网页抽取模块的抽取所述信息模式图的每个语义属性节点对应的抽取数据区或者抽取迭代数据区包括:
第一抽取子模块,用于对于所述信息模式图的当前非叶子语义属性节点,所述抽取器在所述非叶子语义属性节点对应的所述抽取数据区或者抽取迭代数据区中,寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合;
第二抽取子模块,用于根据所述非叶子语义属性节点的子语义属性节点的全部出现顺序,从所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合中选择整体最优的最终候选数据区或者最终候选迭代数据区作为抽取数据区或者抽取迭代数据区;
其中,所述根语义属性节点的抽取数据区为所述待抽取网页DOM树的根节点对应的数据区。
7.如权利要求6所述的网页信息的抽取系统,其特征在于,所述第一抽取子模块中的寻找所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合或者最终候选迭代数据区集合,进一步用于:
对所述非叶子语义属性节点的子语义属性节点进行开始节点集合和结束节点集合的初始化、过滤、匹配和两两组合,生成第一候选数据区集合;在所述第一候选数据区中集合中,删除开始节点出现在结束节点之后的所述第一候选数据区,生成第二候选数据区集合;使用所述第二候选数据区集合中综合得分不小于所述子语义属性节点对应的数据区分类阈值的所述第二候选数据区,生成第三候选数据区集合,则所述第三候选数据区集合为所述非叶子语义属性节点的子语义属性节点对应的最终候选数据区集合,抽取所述子语义属性节点对应的最终候选数据区集合完成;
如果所述子语义属性节点为迭代语义属性,使用贪心算法,从所述第三候选数据区集合中逐个选择与已选择的所述第三候选数据区互不重叠且综合得分最大的所述第三候选数据区,直到无法选择新的所述第三候选数据区为止,生成第四候选数据区集合;对所述第四候选数据区集合进行两两组合作为开始数据区和结束数据区,生成第一候选迭代数据区集合;使用所述第一候选迭代数据区集合中综合得分不小于所述子语义属性节点对应的迭代数据区分类阈值的所述第一候选迭代数据区构成所述非叶子语义属性节点的子语义属性节点对应的最终候选迭代数据区集合,抽取对应的最终候选迭代数据区集合完成。
8.如权利要求7所述的网页信息的抽取系统,其特征在于,所述第二抽取子模块进一步用于:
对于所述非叶子语义属性节点的所有子语义属性节点的每种出现顺序,从所述非叶子语义属性节点的所有子语义属性节点对应的所述最终候选数据区集合或者最终候选迭代数据区集合中,为每个子语义属性分别选择至多一个满足所述出现顺序的最终候选数据区或者最终迭代候选数据区构成一个候选抽取方案,形成所述出现顺序对应的候选抽取方案集合,其中所述候选抽取方案中不同所述子语义属性节点对应的所述最终候选数据区或者所述最终候选迭代数据区不重叠,从所述候选抽取方案集合中选择综合得分的和最大的候选抽取方案为所述出现顺序对应的最优候选抽取方案;从所述非叶子语义属性节点的子语义属性节点的全部出现顺序对应的所述最优候选抽取方案中选择综合得分的和最大的所述最优候选抽取方案为最终抽取方案;所述最终抽取方案中的所述最终候选数据区或者最终候选迭代数据区作为所述非叶子语义属性节点的子语义属性节点对应的抽取数据区或者抽取迭代数据区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210548678.4A CN103870506B (zh) | 2012-12-17 | 2012-12-17 | 一种网页信息的抽取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210548678.4A CN103870506B (zh) | 2012-12-17 | 2012-12-17 | 一种网页信息的抽取方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870506A CN103870506A (zh) | 2014-06-18 |
CN103870506B true CN103870506B (zh) | 2017-02-08 |
Family
ID=50909047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210548678.4A Active CN103870506B (zh) | 2012-12-17 | 2012-12-17 | 一种网页信息的抽取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103870506B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9621354B2 (en) * | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
CN104408639A (zh) * | 2014-10-22 | 2015-03-11 | 百度在线网络技术(北京)有限公司 | 多轮会话交互方法和系统 |
CN104462540B (zh) * | 2014-12-24 | 2018-03-30 | 中国科学院声学研究所 | 网页信息抽取方法 |
CN105630772B (zh) * | 2016-01-26 | 2018-10-12 | 广东工业大学 | 一种网页评论内容的抽取方法 |
CN106126711B (zh) * | 2016-06-30 | 2019-11-01 | 北京奇虎科技有限公司 | 百科词条分类方法及装置 |
CN106294722B (zh) * | 2016-08-09 | 2019-11-22 | 上海资誉网络科技有限公司 | 一种网页内容自动提取方法及装置 |
CN106407392A (zh) * | 2016-09-19 | 2017-02-15 | 北京集奥聚合科技有限公司 | 一种基于标记语言的节点映射关系抽取方法及系统 |
CN106776502B (zh) * | 2016-12-16 | 2017-11-10 | 武汉大学 | 复杂地理实体快速查询的空间语义模式图构建及搜索方法 |
CN108563729B (zh) * | 2018-04-04 | 2022-04-01 | 福州大学 | 一种基于dom树的招标网站中标信息抽取方法 |
JP7095377B2 (ja) * | 2018-04-17 | 2022-07-05 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
CN108959204B (zh) * | 2018-06-22 | 2021-03-05 | 中国科学院计算技术研究所 | 互联网金融项目信息抽取方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464905A (zh) * | 2009-01-08 | 2009-06-24 | 中国科学院计算技术研究所 | 一种网页信息抽取的系统及方法 |
CN102456050A (zh) * | 2010-10-27 | 2012-05-16 | 中国移动通信集团四川有限公司 | 从网页中抽取数据的方法和装置 |
CN102567464A (zh) * | 2011-11-29 | 2012-07-11 | 西安交通大学 | 基于扩展主题图的知识资源组织方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100241639A1 (en) * | 2009-03-20 | 2010-09-23 | Yahoo! Inc. | Apparatus and methods for concept-centric information extraction |
-
2012
- 2012-12-17 CN CN201210548678.4A patent/CN103870506B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464905A (zh) * | 2009-01-08 | 2009-06-24 | 中国科学院计算技术研究所 | 一种网页信息抽取的系统及方法 |
CN102456050A (zh) * | 2010-10-27 | 2012-05-16 | 中国移动通信集团四川有限公司 | 从网页中抽取数据的方法和装置 |
CN102567464A (zh) * | 2011-11-29 | 2012-07-11 | 西安交通大学 | 基于扩展主题图的知识资源组织方法 |
Non-Patent Citations (1)
Title |
---|
一种全自动生成网页信息抽取Wrapper的方法;梅雪 等;《中文信息学报》;20080131;第22卷(第1期);第22-29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103870506A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870506B (zh) | 一种网页信息的抽取方法和系统 | |
CN109492077B (zh) | 基于知识图谱的石化领域问答方法及系统 | |
CN106776711B (zh) | 一种基于深度学习的中文医学知识图谱构建方法 | |
CN105701253B (zh) | 中文自然语言问句语义化的知识库自动问答方法 | |
CN106250412B (zh) | 基于多源实体融合的知识图谱构建方法 | |
CN108874878A (zh) | 一种知识图谱的构建系统及方法 | |
CN103646032B (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
CN101957816B (zh) | 基于多页面比较的网页元数据自动抽取方法和系统 | |
CN106446148A (zh) | 一种基于聚类的文本查重方法 | |
CN109408811B (zh) | 一种数据处理方法及服务器 | |
CN105528437B (zh) | 一种基于结构化文本知识提取的问答系统构建方法 | |
CN106776797A (zh) | 一种基于本体推理的知识问答系统及其工作方法 | |
CN105243129A (zh) | 商品属性特征词聚类方法 | |
CN108664599A (zh) | 智能问答方法、装置、智能问答服务器及存储介质 | |
CN105677638B (zh) | Web信息抽取方法 | |
Ferrara et al. | Automatic wrapper adaptation by tree edit distance matching | |
Chen et al. | Web question answering with neurosymbolic program synthesis | |
CN107436955B (zh) | 一种基于Wikipedia概念向量的英文词语相关度计算方法和装置 | |
Yuan-jie et al. | Web service classification based on automatic semantic annotation and ensemble learning | |
CN114218472A (zh) | 基于知识图谱的智能搜索系统 | |
CN106951414A (zh) | 一种基于机器学习排序的学术文本词汇功能识别方法 | |
Tuamsuk et al. | Ontology of folktales in the Greater Mekong Subregion | |
CN112182204A (zh) | 构建中文命名实体标注的语料库的方法、装置 | |
CN107491524B (zh) | 一种基于Wikipedia概念向量的中文词语相关度计算方法和装置 | |
Janga et al. | Schema extraction and integration of heterogeneous XML document collections |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20140618 Assignee: Branch DNT data Polytron Technologies Inc Assignor: Institute of Computing Technology, Chinese Academy of Sciences Contract record no.: 2018110000033 Denomination of invention: Webpage information extraction method and system Granted publication date: 20170208 License type: Common License Record date: 20180807 |