一种全程化WEB信息抽取集成方法.pdf

上传人:00****42 文档编号:1896677 上传时间:2018-07-23 格式:PDF 页数:16 大小:4.59MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410663862.2

申请日:

2014.11.19

公开号:

CN104408101A

公开日:

2015.03.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F17/30申请日:20141119|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

南京大学

发明人:

黄宜华; 施生生; 王海涛; 魏武; 罗雷; 袁春风

地址:

210046江苏省南京市仙林大道163号

优先权:

专利代理机构:

南京苏科专利代理有限责任公司32102

代理人:

何朝旭

PDF下载: PDF下载
内容摘要

本发明涉及一种Web信息抽取集成方法,属于计算机技术领域。该方法包括网页浏览导航、网页数据抽取、数据集成处理步骤,能够应用于各种不同的Web信息采集和挖掘分析应用,具有网页自动浏览导航能力和抽取数据的集成处理能力,因此采用本发明后,可以满足人们从Web中挖掘有价值的数据信息、完成深度价值发现的愿望。

权利要求书

权利要求书
1.  一种全程化Web信息抽取集成方法,其特征在于包括以下基本步骤: 
第一步、网页浏览导航——构建自动记录用户访问网页导航链接一系列交互操作的导航链接模型,同时编制实现回放该一系列交互操作的规则语言,从而实现自动重复对用户访问网页的导航链接,为数据抽取奠定基础; 
第二步、网页数据抽取——重复对用户访问网页的导航链接后,根据预定的抽取规则,抽取展示在Web页面上的数据源对象; 
第三步、数据集成处理——将抽取出的数据源对象中的数据元素或数据按预定的目标数据结构进行转换、过滤和集成,形成目标数据对象。

2.  根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第二步中,网页数据抽取时,抽取的数据源对象为非规整数据和/或规整数据。

3.  根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第二步中,执行网页数据抽取包括如下步骤:首先,抽取展示在Web页面上的数据源对象;然后,将包含在数据源对象中的数据集成到预先定义好的目标数据结构中从而形成目标数据对象。

4.  根据权利要求3所述的全程化Web信息抽取集成方法,其特征在于:抽取展示在Web页面上的数据源对象时,建立数据源对象模型,包含三种类型的数据源对象:数据区对象、数据记录对象和数据项对象,每个数据区对象包含一个或多个数据记录对象,每个数据记录对象包含一个或多个数据项对象。

5.  根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第二步中,抽取展示在Web页面上的数据源对象时,记录对应页面上用以抽取数据记录的Web数据区和数据源对象、以及用于数据抽取、浏览导航、以及流程控制的HTML控件和各种外部数据源控件;数据源对象采用XML语言进行定义和描述;
 该数据源对象实际上封装了用以抽取出指定的数据区域中的数据记录的规则,包括各种抽取属性(Attributes)和模式(Patterns)。

6.  根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第三步中,数据集成处理中包含对页面数据源对象中抽取出的原始数据进行转换集成的逻辑和规则,数据集成规则将采用某种脚本语言来描述。

说明书

