文献翻译PageLevel Web Data Extraction from Template Pages.docx
《文献翻译PageLevel Web Data Extraction from Template Pages.docx》由会员分享,可在线阅读,更多相关《文献翻译PageLevel Web Data Extraction from Template Pages.docx(36页珍藏版)》请在冰豆网上搜索。
文献翻译PageLevelWebDataExtractionfromTemplatePages
CENTRALSOUTHUNIVERSITY
本科毕业英文文献翻译
题目:
基于模板页面的页面级网络数据提取
学生姓名:
颜希萍
指导教师:
刘献如张祖平
学院:
信息科学与工程学院
专业班级:
电子信息工程1002班
完成时间:
2014.3.5
基于模板页面的页面级网络数据提取
摘要:
Web数据提取一直是许多Web数据分析应用程序的一个重要组成部分。
在本文中,基于结构化数据和树,我们为页面生成的解码过程制定了数据提取问题的模板。
提出了一个非监督的、页面级数据提取的方法来为包含单或多个数据记录的每个单独网站推导出模式和模板。
FiVaTech把树匹配、树对齐、挖掘技术用来实现具有挑战性的任务。
在实验中,比起EXALG,FiVaTech具有更高的精度,并可以与其他记录级萃取系统相比较,例如ViPER和MSE。
实验中,用于许多先进的Web数据提取工作的测试页面显示了一个令人鼓舞的结果。
关键词——半结构化数据、网络数据提取、多树合并,包装器归纳。
一、引言
众所周知,深层网络包含比表面网站更大的数量级和更多有价值的信息。
然而,由于这些页面的生成是为了可视化而不是数据交换,使得利用这些综合信息需要大量的努力。
因此,从用于网页搜索的网站提取信息成为网络信息集成的一个关键步骤。
为一个给定的搜索形式生成一个提取程序相当于包装一个数据源,这样提取器或包装器程序就能返回数据信息集成的相同的格式。
页面属于同一网站的一个重要特点是,此类页面共享相同的模板,因为他们所有页面都是以一致的方式进行编码的。
换句话说,这些页面是用的同一个预定义的模板插入数据值生成的。
在实践中,模板页面也可以(以静态超链接的形式)存在于表层网站。
例如,商业网站经常有一个模板用于显示公司logo、浏览菜单和版权声明,这样相同的网站的所有页面看起来一致并且是有规划的。
此外,还可以使用模板来呈现一个用来显示相同类型的对象的记录列表。
因此,从模板页面的信息提取可以应用在许多情况下。
模板页面的特别之处在于,对模板网页提取目标几乎是等于在页面生成时的数据值嵌入。
因此,不需要标注非模板页面信息提取的提取目标(如Softmealy[5],Stalker[9],WIEN[6]等),自动提取的关键取决于我们是否可以自动推断模板。
一般来说,模板作为所有页面的公共模型,存在相当固定,这与页面数据值的多样化截然相反。
找到这样的一个共同的模板需要多个页面或一个页面包含多个记录作为输入。
当多个页面被给定了,提取目标就针对的是页面范围信息(例如RoadRunner[4],EXALG[1])。
给定单个页面时,提取目标通常是限制在记录信息范围内(如IEPAD[2],DeLa[11],和DEPTA[14]),其中包括添加记录边界的检测问题。
虽然不涉及添加边界检测问题,但由于页面级提取任务有更多的数据需要关心,使得它成为比记录级萃取更复杂的任务。
一种常见的技术,用于发现模板对齐:
字符串排列(如。
、IEPADRoadRunner)或树对齐(例如DEPTA)。
至于区分模板和数据的问题,大多数方法是假设HTML标记是模板的一部分,而EXALG认为一个一般模型,单词标记也可以是模板的一部分,标签标记也可以数据。
然而,EXALG的方法,没有明确使用对齐,产生许多偶然的等价类,使重建的模式不完整。
在本文中,我们关注于页面级提取任务和提出一种新方法,称为FiVaTech,用它来自动检测一个网站的模式。
拟议的技术呈现了一种新的结构,称为固定/变异模式树,它是一棵携带所需的所有必要的信息来识别模板和检测数据模式的树。
我们结合几个技术:
对齐、模式挖掘,以及树模板的想法来解决页面级模板建设中更困难的问题。
在实验中,FiVaTech比EXALG具有更高的精度,EXALG是为数不多的页面级萃取系统,可以与其他记录级萃取系统如ViPER和MSE相比。
本文接下来的内容组织如下:
第二节定义了数据提取问题。
第三节提供了系统框架以及FiVaTech的详细算法,构建固定/变异模式树的一个例子。
第四节描述模板和网站模式推导的细节。
第五节描述了我们的实验。
第六节比较FiVaTech与相关网络数据提取技术。
最后,第七节总结了本文。
二、问题公式化
在本节中,我们制定页面创建的模型,它描述了怎样使用一个模板将数据嵌入。
正如我们所知,一个网页是由嵌入数据实例x(取自数据库)到一个预定义的模板生成的。
通常一个CGI程序执行编码函数,结合数据实例和模板来形成网页,在这个网页中所有数据库的实例数据符合共同的模式,可以定义如下(类似的定义也可以在EXALG[1]中发现):
定义2.1(结构化数据)
一个数据模式可以是以下类型:
1、一个基本类型β代表一个字符串的符号,符号是一些文本的基本单位。
2、如果τ1,τ2,…,τk是类型,那么他们的有序列表<τ1,τ2,…,τk>也形成了一个类型τ。
我们说类型τ是由类型τ1,τ2,…,τk使用k阶类型构造函数构造成的。
一个k序列实例τ是的形式,其中x1,x2,…,xk分别是类型τ1,τ2,…,τk的实例。
这就是类型τ。
a、一个元组,记作τ,如果每一个实例体基数(实体中实例的个数)均为1。
b、一个可选,记作?
τ,如果每一个实例体的基数为0或1。
c、一个集合,记作{k}τ,如果某一些实例体基数大于1。
d、一个析取,记作(τ1|τ2|、、、|τk),如果所有的τi(i=1,2...k)都是可选并且基数其k个可选(τ1、τ2...τk)之和相当于实例体τ的基数1。
例2.1
图1显示了一个虚构的网页来显示一个列表的产品。
对于每个产品给出了产品名称,价格,折扣百分比(可选),和一个特性列表(阴影图中的节点)。
这里的数据实例是{<”产品1,”“现在3.79美元,”“节省5%,””特性11”>,<“产品2、”“现在7.88美元,”ε,{”特性21”、“特性22”}>},其中ε表示空字符串,在第二个产品中他是空的。
这个页面中嵌入的数据实例图1可以通过两种不同的模式S和S’表达,分别如图1b和图1c。
图1b显示了一个集合w1的四个顺序(表示图1a中的产品列表):
前两个属性是基本类型(产品的名称和价格),第三个属性是一个可选w2(折扣百分比),最后一个属性是一个集合w3(产品)的特性列表。
除了这种简洁的表示,相同的数据也可以由他们的父节点的DOM(文档对象类型)树来表示。
也就是说,我们可以重新组织上面的数据实例为{<<产品1,“<”现在3.79美元,”“折扣5%”>>,{”特性11”}>,<<“产品2,”<“现在7.88美元,”ε>>,{”特性2_1”,“特性2_2”}>},可以表达成模式S’。
第二种基本数据类型和可选数据(τ4)构成一个二元组τ3(由于每种产品的价格和折扣的可选被嵌入到了网页中同一个父节点下),进一步与第一种基本数据(产品名称)构成另一个二元组(τ2)。
因此,这种新模板S’的根源是一个二元集合(τ1),τ1由τ2和τ5(一元集合)两个部分构成,如图1c所示。
如前所述,模板页面是由在通过CGI程序在一个预定义的模板中嵌入数据实例来生成的。
因此,找寻给定输入网页的模板和数据模式的逆向工程应该建立在一些页面生成模型中,这个我们接下来将会进行描述。
在本文中,我们提出一种基于树的页面生成模型,它由子树连接来编码数据,而不是字符串连接。
这是因为数据模式和网页都是树状结构。
也因此,我们考虑模板树结构。
基于树的页面生成模型的优点是在模板中它不会涉及结束标签(如