论文部分内容阅读
摘 要:提出了一种以XSLT为抽取规则的Web信息抽取方法。首先将样本Web文档转换为XHTML文档,通过解析器构造DOM树,寻找最大频繁子树并识别出用户感兴趣信息,以此形成需抽取内容的定位信息。然后对不同样本Web文档的定位信息进行归纳学习,并构造出以XSLT文档表示的抽取规则。最后应用该抽取规则进行实际的信息抽取。方法基本不需要人工干预即可完成Web信息抽取,可应用于Web数据挖掘以及信息搜集比对等应用领域。
关键词:Web;抽取;XML;XSLT
Extracting Information of Web based on Data Driver
LIU Hongyi
(College of the PLA border denfense academy of fighting Lab,Xian,China,710108)
Abstract: This paper presents a method of information extraction using XSLT as extracting rules. First, change the sample Web document into XHTML document, constructs DOM tree by the parser, find out the biggest frequent sub tree and identify the information which users are interested in, which produces localization information needed to extract content. Second, induction study about the localization information of different sample Web documents, and construct the extraction rules expressed with XSLT documents. Finally, information is actually extracted using these rules. This method can almost accomplish Web information extraction without manual intervention, and can be applied in many application fields such as Web data mining and information collecting and comparing.
Key words: Web ; extraction ; XML ; XSLT
1 引 言
隨着Internet的发展,Web上的数据呈几何级数增长,要想从Web上获取一条有用信息的难度也越来越大。Web数据的不断增长和异构数据源集成的应用,导致了大量数据驱动型Web页面的产生。目前这些数据多是通过HTML语言来展现,而HTML语言的一个显著特点是结构不规则或不完整,使Web上的数据处于一种无序状态,应用程序无法直接解析、获取并利用Web上海量的信息,给Web应用的建立造成了较大困难。
为解决从Web文档中抽取所需信息,人们做了大量的研究工作。但由于所处理的对象是HTML文档,它包含了许多显示格式标签,使所需数据信息分散在各种标签中,且分布规律对不同领域、不同应用可能大不相同。因此过去的主要研究工作是在分析领域知识的基础上,用人工或机器辅助的方式制定一些信息抽取规则,然后依据规则从Web页面中抽取所需信息。这就带来两个主要问题,第一,它不是一个通用的抽取系统,而是针对某一领域,还需要制订有效的抽取规则;第二,一旦被抽取的源Web页面结构发生变化,抽取工作可能失效。
本文提出的方法利用了标准的XML技术来解决针对数据驱动型Web页面信息抽取问题。信息抽取的核心是生成抽取规则,而抽取规则实际上就是用户感兴趣的数据项的定位信息。我们的做法是:首先将样本Web页面转化成为结构良好的XML文档;根据用户的抽取需求从样本XML文档中找到用户感兴趣的区域;并在这个区域内细粒度地查找到具体要抽取的数据项的定位信息;然后对不同样本页面的定位信息进行归纳学习,得出该类页面用户感兴趣数据项的定位信息,并构造出以XSLT文档表示的抽取规则。最终应用该抽取规则进行实际的信息抽取。
2 基于XML的信息抽取方法
2.1 方法概述
基于XML的Web信息抽取系统主要由HTML解析器、规则生成器组成,图1是系统的框图。
图1:Web页面主题信息抽取系统框架图
图中细线表示通过HTML样本集生成Web信息抽取规则的过程,粗线表示对HTML文档应用XSLT进行信息抽取的过程,虚线则表示用户需求指导抽取规则的生成。HTML解析器负责将HTML文档先转换为良构的XHTML,然后解析为DOM树,使后续工作在此DOM树基础上进行。规则生成器则根据最大频繁子树找到感兴趣的信息块,然后依据用户的抽取需求从信息块中找到所需抽取数据的定位信息。对这些定位信息进行归纳学习后生成XSLT文档,也即抽取规则。当要对待抽取HTML文档进行信息抽取时,也需要先把HTML文档解析为DOM树,然后执行XSLT引擎,生成的XML文档就是所需抽取的信息。
2.2 抽取规则
1)确定输入样本感兴趣信息块。
以图2所示的查询结果页面为例,所要抽取的信息只是有关图书的一些描述,感兴趣的信息块是图中以线框标注的部分。
图2:以数据驱动的样本页面 设输入具有相似表现格式的样本集表示为:{P1,P2,…,Pn},n为样本页面的个数。扫描样本页面,找出频繁子树,并通过用户需求确认感兴趣信息块(IB),m为IB的个数。用算法1可得到IB的定位信息集。
算法:返回IB定位信息集
该算法也分为两个部分:样本集合的获得和定位信息的生成。
输入:n个样本页面训练集合,每个页面上含有m个IB;
输出:IB定位信息集
{/***初始化***/
LocationIBs=null; //IB定位信息集置空
For(i=1; i++;i=m){ //第一个IB定位信息置空
Path[i]=null;
LocationIB[i]=null;}
/***样本集合的获得***/
For(i=1;i++; i=m)
For(j=1;j++;j=n){
扫描第j个样本页面的DOM树;
把第j个样本页面中的第i项内容的路径表达式写入path[i]中}
/***获得每个信息块的抽取规则集合***/
For(i=1;i++;i=m){
While(path[i]!=null){
随机抽取一项path[i][j]令其等于apath;
apath与path[i]中其它路径表达式与其它进行比较,获得被apath覆盖的正例集合S;
path[i]=path[i]-S;//删除被覆盖的正例
LocationIB [i]= LocationIB [i]+apath;}}
LocationIBs={ LocationIB [1], LocationIB [2],……, LocationIB [m]};
return LocationIBs;}
2)确定感兴趣信息块内数據项定位信息。
在得到了待抽取信息块的路径集合之后,信息抽取实际上就变成了对信息块内部数据项集合的抽取。而信息块具有相似的格式,且在相似的信息块中往往会含有一定特征可以指导对欲抽取数据项的定位。所以对信息块所包含的DOM树子树进行先根遍历,就可以得到细粒度的欲抽取信息条的Xpath表达式。
3)优化定位信息并生成XSLT抽取规则。
由以上方法所得信息块内数据项的定位信息以绝对路径形式表示,为了克服绝对路径在抽取信息方面适应性较差的缺点,选择包含所有待抽取信息的共同的最近的祖先节点作为一个参考节点,然后结合感兴趣信息块定位信息集以及信息块内数据项的定位信息,根据每个节点的Xpath形成XSLT文件。该XSLT文件就是抽取规则。
3 实验结果
当得出了抽取规则XSLT文档后,要构造一个进行信息抽取的wrapper仅需要执行这个XSLT。本文使用了Xalan-J作为XSLT执行引擎。对图2所示Web页面抽取结果为:
-这样吃最健康(顶级畅销书,台湾78次印刷)
-(台湾)姜淑惠
-2009-3
-15
-好妈妈胜过好老师(一个教育专家16年的教子手记)
-尹建莉
-2009-01
-20
抽取结果完全满足我们的抽取要求。为了试验抽取方法的健壮性,在不改变原Web页面数据结构的情况下,调整其内容分布区域以改变结构,再次抽取的结果仍然保持了同样的结果,满足了我们对抽取规则的健壮性要求。
4 结论
本文介绍了一个基于XML的网页信息抽取方法,我们的最终目的是将隐藏在HTML网页中的数据信息抽取出来,表达为结构化的、扩展性很强的XML文档。由于大部分网站是由一个后台数据库和一些HTML模板所驱动,所以网页中同类信息的表示往往在结构上具有相似性,因此,利用记录结构具有相似性这一启发知识进行Web信息抽取有较好的通用性。同时,结合抽取需求而形成相对路径的定位方法,使得抽取规则具有一定的健壮性,提高了这种抽取方法的可用性。
参考文献
[1] N Kushmerik. Wrapper induction: Efficiency and expressiveness [J]. Artificial Intelligence, 2000, 118(2000) : 15 - 68.
[2] B Adelberg, NoDoSE. A tool for semi-automatically extracting structured and semi-structured data from text documents. SIGMOD 98.
[3] Embley DM, Campbell DM, Jiang YS, etc. Conceptual-Model-Based Data Extraction from Multiple-Record Web Pages [J]. Data and Knowledge Engineering. 1999, 31(3):227-251.
[4] Sahuguet A,Azavant F. Wysiwyg Web Wrapper Factory [A]. WWW[C], 1999.
[5] Liu L, Pu C, Han W. XWRAP: An XML-enable Wrapper Construction System for Web Information Resource [A]. In Proceedings of the 16th IEEE International Conference on Data Engineering [C], San Diego, California, 2000, 611-621.
[6] Crescenzi V, Mecca G. On Automatic Information Extraction from Large Web Site [R]. Technical Report DIA-76-2003.
关键词:Web;抽取;XML;XSLT
Extracting Information of Web based on Data Driver
LIU Hongyi
(College of the PLA border denfense academy of fighting Lab,Xian,China,710108)
Abstract: This paper presents a method of information extraction using XSLT as extracting rules. First, change the sample Web document into XHTML document, constructs DOM tree by the parser, find out the biggest frequent sub tree and identify the information which users are interested in, which produces localization information needed to extract content. Second, induction study about the localization information of different sample Web documents, and construct the extraction rules expressed with XSLT documents. Finally, information is actually extracted using these rules. This method can almost accomplish Web information extraction without manual intervention, and can be applied in many application fields such as Web data mining and information collecting and comparing.
Key words: Web ; extraction ; XML ; XSLT
1 引 言
隨着Internet的发展,Web上的数据呈几何级数增长,要想从Web上获取一条有用信息的难度也越来越大。Web数据的不断增长和异构数据源集成的应用,导致了大量数据驱动型Web页面的产生。目前这些数据多是通过HTML语言来展现,而HTML语言的一个显著特点是结构不规则或不完整,使Web上的数据处于一种无序状态,应用程序无法直接解析、获取并利用Web上海量的信息,给Web应用的建立造成了较大困难。
为解决从Web文档中抽取所需信息,人们做了大量的研究工作。但由于所处理的对象是HTML文档,它包含了许多显示格式标签,使所需数据信息分散在各种标签中,且分布规律对不同领域、不同应用可能大不相同。因此过去的主要研究工作是在分析领域知识的基础上,用人工或机器辅助的方式制定一些信息抽取规则,然后依据规则从Web页面中抽取所需信息。这就带来两个主要问题,第一,它不是一个通用的抽取系统,而是针对某一领域,还需要制订有效的抽取规则;第二,一旦被抽取的源Web页面结构发生变化,抽取工作可能失效。
本文提出的方法利用了标准的XML技术来解决针对数据驱动型Web页面信息抽取问题。信息抽取的核心是生成抽取规则,而抽取规则实际上就是用户感兴趣的数据项的定位信息。我们的做法是:首先将样本Web页面转化成为结构良好的XML文档;根据用户的抽取需求从样本XML文档中找到用户感兴趣的区域;并在这个区域内细粒度地查找到具体要抽取的数据项的定位信息;然后对不同样本页面的定位信息进行归纳学习,得出该类页面用户感兴趣数据项的定位信息,并构造出以XSLT文档表示的抽取规则。最终应用该抽取规则进行实际的信息抽取。
2 基于XML的信息抽取方法
2.1 方法概述
基于XML的Web信息抽取系统主要由HTML解析器、规则生成器组成,图1是系统的框图。
图1:Web页面主题信息抽取系统框架图
图中细线表示通过HTML样本集生成Web信息抽取规则的过程,粗线表示对HTML文档应用XSLT进行信息抽取的过程,虚线则表示用户需求指导抽取规则的生成。HTML解析器负责将HTML文档先转换为良构的XHTML,然后解析为DOM树,使后续工作在此DOM树基础上进行。规则生成器则根据最大频繁子树找到感兴趣的信息块,然后依据用户的抽取需求从信息块中找到所需抽取数据的定位信息。对这些定位信息进行归纳学习后生成XSLT文档,也即抽取规则。当要对待抽取HTML文档进行信息抽取时,也需要先把HTML文档解析为DOM树,然后执行XSLT引擎,生成的XML文档就是所需抽取的信息。
2.2 抽取规则
1)确定输入样本感兴趣信息块。
以图2所示的查询结果页面为例,所要抽取的信息只是有关图书的一些描述,感兴趣的信息块是图中以线框标注的部分。
图2:以数据驱动的样本页面 设输入具有相似表现格式的样本集表示为:{P1,P2,…,Pn},n为样本页面的个数。扫描样本页面,找出频繁子树,并通过用户需求确认感兴趣信息块(IB),m为IB的个数。用算法1可得到IB的定位信息集。
算法:返回IB定位信息集
该算法也分为两个部分:样本集合的获得和定位信息的生成。
输入:n个样本页面训练集合,每个页面上含有m个IB;
输出:IB定位信息集
{/***初始化***/
LocationIBs=null; //IB定位信息集置空
For(i=1; i++;i=m){ //第一个IB定位信息置空
Path[i]=null;
LocationIB[i]=null;}
/***样本集合的获得***/
For(i=1;i++; i=m)
For(j=1;j++;j=n){
扫描第j个样本页面的DOM树;
把第j个样本页面中的第i项内容的路径表达式写入path[i]中}
/***获得每个信息块的抽取规则集合***/
For(i=1;i++;i=m){
While(path[i]!=null){
随机抽取一项path[i][j]令其等于apath;
apath与path[i]中其它路径表达式与其它进行比较,获得被apath覆盖的正例集合S;
path[i]=path[i]-S;//删除被覆盖的正例
LocationIB [i]= LocationIB [i]+apath;}}
LocationIBs={ LocationIB [1], LocationIB [2],……, LocationIB [m]};
return LocationIBs;}
2)确定感兴趣信息块内数據项定位信息。
在得到了待抽取信息块的路径集合之后,信息抽取实际上就变成了对信息块内部数据项集合的抽取。而信息块具有相似的格式,且在相似的信息块中往往会含有一定特征可以指导对欲抽取数据项的定位。所以对信息块所包含的DOM树子树进行先根遍历,就可以得到细粒度的欲抽取信息条的Xpath表达式。
3)优化定位信息并生成XSLT抽取规则。
由以上方法所得信息块内数据项的定位信息以绝对路径形式表示,为了克服绝对路径在抽取信息方面适应性较差的缺点,选择包含所有待抽取信息的共同的最近的祖先节点作为一个参考节点,然后结合感兴趣信息块定位信息集以及信息块内数据项的定位信息,根据每个节点的Xpath形成XSLT文件。该XSLT文件就是抽取规则。
3 实验结果
当得出了抽取规则XSLT文档后,要构造一个进行信息抽取的wrapper仅需要执行这个XSLT。本文使用了Xalan-J作为XSLT执行引擎。对图2所示Web页面抽取结果为:
-
-
-
-
-
-
-
-
抽取结果完全满足我们的抽取要求。为了试验抽取方法的健壮性,在不改变原Web页面数据结构的情况下,调整其内容分布区域以改变结构,再次抽取的结果仍然保持了同样的结果,满足了我们对抽取规则的健壮性要求。
4 结论
本文介绍了一个基于XML的网页信息抽取方法,我们的最终目的是将隐藏在HTML网页中的数据信息抽取出来,表达为结构化的、扩展性很强的XML文档。由于大部分网站是由一个后台数据库和一些HTML模板所驱动,所以网页中同类信息的表示往往在结构上具有相似性,因此,利用记录结构具有相似性这一启发知识进行Web信息抽取有较好的通用性。同时,结合抽取需求而形成相对路径的定位方法,使得抽取规则具有一定的健壮性,提高了这种抽取方法的可用性。
参考文献
[1] N Kushmerik. Wrapper induction: Efficiency and expressiveness [J]. Artificial Intelligence, 2000, 118(2000) : 15 - 68.
[2] B Adelberg, NoDoSE. A tool for semi-automatically extracting structured and semi-structured data from text documents. SIGMOD 98.
[3] Embley DM, Campbell DM, Jiang YS, etc. Conceptual-Model-Based Data Extraction from Multiple-Record Web Pages [J]. Data and Knowledge Engineering. 1999, 31(3):227-251.
[4] Sahuguet A,Azavant F. Wysiwyg Web Wrapper Factory [A]. WWW[C], 1999.
[5] Liu L, Pu C, Han W. XWRAP: An XML-enable Wrapper Construction System for Web Information Resource [A]. In Proceedings of the 16th IEEE International Conference on Data Engineering [C], San Diego, California, 2000, 611-621.
[6] Crescenzi V, Mecca G. On Automatic Information Extraction from Large Web Site [R]. Technical Report DIA-76-2003.