说明书一种全程化Web信息抽取集成方法
技术领域
本发明涉及一种信息抽取集成方法,尤其是一种Web信息抽取集成方法,属于计算机技术领域。 
背景技术
Web是目前最大的信息发布和共享平台,其中包含了大量有价值的数据信息。越来越多的应用希望能从Web上获得这些有价值的数据信息,进一步完成深度的数据信息分析,提供各种数据分析增值服务。 
然而,如何能从Web网页上精确地获取所感兴趣的数据信息是一个较大的技术难题。Web信息抽取(Web Inform全程化Web信息抽取集成方法tion Extr全程化Web信息抽取集成方法ction)是研究解决相关技术和工具的新兴研究领域。所谓Web信息抽取是指从结构化或半结构化的网页上抽取出用户或应用所感兴趣的数据,将其以结构化的格式导入数据库中供进一步分析处理的过程。 
据申请人了解,在过去的十多年中,Web信息抽取技术已出现了一些系统,例如DEPT全程化WEB信息抽取集成方法、ViDE、MDR,ST全程化WEB信息抽取集成方法LKER,Lixto,DEByE等。但现有的Web信息抽取研究和系统基本上都仅仅集中对已获取网页的数据抽取处理,而忽略了实际的Web信息抽取处理过程首先需要考虑的网页自动浏览导航和访问问题,而且对抽取出的原始网页数据的转换和集成处理也缺少充分的考虑。这些仅仅关注了中间的网页数据抽取处理阶段的现有技术离实际的Web信息抽取应用需求还有很大的距离。 
发明内容
本发明的目的在于:针对上述现有技术(研究和系统)存在的不足,提出一种包含Web网页自动浏览、网页数据抽取、以及数据集成全程化Web信息抽取集成方法,进而基于相应的模型研究设计网页自动浏览导航、网页数据抽取与集成、以及Web信息抽取流程控制技术和相应的规则语言。 
研究表明,完整的Web信息抽取处理过程包含三个阶段:1)网页浏览导航, 即系统需要能在Web信息抽取处理过程中模拟用户浏览网页的行为自动导航和访问到所感兴趣的网页;2)网页数据抽取,对于所访问获取的网页,定制一定的抽取规则完成网页数据元素的抽取处理;3)数据集成,即对于抽取出的原始网页数据元素进行转换、过滤和集成后处理。在实际的Web信息抽取处理过程中,一个重要问题是如何能让系统模仿人的浏览导航行为,自动浏览并访问到所感兴趣的网页。获得所需网页后,主要技术问题则是如何有效地在网页上指定和描述所要抽取的具体数据元素或数据记录。为此,需要引入网页数据抽取规则。另外,网页上所抽取出来的原始数据元素和记录通常是没有结构语义的,至多反应的是一种网页展现结构语义,这种网页展现结构语义与Web抽取应用所需要的目标结构语义之间存在一个差异和鸿沟;为了消除这种差异和鸿沟,Web信息抽取处理必须提供数据转换、过滤、映射和集成处理的能力。更为复杂的情形是,一个复杂数据记录可能会显示在多个关联网页上。因此,进行Web信息抽取时需要自动完成这些关联网页的链接跳转,并且能依据这些数据网页的链接关系保持正确的数据关系,以便最终完成完整数据记录的抽取和集成处理。 
为了达到以上目的,本发明的全程化Web信息抽取集成方法包括以下基本步骤: 
第一步、网页浏览导航——构建自动记录用户访问网页导航链接一系列交互操作的导航链接模型,同时编制实现回放该一系列交互操作的规则语言,从而实现自动重复对用户访问网页的导航链接,为数据抽取奠定基础; 
第二步、网页数据抽取——重复对用户访问网页的导航链接后,根据预定的抽取规则,抽取展示在Web页面上的数据源对象; 
第三步、数据集成处理——将抽取出的数据源对象中的数据元素或数据按预定的目标数据结构进行转换、过滤和集成,形成目标数据对象。 
本发明技术方案的进一步限定为,第二步中,网页数据抽取时,抽取的数 据源对象为非规整数据和/或规整数据。 
进一步地,第二步中,执行网页数据抽取包括如下步骤:首先,抽取展示在Web页面上的数据源对象;然后,将包含在数据源对象中的数据集成到预先定义好的目标数据结构中从而形成目标数据对象。 
进一步地,抽取展示在Web页面上的数据源对象时,建立数据源对象模型,包含三种类型的数据源对象:数据区对象、数据记录对象和数据项对象,每个数据区对象包含一个或多个数据记录对象,每个数据记录对象包含一个或多个数据项对象。 
进一步地,第二步中,抽取展示在Web页面上的数据源对象时,记录对应页面上用以抽取数据记录的Web数据区和数据源对象、以及用于数据抽取、浏览导航、以及流程控制的HTML控件和各种外部数据源控件;数据源对象采用XML语言进行定义和描述。该数据源对象实际上封装了用以抽取出指定的数据区域中的数据记录的规则,包括各种抽取属性(Attributes)和模式(Patterns)。 
进一步地,第三步中,数据集成处理中包含对页面数据源对象中抽取出的原始数据进行转换集成的逻辑和规则,数据集成规则将采用某种脚本语言来描述 
本发明设计完成的全过程化Web信息抽取集成方法能够应用于各种不同的Web信息采集和挖掘分析应用,具有网页自动浏览导航能力和抽取数据的集成处理能力,因此采用本发明后,可以满足人们从Web中挖掘有价值的数据信息、完成深度价值发现的愿望。 
附图说明
下面结合附图对本发明作进一步的说明。 
图1为本发明一个实施例的全程化Web信息抽取集成方法的流程图; 
图2为实施例1中的Web数据记录模型; 
图3为实施例1中的Web信息抽取集成ETI模型; 
图4为实施例1中的页面模型与Web信息抽取集成规则体系模型; 
图5为实施例1中包含基于网格的数据记录的Web页面; 
图6为实施例1中基于跨页面链接关系的数据记录网页示例; 
图7为实施例1中浏览导航规则模型; 
图8为实施例1中跨页面嵌套记录的集成规则和集成后的目标数据记录的XML结构; 
图9为实施例1中数据抽取和“一对多”集成转换规则示例。 
具体实施方式
实施例一 
本实施例的全程化Web信息抽取集成方法,包括以下基本步骤: 
第一步、网页浏览导航——构建自动记录用户访问网页导航链接一系列交互操作的导航链接模型,同时编制实现回放该一系列交互操作的规则语言,从而实现自动重复对用户访问网页的导航链接,为数据抽取奠定基础; 
第二步、网页数据抽取——重复对用户访问网页的导航链接后,根据预定的抽取规则,抽取展示在Web页面上的数据源对象; 
第三步、数据集成处理——将抽取出的数据源对象中的数据元素或数据按预定的目标数据结构进行转换、过滤和集成,形成目标数据对象。 
下面对三个基本步骤做详细的介绍。 
1、全过程Web信息抽取模型 
三阶段Web信息抽取集成模型 
从信息处理的抽象层面看,如图1所示,一个完整的Web信息抽取过程应当包括网页获取(即自动浏览导航)、网页数据抽取处理(包括自动或半自动分析方法以及手工交互生成抽取规则)、以及集成后处理三个主要阶段。 
(1)网页浏览导航阶段:一个完整的Web信息抽取系统首先需要提供这种网页自动浏览导航能力,即在Web信息抽取过程中能模仿用户在浏览器中人工的网页交互和浏览导航动作,以便系统自动访问和获取所需要的网页。为此,需要抽象并提供一种用户网页交互和浏览导航模型,并最终提供一种网页交互动作和浏览导航规则语言以描述和刻画出这种网页交互和浏览导航动作,然后在Web信息抽取处理过程中,执行该规则语言,以便回放所描述的网页交互和浏览导航动作,完成网页的自动访问和获取。 
(2)网页数据抽取阶段:获得数据网页后,需要为每个数据网页定制数据抽取规则,以便从网页上抽取出特定区域中所包含的特定数据元素或数据记录;对包含规整数据记录的页面可采用自动结构分析方法生成抽取规则,对非规整页面可采用基于交互的半自动化规则生成方法完成。 
(3)数据集成处理阶段:抽取出来的网页数据元素或数据记录需要按照所定义的目标信息实体结构进行转换、过滤和集成处理,生成一组目标数据记录。为此需要提供有效的数据集成模型和数据转换规则语言以便用户刻画出各种数据转换和集成逻辑。 
因此,一个完整的Web信息抽取系统必须基于以上的三阶段完整模型来设计整个系统,提供从网页自动获取、到网页数据抽取和集成处理的综合规则体系和规则语言,并最终得到完整和一体化的执行和处理。 
网页交互和浏览导航模型 
Web页面的复杂性、交互性和数据动态性通常使得难以通过简单的URL链接来获取Web页面。因此,为了刻画Web信息抽取过程中的网页自动浏览导航逻辑,我们首先需要对用户在浏览器中以人工方式进行网页交互和浏览导航的行为动作进行抽象,然后建立一个网页自动交互和浏览导航的抽象模型,并进一步定义和提供一种浏览导航规则语言,以描述和刻画出准确的浏览导航逻辑。 
为了刻画一个网页间的链接跳转,首先定义一个“导航链接模型”,该模型 主要刻画完成一个导航链接所包含的一系列交互操作,我们将执行Web浏览导航的每个交互动作称为浏览导航动作。 
一个导航链接L包含一组浏览导航动作序列(Action Sequence,AS),我们用L(AS)来表示这个导航链接。从抽象层面看,一个完整的Web数据抽取任务将由一系列导航链接组合而成。 
每个浏览导航动作实际上就是对一个网页控件进行的某种交互操作,通常包含一个或多个具体的控件设置动作,如设置文本框文本值,选中一个或多个复选按钮等。每个浏览导航动作包括控件描述和定位信息、浏览导航和交互动作描述、以及控件操作参数。一个导航链接可包含一至多个上述的浏览导航动作。除此以外,一个导航链接还指定当跳转到目标页面后所对应的目标页面模型是什么。 
Web数据记录与数据源对象模型 
Web页面上的数据记录有多种可能的组织形式。根据Web数据记录结构的规整性,我们将Web数据记录分为两类:规整数据记录和非规整数据记录(见图2)。 
(1)非规整数据记录 
包含在非规整数据记录中的数据项经常随机地分布在web页面上。因此我们通常不能从Web页面上规整的区域抽取出这种记录的数据项。对于此类数据记录,我们需要直接基于用户交互来生成抽取规则。 
(2)规整数据记录 
规整数据记录通常以规整的形式展示在web页面上。这类数据记录可能有多钟变体。根据不同的展示格式,规整数据记录可以被划分为三类:基于行的数据记录,基于列的数据记录和基于网格的数据记录。 
对于基于行的数据记录,其抽象数据结构与其背后的DOM树结构是一致的。这种数据记录的结构最为简单。现有的大多数自动web数据抽取系统能够 自动分析并抽取这种数据记录。基于列的数据记录在其DOM树上将垂直显示。由于每个这样的数据记录由一组位于同一DOM树层次上的非兄弟节点构成,因此增加了自动Web数据抽取系统分析和抽取这种数据记录的难度。基于网格的数据记录是最难被自动分析和抽取的数据记录。一组基于网格的数据记录通常可以被划分为多个子组,每个子组中的数据记录类似于基于列的数据记录。 
数据记录形式的多样性为数据抽取规则的统一定义带来了困难。为了提供充足的信息来指导系统正确地识别和抽取规整和非规整数据记录,本发明将引入各种属性和模式来定义抽取规则。 
为了执行Web数据抽取,首先,我们将抽取展示在Web页面上的数据源对象;然后,我们将包含在数据源对象中的数据集成到预先定义好的目标数据结构中从而形成目标数据对象。对于第一步,我们引入一个层次化的数据源对象模型。该模型包含三种类型的数据源对象:数据区对象,数据记录对象和数据项对象。每个数据区对象包含一个或多个数据记录对象。每个数据记录对象包含一个或多个数据项对象。根据这一模型,我们将按照自顶向下的方式定义每个层次上的数据对象的抽取规则。 
数据集成模型 
为了阐述对页面上抽取出的原始数据进行集成处理的思想,本发明借鉴数据仓库中ETL(Extraction,Transformation and Loading)的设计思想来完成Web数据抽取过程中的数据集成处理,将ETL改变为ETI模型,即抽取(Extraction),转换(Transformation)和集成(Integration)处理过程和模型(如图3)。抽取(Extraction)处理主要负责从Web页面中抽取出原始的展示结构意义上的数据记录和元素;然后由于展示结构意义上的数据记录与最终应用所需要的目标结构数据记录间会存在差异,因此,转换(Transformation)处理将负责对这些原始数据记录和元素进行过滤和转换处理;最终,转换出的数据将按照用户预定义的目标数据记录结构,通过集成(Integration)处理合并集成并输出为目标数据记录。为了提供复杂结构目标数据记录对象的描述能力,目标数据记录对象采用基于XML的层次 式模型表示。 
1.页面模型与Web信息抽取集成规则体系 
为了描述Web信息抽取过程中的浏览导航、数据抽取和数据集成三个部分的逻辑,我们引入一个页面模型(page model)的概念。一个页面模型实际上是与一个特定网页对应的规则容器,包含为该网页所创建的有关浏览导航、数据抽取和数据集成各部分规则描述。每个页面都需要有一个页面模型(如图4),同一类型、但包含不同数据记录的Web页面可用同一个页面模型来描述其所需的导航动作、抽取和集成规则。页面模型主要包括三个部分: 
(1)数据源对象及其抽取规则:记录对应页面上用以抽取数据记录的Web数据区和数据源对象、以及用于数据抽取、浏览导航、以及流程控制的HTML控件和各种外部数据源控件;为了保证规则语言的通用性,数据源对象采用XML语言进行定义和描述。该数据源对象实际上封装了一系列用以抽取出指定的数据区域中的数据记录的规则,包括各种抽取属性(Attributes)和模式(Patterns)。 
(2)数据集成规则:包含对页面数据源对象中抽取出的原始数据进行转换集成的逻辑和规则;为了提供灵活而强大的数据转换和集成逻辑表示能力,数据集成规则将采用某种脚本语言来描述; 
(3)浏览导航规则:如果当前的目标数据对象抽取还涉及到对后续被链接页面上数据的抽取,则当前的页面模型中还需要定义这些后续的浏览导航链接对象和规则;为了保证规则语言的通用性,浏览导航链接对象和规则将基于XML语言进行定义和描述。 
2.数据源对象及其抽取规则的设计 
数据区对象 
为了抽取页面上的数据记录,我们首先定义数据区对象的抽取规则来指定页面上包含一组数据记录的区域。下面的规则示例给出了数据源对象抽取规则的框架描述。该抽取语言采用XML描述。总体上该抽取语言包含三个层次。第一层(对应于标签<DataRegion>)用于定义数据区对象。第二层(对应于标签<Record>)用于定义数据记录对象。第三层(对应于标签<Item>)用于定义数据项对象。 

数据抽取属性和模式 
为了能有效描述数据区中与数据记录和字段对应的DOM节点特征,需要引入属性(Attributes)和模式(Patterns)。属性用来表示相应的XML元素的一系列属性,如name属性用于指定数据区对象的名称。而模式主要通过一些特征的定义对数据源对象及其内部的数据记录和字段进行定位、划分、过滤等复杂处理,以便能有效抽取各种不同类型的数据记录和数据项。属性locationPatternId,rangePatternId,filterPatternId,splitPatternId分别存储所使用的定位模式、范围模式、过滤模式、重组模式和分割模式。每个模式都有属性标识符id、类型type、以及方法method,不同类型的模式支持不同的方法。 
模式的基本语法结构如下: 
<Pattern id=”模式标识符”type=“location/range/filter/recombination/split”method=””xpath=“”> 
<Feature absentXPath=“”presentXPath=“”/> 
…… 
</Pattern> 
其中Feature元素主要用来描述一个显著的DOM节点特征。 
定位模式中的属性xpath指定数据区父节点的XPath。为了适应页面结构的变化,该属性通常会指定一个比较泛化的XPath。但由于泛化的XPath可能会定位多个节点,因此我们需要引入一个特征来进一步定位正确的节点。对于任何一个泛化的XPath匹配的节点P,节点<Feature>中的属性absentXPath和presentXPath分别指定了用于正确匹配P节点的XPath。若相对于节点P的absentXPath定位到任何节点,或者相对于节点P的presentXPath定位到至少一个节点,则P节点将作为不正确的节点丢弃。P节点成为正确节点当且仅当P同时满足这两个条件(也称满足该特征)。 
范围模式用来定位数据区的边界。如果一个数据区的边界之内还包含噪音节点,我们需要使用过滤模式来过滤掉这些兄弟节点。过滤模式可指定一个或多个特征以完成复杂的过滤逻辑;当一个数据区包含基于网格的数据记录时,我们将使用分割模式来将该数据区分割为多个子区。在分割模式中,属性method指定了数据区分割方法。目前提供四种可选的分割方法:head,tail,separator和order。当选择方法head(tail)时,分割模式将指定一个特征;数据区中任何满足该特征的节点将被识别为一个子区的首(尾)节点。当选择方法separator时,分割模式将指定一组特征;当数据区中的一组连续的节点依次满足分割模式中所指定的特征时,该组节点将被识别为子区之间的分隔符。当选择方法order时,分割模式也将指定一组特征;我们将依据改组特征将数据区将被分割为多个子区;其要求是每个子区中的节点次序遵循分割模式中所指定的特征的次序。 
数据记录与字段抽取规则定义 
当我们定义好数据区对象的抽取规则后,我们将定义数据记录对象的抽取规则来抽取数据区对象中的数据记录。当数据区对象中包含基于行的数据记录时,我们可以直接将数据区对象分割为多个数据记录。这类似于数据区对象的规则定义中子区的分割。我们将复用前述定义的分割模式来分割数据记录。 
当数据区对象中包含基于列(网格)的数据记录时,我们需要对数据区对象(每个子区对象)进行重组,然后再识别重组后的数据区对象(每个子区对象)的数据记录。为此,我们引入重组模式来对数据区对象(子区对象)进行重组。重组模式中的属性id和type与前述模式类似;属性method指定了重组的方法。目前,我们提供两种可选的重组方法:X_coordinate和index。当选择方法X_coordinate时,我们将按照节点的横坐标(下标)来对齐数据记录和字段;当选择方法index时,将按照节点的序号而不是坐标位置来对齐节点。 
当我们定义好数据记录对象抽取规则后,我们可以相对于数据记录对象来定义数据项对象抽取规则。我们将直接复用前述的定位模式来定位数据项。 
数据源对象和数据记录抽取规则示例 
根据前述讨论可知,基于网格的数据记录的规则定义最为复杂。为了比较全面地解释上述规则语言,以下给出一个包含基于网格数据记录的Web页面示例,以此来说明抽取规则的定义。图5显示了一个包含基于网格的记录的Web页面示例。该页面包含4个数据记录;我们感兴趣的数据项是每个记录中的“产品名称”,“市场价”和“销售价”。如下语句给出了相应的数据抽取规则的定义。 

1.浏览导航规则 
页面模型中的浏览导航链接对象和规则基于XML进行描述。导航链接描述是一系列浏览导航交互动作集合。导航链接描述包含两个分开的部分:一个是导航链接对象<NavLink>的定义,其中包含导航操作控件描述和导航目标页面模型的指定;第二部分是导航链接调用<LinkCall>,其中将指定完成一个所定义的导航链接跳转所需要进行的所有控件交互动作。图7的规则示例中描述了在图6的搜索页面上填写一个搜索关键字、然后按压“搜索”按钮开始跳转到搜索结果页面的导航链接对象和规则示例。其中,<NavLink>定义了两个涉及到的交互控件,一个是搜索输入框searchbox,另一个是搜索按钮searchbutton;然后在Web数据抽取过程中当需要在当前的页面模型中执行这个链接跳转时,则在导航链接调用对象<LinkCall>中执行两个浏览动作,一个是将一个需要搜索的关键字字符串设置到搜索框searchbox中,然后按压搜索按钮searchbutton引起从搜索页面到搜索结果页面的跳转。一个Web网页的页面模型中可以定义多个导 航链接对象NavLink。一个NavLink描述规则的定义如下: 
<NavLink id=“…”>……</NavLink>,其中id用来为这个导航链接指定一个标识符。 
2.数据集成规则语言设计 
基于网页链接的跨页面数据记录集成 
在实际的Web信息抽取应用中,一个复杂的目标数据记录可能会分散在多个相关联的网页上,因此,数据记录抽取集成时不仅需要能从这些网页上抽取出离散的数据集合,而且还要维护分散在这些网页上的数据间的正确数据关系,并根据这种数据关系一并完成目标数据记录的集成处理。 
然而一个复杂的问题是,根据目标数据记录的结构,来自不同页面上的数据元素之间可能存在多种不同的数据关系。依据多网页间不同的数据关系,本发明提出了一种根据XML元素间自包含的结构关系、同时结合页面间的导航链接来完成复杂数据关系的维护和复杂数据记录的集成处理。主要思路是,根据所维护的上下页间的数据关系,在目标XML的适当的数据元素位置上,插入到下页的导航链接调用。当执行这个导航链接调用得到来自下页的数据后,直接插入该导航链接所对应的XML元素的位置上,以此保证跨页面间复杂的数据记录的集成处理。 
经过观察和分析,本发明总结出的跨页面数据关系可以分为以下几种: 
(1)平行记录关系,即后一个网页上的数据记录附加到前一个网页的一组记录之后。 
(2)平行字段关系,下一页上的数据是当前页上某个记录中的后续字段。 
(3)父子字段关系,下一网页上的数据附属于当前网页记录中的某个字段(如details网页上抽取出的一组详细信息数据字段依附于本页上数据记录中的Details字段)。 
(4)嵌套记录关系,下一网页上的一组数据记录是当前网页上某个字段下的一组嵌套子记录(如学生信息网页上的“已修课程”字段链接到下一页上的一组详细的已修课程记录)。 
图6给出了一个跨网页链接数据记录的网页示例,图8给出了该示例中跨网页目标数据记录的集成规则。图8为多个页面模型中的集成规则,则集成后得到的目标数据记录的XML结构如下所示, 

而记录中的数据都分布在图6中的多个页面中。其中图6的记录页面R包含了一组相似的书本数据记录,在每个书本数据记录中又包含一些目标记录<Book>元素下集成所需的一些字段,如“名称”、“价格”、“评论”等。点击“名称”链接后得到的细节页面D包含了嵌套在目标记录<Book>元素下的一些数据字段,如“出版社”、“页数”,这些字段同记录页面R中书本记录的字段为平行字段关系。点击“评论”链接后得到的评论页面C包含一组相似的评论数据记 录,这些记录又被嵌套在目标记录<Book>元素下的<Comments>元素中。因此,R中的记录同C中的记录为嵌套记录关系。为了能按照图8中目标数据记录的结构集成这些跨页面的数据,需在图8中的<Book>以及<comments>元素下分别插入导航链接<LinkCall id=“Detail_Info”>和<LinkCall id=“Comments”>。其次,通过R页面模型中的NextBookPage导航链得到的后续页面中的书籍数据记录之间形成平行的<Book>数据记录关系;某本书的评论网页上通过NextCommentPage导航链得到的<Comment>之间也是平行记录关系。为此,需要在R和C对应的页面模型的相应位置插入导航链接<LinkCall id=“NextBookPage”>和<LinkCall id=“NextCommentPage”>,如图8所示。在运行时,执行导航链接调用得到来自下页的数据后,直接插入该导航链接所对应的XML元素的位置上。以<LinkCall id=“Detail_Info”>为例,在执行该导航链接调用后(即点击“名称”链接)进入细节页面D,根据集成规则对D中字段进行抽取,然后将这些字段元素都插入到<LinkCall id=“Detail_Info”>所对应的XML元素的位置上。 
原始数据记录到目标数据记录的转换集成 
根据前述的ETI模型,为了完成原始数据记录到目标数据记录的转换集成,需要进行原始记录的字段到目标数据记录字段的映射和转换处理。基本的数据抽取和集成处理思路如下: 
(1)源数据抽取与目标数据集成处理相分离,以不同的规则来描述数据抽取处理和数据集成处理逻辑,这样做的优点是:1)有助于源数据对象专注于原始记录和字段的抽取处理,而不必关注集成语义;(2)有利于在集成阶段专注于实现各种复杂的数据过滤、合并等灵活的数据后处理;3)有利于实现原始数据 记录和字段与目标数据记录和字段间可能存在的复杂映射关系处理。 
采用脚本语言作为两者间转换映射处理的桥梁,实现集成过程中的灵活强大的转换映射处理逻辑,可实现源数据字段与目标数据字段之间“一对多、多对一和多对多”的复杂数据字段转换和映射处理;这种设计的另一个好处是,可实现多数据源的集成,包括实现多数据源间可能存在的数据连接(join)处理。 
图9展示了一个原始数据抽取到目标数据记录的“一对多”转换集成规则的示例,在抽取规则中描述了页面中构成记录的相关字段,其中包括一个以“,”隔开的包含多个作者的authors字段,而假定在目标数据记录中需要把每个作者字段提取出来分开存储,于是可以在集成脚本中运用灵活的流程控制和转换集成脚本实现这种“一对多”的数据转换和集成。而集成规则中元素的内容来源于由抽取规则所描述的源数据记录中所对应的字段。 
抽取集成规则语言执行引擎原型系统的设计实现 
Web信息抽取系统的规则执行流程和原型系统 
基于三阶段模型的Web信息抽取系统的规则执行流程分为两个阶段:1)在生成阶段(building-time),结合自动和交互两种方式来录制用户的浏览导航动作,生成流程控制逻辑以及数据抽取和数据集成规则。对一个Web信息抽取任务,每一个Web页面的操作都需要生成一个页面模型来保存所有的规则;2)在运行阶段(running-time),对于页面模型进行与处理生成对应的预编译文件(.java代码文件),然后编译生成.class可执行文件。当相应的页面模型变化时,需要修改并重新生成相应的预编译文件并再次编译即可。 
本发明基于所提出的三阶段模型设计实现的一个Web信息抽取原型系统。它提供了一个可视化的交互界面,可帮助用户完成build-time阶段从浏览导航路径 录制、到抽取集成和流程控制规则生成处理,以及runtime阶段实际的规则执行处理过程。 
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。 

一种全程化WEB信息抽取集成方法.pdf_第1页
第1页 / 共16页
一种全程化WEB信息抽取集成方法.pdf_第2页
第2页 / 共16页
一种全程化WEB信息抽取集成方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种全程化WEB信息抽取集成方法.pdf》由会员分享,可在线阅读,更多相关《一种全程化WEB信息抽取集成方法.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410663862.2(22)申请日 2014.11.19G06F 17/30(2006.01)(71)申请人南京大学地址 210046 江苏省南京市仙林大道163号(72)发明人黄宜华 施生生 王海涛 魏武罗雷 袁春风(74)专利代理机构南京苏科专利代理有限责任公司 32102代理人何朝旭(54) 发明名称一种全程化Web信息抽取集成方法(57) 摘要本发明涉及一种Web信息抽取集成方法,属于计算机技术领域。该方法包括网页浏览导航、网页数据抽取、数据集成处理步骤,能够应用于各种不同的Web信息采集和挖掘分析应用,具有网页自动浏览导。

2、航能力和抽取数据的集成处理能力,因此采用本发明后,可以满足人们从Web中挖掘有价值的数据信息、完成深度价值发现的愿望。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书10页 附图4页(10)申请公布号 CN 104408101 A(43)申请公布日 2015.03.11CN 104408101 A1/1页21.一种全程化Web信息抽取集成方法,其特征在于包括以下基本步骤:第一步、网页浏览导航构建自动记录用户访问网页导航链接一系列交互操作的导航链接模型,同时编制实现回放该一系列交互操作的规则语言,从而实现自动重复对用户访问网页的导航链接,为数据。

3、抽取奠定基础;第二步、网页数据抽取重复对用户访问网页的导航链接后,根据预定的抽取规则,抽取展示在Web页面上的数据源对象;第三步、数据集成处理将抽取出的数据源对象中的数据元素或数据按预定的目标数据结构进行转换、过滤和集成,形成目标数据对象。2.根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第二步中,网页数据抽取时,抽取的数据源对象为非规整数据和/或规整数据。3.根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第二步中,执行网页数据抽取包括如下步骤:首先,抽取展示在Web页面上的数据源对象;然后,将包含在数据源对象中的数据集成到预先定义好的目标数据结构中从而形成目标。

4、数据对象。4.根据权利要求3所述的全程化Web信息抽取集成方法,其特征在于:抽取展示在Web页面上的数据源对象时,建立数据源对象模型,包含三种类型的数据源对象:数据区对象、数据记录对象和数据项对象,每个数据区对象包含一个或多个数据记录对象,每个数据记录对象包含一个或多个数据项对象。5.根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第二步中,抽取展示在Web页面上的数据源对象时,记录对应页面上用以抽取数据记录的Web数据区和数据源对象、以及用于数据抽取、浏览导航、以及流程控制的HTML控件和各种外部数据源控件;数据源对象采用XML语言进行定义和描述;该数据源对象实际上封装了用以抽。

5、取出指定的数据区域中的数据记录的规则,包括各种抽取属性(Attributes)和模式(Patterns)。6.根据权利要求1所述的全程化Web信息抽取集成方法,其特征在于:第三步中,数据集成处理中包含对页面数据源对象中抽取出的原始数据进行转换集成的逻辑和规则,数据集成规则将采用某种脚本语言来描述。权 利 要 求 书CN 104408101 A1/10页3一种全程化 Web 信息抽取集成方法 技术领域0001 本发明涉及一种信息抽取集成方法,尤其是一种Web信息抽取集成方法,属于计算机技术领域。背景技术0002 Web是目前最大的信息发布和共享平台,其中包含了大量有价值的数据信息。越来越多的应用。

6、希望能从Web上获得这些有价值的数据信息,进一步完成深度的数据信息分析,提供各种数据分析增值服务。0003 然而,如何能从Web网页上精确地获取所感兴趣的数据信息是一个较大的技术难题。Web信息抽取(Web Inform全程化Web信息抽取集成方法tion Extr全程化Web信息抽取集成方法ction)是研究解决相关技术和工具的新兴研究领域。所谓Web信息抽取是指从结构化或半结构化的网页上抽取出用户或应用所感兴趣的数据,将其以结构化的格式导入数据库中供进一步分析处理的过程。0004 据申请人了解,在过去的十多年中,Web信息抽取技术已出现了一些系统,例如DEPT全程化WEB信息抽取集成方法、。

7、ViDE、MDR,ST全程化WEB信息抽取集成方法LKER,Lixto,DEByE等。但现有的Web信息抽取研究和系统基本上都仅仅集中对已获取网页的数据抽取处理,而忽略了实际的Web信息抽取处理过程首先需要考虑的网页自动浏览导航和访问问题,而且对抽取出的原始网页数据的转换和集成处理也缺少充分的考虑。这些仅仅关注了中间的网页数据抽取处理阶段的现有技术离实际的Web信息抽取应用需求还有很大的距离。发明内容0005 本发明的目的在于:针对上述现有技术(研究和系统)存在的不足,提出一种包含Web网页自动浏览、网页数据抽取、以及数据集成全程化Web信息抽取集成方法,进而基于相应的模型研究设计网页自动浏览。

8、导航、网页数据抽取与集成、以及Web信息抽取流程控制技术和相应的规则语言。0006 研究表明,完整的Web信息抽取处理过程包含三个阶段:1)网页浏览导航, 即系统需要能在Web信息抽取处理过程中模拟用户浏览网页的行为自动导航和访问到所感兴趣的网页;2)网页数据抽取,对于所访问获取的网页,定制一定的抽取规则完成网页数据元素的抽取处理;3)数据集成,即对于抽取出的原始网页数据元素进行转换、过滤和集成后处理。在实际的Web信息抽取处理过程中,一个重要问题是如何能让系统模仿人的浏览导航行为,自动浏览并访问到所感兴趣的网页。获得所需网页后,主要技术问题则是如何有效地在网页上指定和描述所要抽取的具体数据元。

9、素或数据记录。为此,需要引入网页数据抽取规则。另外,网页上所抽取出来的原始数据元素和记录通常是没有结构语义的,至多反应的是一种网页展现结构语义,这种网页展现结构语义与Web抽取应用所需要的目标结构语义之间存在一个差异和鸿沟;为了消除这种差异和鸿沟,Web信息抽取处理必须提供数说 明 书CN 104408101 A2/10页4据转换、过滤、映射和集成处理的能力。更为复杂的情形是,一个复杂数据记录可能会显示在多个关联网页上。因此,进行Web信息抽取时需要自动完成这些关联网页的链接跳转,并且能依据这些数据网页的链接关系保持正确的数据关系,以便最终完成完整数据记录的抽取和集成处理。0007 为了达到以。

10、上目的,本发明的全程化Web信息抽取集成方法包括以下基本步骤:0008 第一步、网页浏览导航构建自动记录用户访问网页导航链接一系列交互操作的导航链接模型,同时编制实现回放该一系列交互操作的规则语言,从而实现自动重复对用户访问网页的导航链接,为数据抽取奠定基础;0009 第二步、网页数据抽取重复对用户访问网页的导航链接后,根据预定的抽取规则,抽取展示在Web页面上的数据源对象;0010 第三步、数据集成处理将抽取出的数据源对象中的数据元素或数据按预定的目标数据结构进行转换、过滤和集成,形成目标数据对象。0011 本发明技术方案的进一步限定为,第二步中,网页数据抽取时,抽取的数 据源对象为非规整数。

11、据和/或规整数据。0012 进一步地,第二步中,执行网页数据抽取包括如下步骤:首先,抽取展示在Web页面上的数据源对象;然后,将包含在数据源对象中的数据集成到预先定义好的目标数据结构中从而形成目标数据对象。0013 进一步地,抽取展示在Web页面上的数据源对象时,建立数据源对象模型,包含三种类型的数据源对象:数据区对象、数据记录对象和数据项对象,每个数据区对象包含一个或多个数据记录对象,每个数据记录对象包含一个或多个数据项对象。0014 进一步地,第二步中,抽取展示在Web页面上的数据源对象时,记录对应页面上用以抽取数据记录的Web数据区和数据源对象、以及用于数据抽取、浏览导航、以及流程控制的。

12、HTML控件和各种外部数据源控件;数据源对象采用XML语言进行定义和描述。该数据源对象实际上封装了用以抽取出指定的数据区域中的数据记录的规则,包括各种抽取属性(Attributes)和模式(Patterns)。0015 进一步地,第三步中,数据集成处理中包含对页面数据源对象中抽取出的原始数据进行转换集成的逻辑和规则,数据集成规则将采用某种脚本语言来描述0016 本发明设计完成的全过程化Web信息抽取集成方法能够应用于各种不同的Web信息采集和挖掘分析应用,具有网页自动浏览导航能力和抽取数据的集成处理能力,因此采用本发明后,可以满足人们从Web中挖掘有价值的数据信息、完成深度价值发现的愿望。附图。

13、说明0017 下面结合附图对本发明作进一步的说明。0018 图1为本发明一个实施例的全程化Web信息抽取集成方法的流程图;0019 图2为实施例1中的Web数据记录模型;0020 图3为实施例1中的Web信息抽取集成ETI模型;0021 图4为实施例1中的页面模型与Web信息抽取集成规则体系模型;0022 图5为实施例1中包含基于网格的数据记录的Web页面;0023 图6为实施例1中基于跨页面链接关系的数据记录网页示例;说 明 书CN 104408101 A3/10页50024 图7为实施例1中浏览导航规则模型;0025 图8为实施例1中跨页面嵌套记录的集成规则和集成后的目标数据记录的XML结。

14、构;0026 图9为实施例1中数据抽取和“一对多”集成转换规则示例。具体实施方式0027 实施例一0028 本实施例的全程化Web信息抽取集成方法,包括以下基本步骤:0029 第一步、网页浏览导航构建自动记录用户访问网页导航链接一系列交互操作的导航链接模型,同时编制实现回放该一系列交互操作的规则语言,从而实现自动重复对用户访问网页的导航链接,为数据抽取奠定基础;0030 第二步、网页数据抽取重复对用户访问网页的导航链接后,根据预定的抽取规则,抽取展示在Web页面上的数据源对象;0031 第三步、数据集成处理将抽取出的数据源对象中的数据元素或数据按预定的目标数据结构进行转换、过滤和集成,形成目标。

15、数据对象。0032 下面对三个基本步骤做详细的介绍。0033 1、全过程Web信息抽取模型0034 三阶段Web信息抽取集成模型0035 从信息处理的抽象层面看,如图1所示,一个完整的Web信息抽取过程应当包括网页获取(即自动浏览导航)、网页数据抽取处理(包括自动或半自动分析方法以及手工交互生成抽取规则)、以及集成后处理三个主要阶段。0036 (1)网页浏览导航阶段:一个完整的Web信息抽取系统首先需要提供这种网页自动浏览导航能力,即在Web信息抽取过程中能模仿用户在浏览器中人工的网页交互和浏览导航动作,以便系统自动访问和获取所需要的网页。为此,需要抽象并提供一种用户网页交互和浏览导航模型,并。

16、最终提供一种网页交互动作和浏览导航规则语言以描述和刻画出这种网页交互和浏览导航动作,然后在Web信息抽取处理过程中,执行该规则语言,以便回放所描述的网页交互和浏览导航动作,完成网页的自动访问和获取。0037 (2)网页数据抽取阶段:获得数据网页后,需要为每个数据网页定制数据抽取规则,以便从网页上抽取出特定区域中所包含的特定数据元素或数据记录;对包含规整数据记录的页面可采用自动结构分析方法生成抽取规则,对非规整页面可采用基于交互的半自动化规则生成方法完成。0038 (3)数据集成处理阶段:抽取出来的网页数据元素或数据记录需要按照所定义的目标信息实体结构进行转换、过滤和集成处理,生成一组目标数据记。

17、录。为此需要提供有效的数据集成模型和数据转换规则语言以便用户刻画出各种数据转换和集成逻辑。0039 因此,一个完整的Web信息抽取系统必须基于以上的三阶段完整模型来设计整个系统,提供从网页自动获取、到网页数据抽取和集成处理的综合规则体系和规则语言,并最终得到完整和一体化的执行和处理。0040 网页交互和浏览导航模型0041 Web页面的复杂性、交互性和数据动态性通常使得难以通过简单的URL链接来获说 明 书CN 104408101 A4/10页6取Web页面。因此,为了刻画Web信息抽取过程中的网页自动浏览导航逻辑,我们首先需要对用户在浏览器中以人工方式进行网页交互和浏览导航的行为动作进行抽象。

18、,然后建立一个网页自动交互和浏览导航的抽象模型,并进一步定义和提供一种浏览导航规则语言,以描述和刻画出准确的浏览导航逻辑。0042 为了刻画一个网页间的链接跳转,首先定义一个“导航链接模型”,该模型 主要刻画完成一个导航链接所包含的一系列交互操作,我们将执行Web浏览导航的每个交互动作称为浏览导航动作。0043 一个导航链接L包含一组浏览导航动作序列(Action Sequence,AS),我们用L(AS)来表示这个导航链接。从抽象层面看,一个完整的Web数据抽取任务将由一系列导航链接组合而成。0044 每个浏览导航动作实际上就是对一个网页控件进行的某种交互操作,通常包含一个或多个具体的控件设。

19、置动作,如设置文本框文本值,选中一个或多个复选按钮等。每个浏览导航动作包括控件描述和定位信息、浏览导航和交互动作描述、以及控件操作参数。一个导航链接可包含一至多个上述的浏览导航动作。除此以外,一个导航链接还指定当跳转到目标页面后所对应的目标页面模型是什么。0045 Web数据记录与数据源对象模型0046 Web页面上的数据记录有多种可能的组织形式。根据Web数据记录结构的规整性,我们将Web数据记录分为两类:规整数据记录和非规整数据记录(见图2)。0047 (1)非规整数据记录0048 包含在非规整数据记录中的数据项经常随机地分布在web页面上。因此我们通常不能从Web页面上规整的区域抽取出这。

20、种记录的数据项。对于此类数据记录,我们需要直接基于用户交互来生成抽取规则。0049 (2)规整数据记录0050 规整数据记录通常以规整的形式展示在web页面上。这类数据记录可能有多钟变体。根据不同的展示格式,规整数据记录可以被划分为三类:基于行的数据记录,基于列的数据记录和基于网格的数据记录。0051 对于基于行的数据记录,其抽象数据结构与其背后的DOM树结构是一致的。这种数据记录的结构最为简单。现有的大多数自动web数据抽取系统能够 自动分析并抽取这种数据记录。基于列的数据记录在其DOM树上将垂直显示。由于每个这样的数据记录由一组位于同一DOM树层次上的非兄弟节点构成,因此增加了自动Web数。

21、据抽取系统分析和抽取这种数据记录的难度。基于网格的数据记录是最难被自动分析和抽取的数据记录。一组基于网格的数据记录通常可以被划分为多个子组,每个子组中的数据记录类似于基于列的数据记录。0052 数据记录形式的多样性为数据抽取规则的统一定义带来了困难。为了提供充足的信息来指导系统正确地识别和抽取规整和非规整数据记录,本发明将引入各种属性和模式来定义抽取规则。0053 为了执行Web数据抽取,首先,我们将抽取展示在Web页面上的数据源对象;然后,我们将包含在数据源对象中的数据集成到预先定义好的目标数据结构中从而形成目标数据对象。对于第一步,我们引入一个层次化的数据源对象模型。该模型包含三种类型的数。

22、说 明 书CN 104408101 A5/10页7据源对象:数据区对象,数据记录对象和数据项对象。每个数据区对象包含一个或多个数据记录对象。每个数据记录对象包含一个或多个数据项对象。根据这一模型,我们将按照自顶向下的方式定义每个层次上的数据对象的抽取规则。0054 数据集成模型0055 为了阐述对页面上抽取出的原始数据进行集成处理的思想,本发明借鉴数据仓库中ETL(Extraction,Transformation and Loading)的设计思想来完成Web数据抽取过程中的数据集成处理,将ETL改变为ETI模型,即抽取(Extraction),转换(Transformation)和集成(I。

23、ntegration)处理过程和模型(如图3)。抽取(Extraction)处理主要负责从Web页面中抽取出原始的展示结构意义上的数据记录和元素;然后由于展示结构意义上的数据记录与最终应用所需要的目标结构数据记录间会存在差异,因此,转换(Transformation)处理将负责对这些原始数据记录和元素进行过滤和转换处理;最终,转换出的数据将按照用户预定义的目标数据记录结构,通过集成(Integration)处理合并集成并输出为目标数据记录。为了提供复杂结构目标数据记录对象的描述能力,目标数据记录对象采用基于XML的层次 式模型表示。0056 1.页面模型与Web信息抽取集成规则体系0057 为。

24、了描述Web信息抽取过程中的浏览导航、数据抽取和数据集成三个部分的逻辑,我们引入一个页面模型(page model)的概念。一个页面模型实际上是与一个特定网页对应的规则容器,包含为该网页所创建的有关浏览导航、数据抽取和数据集成各部分规则描述。每个页面都需要有一个页面模型(如图4),同一类型、但包含不同数据记录的Web页面可用同一个页面模型来描述其所需的导航动作、抽取和集成规则。页面模型主要包括三个部分:0058 (1)数据源对象及其抽取规则:记录对应页面上用以抽取数据记录的Web数据区和数据源对象、以及用于数据抽取、浏览导航、以及流程控制的HTML控件和各种外部数据源控件;为了保证规则语言的通。

25、用性,数据源对象采用XML语言进行定义和描述。该数据源对象实际上封装了一系列用以抽取出指定的数据区域中的数据记录的规则,包括各种抽取属性(Attributes)和模式(Patterns)。0059 (2)数据集成规则:包含对页面数据源对象中抽取出的原始数据进行转换集成的逻辑和规则;为了提供灵活而强大的数据转换和集成逻辑表示能力,数据集成规则将采用某种脚本语言来描述;0060 (3)浏览导航规则:如果当前的目标数据对象抽取还涉及到对后续被链接页面上数据的抽取,则当前的页面模型中还需要定义这些后续的浏览导航链接对象和规则;为了保证规则语言的通用性,浏览导航链接对象和规则将基于XML语言进行定义和描。

26、述。0061 2.数据源对象及其抽取规则的设计0062 数据区对象0063 为了抽取页面上的数据记录,我们首先定义数据区对象的抽取规则来指定页面上包含一组数据记录的区域。下面的规则示例给出了数据源对象抽取规则的框架描述。该抽取语言采用XML描述。总体上该抽取语言包含三个层次。第一层(对应于标签)用于定义数据区对象。第二层(对应于标签)用于定义数据记录对象。第三层(对应于标签)用于定义数据项对象。说 明 书CN 104408101 A6/10页80064 0065 数据抽取属性和模式0066 为了能有效描述数据区中与数据记录和字段对应的DOM节点特征,需要引入属性(Attributes)和模式(。

27、Patterns)。属性用来表示相应的XML元素的一系列属性,如name属性用于指定数据区对象的名称。而模式主要通过一些特征的定义对数据源对象及其内部的数据记录和字段进行定位、划分、过滤等复杂处理,以便能有效抽取各种不同类型的数据记录和数据项。属性locationPatternId,rangePatternId,lterPatternId,splitPatternId分别存储所使用的定位模式、范围模式、过滤模式、重组模式和分割模式。每个模式都有属性标识符id、类型type、以及方法method,不同类型的模式支持不同的方法。0067 模式的基本语法结构如下:0068 0069 0070 007。

28、1 0072 其中Feature元素主要用来描述一个显著的DOM节点特征。0073 定位模式中的属性xpath指定数据区父节点的XPath。为了适应页面结构的变化,该属性通常会指定一个比较泛化的XPath。但由于泛化的XPath可能会定位多个节点,因此我们需要引入一个特征来进一步定位正确的节点。对于任何一个泛化的XPath匹配的节点P,节点中的属性absentXPath和presentXPath分别指定了用于正确匹配P节点的XPath。若相对于节点P的absentXPath定位到任何节点,或者相对于节点P的presentXPath定位到至少一个节点,则P节点将作为不正确的节点丢弃。P节点成为正。

29、确节点当且仅当P同时满足这两个条件(也称满足该特征)。0074 范围模式用来定位数据区的边界。如果一个数据区的边界之内还包含噪音节点,我们需要使用过滤模式来过滤掉这些兄弟节点。过滤模式可指定一个或多个特征以完成复杂的过滤逻辑;当一个数据区包含基于网格的数据记录时,我们将使用分割模式来将该数据区分割为多个子区。在分割模式中,属性method指定了数据区分割方法。目前提供四种可选的分割方法:head,tail,separator和order。当选择方法head(tail)时,分割模式将指定一个特征;数据区中任何满足该特征的节点将被识别为一个子区的首(尾)节点。当选择方法separator时,分割模。

30、式将指定一组特征;当数据区中的一组连续的节点依次满足分割模式中所指定的特征时,该组节点将被识别为子区之间的分隔符。当选择方法order时,分割模式也将指定一组特征;我们将依据改组特征将数据区将被分割为多个子区;其要求是每个子区中的节点次序遵循分割模式中所指定的特征的次序。说 明 书CN 104408101 A7/10页90075 数据记录与字段抽取规则定义0076 当我们定义好数据区对象的抽取规则后,我们将定义数据记录对象的抽取规则来抽取数据区对象中的数据记录。当数据区对象中包含基于行的数据记录时,我们可以直接将数据区对象分割为多个数据记录。这类似于数据区对象的规则定义中子区的分割。我们将复用。

31、前述定义的分割模式来分割数据记录。0077 当数据区对象中包含基于列(网格)的数据记录时,我们需要对数据区对象(每个子区对象)进行重组,然后再识别重组后的数据区对象(每个子区对象)的数据记录。为此,我们引入重组模式来对数据区对象(子区对象)进行重组。重组模式中的属性id和type与前述模式类似;属性method指定了重组的方法。目前,我们提供两种可选的重组方法:X_coordinate和index。当选择方法X_coordinate时,我们将按照节点的横坐标(下标)来对齐数据记录和字段;当选择方法index时,将按照节点的序号而不是坐标位置来对齐节点。0078 当我们定义好数据记录对象抽取规则。

32、后,我们可以相对于数据记录对象来定义数据项对象抽取规则。我们将直接复用前述的定位模式来定位数据项。0079 数据源对象和数据记录抽取规则示例0080 根据前述讨论可知,基于网格的数据记录的规则定义最为复杂。为了比较全面地解释上述规则语言,以下给出一个包含基于网格数据记录的Web页面示例,以此来说明抽取规则的定义。图5显示了一个包含基于网格的记录的Web页面示例。该页面包含4个数据记录;我们感兴趣的数据项是每个记录中的“产品名称”,“市场价”和“销售价”。如下语句给出了相应的数据抽取规则的定义。0081 0082 1.浏览导航规则0083 页面模型中的浏览导航链接对象和规则基于XML进行描述。导。

33、航链接描述是说 明 书CN 104408101 A8/10页10一系列浏览导航交互动作集合。导航链接描述包含两个分开的部分:一个是导航链接对象的定义,其中包含导航操作控件描述和导航目标页面模型的指定;第二部分是导航链接调用,其中将指定完成一个所定义的导航链接跳转所需要进行的所有控件交互动作。图7的规则示例中描述了在图6的搜索页面上填写一个搜索关键字、然后按压“搜索”按钮开始跳转到搜索结果页面的导航链接对象和规则示例。其中,定义了两个涉及到的交互控件,一个是搜索输入框searchbox,另一个是搜索按钮searchbutton;然后在Web数据抽取过程中当需要在当前的页面模型中执行这个链接跳转时。

34、,则在导航链接调用对象中执行两个浏览动作,一个是将一个需要搜索的关键字字符串设置到搜索框searchbox中,然后按压搜索按钮searchbutton引起从搜索页面到搜索结果页面的跳转。一个Web网页的页面模型中可以定义多个导 航链接对象NavLink。一个NavLink描述规则的定义如下:0084 ,其中id用来为这个导航链接指定一个标识符。0085 2.数据集成规则语言设计0086 基于网页链接的跨页面数据记录集成0087 在实际的Web信息抽取应用中,一个复杂的目标数据记录可能会分散在多个相关联的网页上,因此,数据记录抽取集成时不仅需要能从这些网页上抽取出离散的数据集合,而且还要维护分散。

35、在这些网页上的数据间的正确数据关系,并根据这种数据关系一并完成目标数据记录的集成处理。0088 然而一个复杂的问题是,根据目标数据记录的结构,来自不同页面上的数据元素之间可能存在多种不同的数据关系。依据多网页间不同的数据关系,本发明提出了一种根据XML元素间自包含的结构关系、同时结合页面间的导航链接来完成复杂数据关系的维护和复杂数据记录的集成处理。主要思路是,根据所维护的上下页间的数据关系,在目标XML的适当的数据元素位置上,插入到下页的导航链接调用。当执行这个导航链接调用得到来自下页的数据后,直接插入该导航链接所对应的XML元素的位置上,以此保证跨页面间复杂的数据记录的集成处理。0089 经。

36、过观察和分析,本发明总结出的跨页面数据关系可以分为以下几种:0090 (1)平行记录关系,即后一个网页上的数据记录附加到前一个网页的一组记录之后。0091 (2)平行字段关系,下一页上的数据是当前页上某个记录中的后续字段。0092 (3)父子字段关系,下一网页上的数据附属于当前网页记录中的某个字段(如details网页上抽取出的一组详细信息数据字段依附于本页上数据记录中的Details字段)。0093 (4)嵌套记录关系,下一网页上的一组数据记录是当前网页上某个字段下的一组嵌套子记录(如学生信息网页上的“已修课程”字段链接到下一页上的一组详细的已修课程记录)。0094 图6给出了一个跨网页链接数据记录的网页示例,图8给出了该示例中跨网页目标数据记录的集成规则。图8为多个页面模型中的集成规则,则集成后得到的目标数据记录的XML结构如下所示,说 明 书CN 104408101 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1