APP下载

一种基于知识工程的DeepWeb信息抽取方法

2016-01-02乌尔柯西游香薷

计算机技术与发展 2016年9期
关键词:嵌套源代码网页

乌尔柯西,杨 抒,王 业,游香薷

(新疆农业大学计算机与信息工程学院,新疆乌鲁木齐 830052)

一种基于知识工程的DeepWeb信息抽取方法

乌尔柯西,杨 抒,王 业,游香薷

(新疆农业大学计算机与信息工程学院,新疆乌鲁木齐 830052)

DeepWeb中蕴含的信息越发庞大并且价值可观。但是由于DeepWeb信息的高度异构性、自主性、动态性以及不完整性,DeepWeb主题性网站的设计风格、页面结构、显示内容的不同,JavaScript技术的广泛使用等因素,使传统的抽取技术无法有效自动化集成蕴含在DeepWeb中的高质量信息资源。提出一种基于KBE(知识工程)的DeepWeb信息抽取方法。通过对目标DeepWeb的页面模式、页面HTML结构、页面视觉信息等进行分析、整合,利用HTML DOM(Document Object Model)树解析算法,自动或半自动方式匹配出符合页面模式、页面HTML结构以及目标信息源等元素的模板,来对Deep-Web中的信息进行定位,从而得到页面中的自由文本,结构化和半结构化数据。实验以大量嵌套结构的网站数据作为数据来源,验证了抽取方法的有效性。

DeepWeb;JavaScript技术;嵌套结构;DOM树;抽取模型

0 引言

根据美国伊利诺伊大学MetaQuerier[1]研究表明,DeepWeb具有规模大、覆盖面积广、增长迅速、信息结构化程度高、信息质量高等特点。与Surface Web相比,DeepWeb蕴藏的信息不但丰富,而且对于每个Web数据库而言,往往更加专注于某一领域的信息,如金融、商贸、科技、教育、医疗、娱乐等。根据2010年清华大学给出的中文DeepWeb规模的统计结果表明,当前中文DeepWeb在万维网上有60多万个查询接口,与2006年的统计结果相比增长了7倍[2]。其中,94.6%的DeepWeb查询接口出现在站点的前3层,而且非结构化数据库的比例占到64%[3]。

虽然DeepWeb中蕴含了大量有价值的信息,但是由于DeepWeb信息也具有高度的异构性、自主性、动态性,以及不完整性等特点,同时,DeepWeb网站都是主题性网站,每个站点的设计风格、页面结构、显示内容都各异;因此,能够有效自动化集成蕴含在Deep-Web中的高质量信息资源就成为一项极具挑战性的课题。

1 相关研究

国内外学者对DeepWeb网络的研究主要包括DeepWeb数据源的发现、查询接口的抽取、数据集成等,并且都取得了不错的研究成果。国外的MetaQuerier[1]、ShopBot[4]、HiWE[5]等研究成果对DeepWeb网络研究奠定了坚实的实践基础。近几年,以孟小峰等为首的DeepWeb研究团队也开发了Jobtong[6]系统。虽然在该领域已有许多研究成果,但是仍然存在着需要解决的问题。

在Web2.0时代,大部分DeepWeb是嵌套结构,而且广泛采用JS、XML等技术实现页面加载和页面跳转[7]。有些页内链接都不包含在HTML源代码中,而是隐藏在客户端脚本JavaScript中[8]。传统的Web抽取技术不能有效抽取这种嵌套结构的信息。之前,有人使用嵌入式浏览器界面征服JavaScript动态跳转来延续加载[9],从而抽取嵌套结构中的信息。但是,由于这种方法是利用嵌入式浏览器界面实现的,因此存在速度慢、效率低等不足。

目前,DeepWeb抽取方法主要有基于样本训练[10-11]的抽取方法和基于知识工程(KBE)的抽取方法[12]。样本训练方法主要通过学习已有的语料库规则处理未知的新文本。这种方法是目前DeepWeb搜索引擎的研究趋势,但它需要足够数量的训练数据,才能保证其处理质量。KBE方法也称为模式匹配和基于包装器方法。主要靠编制一些规则,使规则能处理特定领域的信息抽取问题。此方法必须解决的一个关键问题是构造Web站点的页面模型(规则)。Crescenzi V和Chang C H提出的RoadRunner和MDR算法使用较多。上述两种算法都需要通过对Web页面确定需要抽取的信息块,然后建立信息抽取模型[13],从而获取Web页面信息。Dhamankar等开发了基于复杂语义的iMAP系统[14],该方法是对所有可能的空间进行无限匹配,建立一个领域知识,然后采用人机交互方式对匹配进行检查和修改。但是此方法检索无限候选匹配耗时很长,不太实用。Madhavan等提出的基于语料库的模式匹配方法[15],通过许多模式及映射关系来增加待匹配模式之间的关系,以便能更好地进行匹配。但是语料库中属性之间的关系松散,不能完全表达属性之间的关系。国内的胡东东[16]、曲著伟[17]、廖涛[18]等都提出了一些针对特定领域的抽取方法,但由于抽取模型过于领域化,虽然效率高但不通用,不能有效地抽取嵌套结构的DeepWeb网页信息。

借鉴前人的研究成果,文中提出一种基于KBE的DeepWeb信息抽取方法。在实现过程中,通过对当前DeepWeb的一系列分析,匹配出符合页面模式、页面HTML结构以及目标信息源等元素的模型,来对DeepWeb中的信息进行定位,从而得到页面中的自由文本,结构化和半结构化数据。

2 DeepWeb数据抽取过程

通过对Web页面模式、页面HTML结构以及页面视觉信息等结果的分析,使用知识工程方法进行信息抽取。

定义1(页面模式):通过图形界面与用户交互,由用户指出页面上感兴趣的区域,进而产生抽取规则。

定义2(页面HTML结构):抽取之前将Web页面解析成一棵DOM树,通过自动或半自动的方式产生抽取规则。

定义3(页面视觉信息):视觉信息是页面元素、某一特定的源代码(JS、JavaScript)在HTML源码中所处位置等视觉上的线索。

定义4(知识工程方法):也称模式匹配方法。需要抽取的对象设定一个预先定义好的数据模型,使目标数据尽量能够符合预定义的模型。

结合前面的分析,DeepWeb信息抽取可分为三个阶段,即网页分析、模板生成、数据抽取。抽取过程如图1所示。

2.1 DeepWeb结构分析

图2是来自Wood365.cn的DeepWeb嵌套结构的页面。<1,2,…,n>定义为嵌套结构。为了使分析更清楚,截取了部分信息块页面。图中可以看到一些超链接和上下页面索引,将它们称之为主题信息块。其中,单个链接称之为信息条,链接终端的信息称为信息源。

分析页面的HTML源码发现,页面中同一信息块的目标信息具有类似的HTML源码,并且同一信息块的信息记录在DOM树聚类中具有相同的节点中,就是说目标信息源的标签名是相同的。还有,传统的Web信息抽取中,通过分析源代码中的<a>标签得到其他页面的URL地址,而在嵌套结构的Web信息抽取中,不仅要考虑<a>标签,还要考虑是否采用js技术-“网址从传参获得并转向”来重写URL并实现页面跳转,这是DeepWeb嵌套结构的一种趋势。一般,此类URL由前缀、索引、后缀组成:

前缀:信息块页面的主入口地址。

索引:n一般为数字,也就是页面转换时的关键传参。赋有效的初始值后,通过递增或递减来改变n的值,从而达到页面跳转。如,n=1,2,3…。

后缀:一般为html、htm、asp等静态网页文件后缀。利用js技术,调用JavaScript脚本实现的页面跳转的代码段如下:

Html源码中的参数传递:

<script language="javascript"type="text/javascript">loadPage('marketList_','html',26962,30,1)language="javascript"src="http://meta.wood365.cn/ wood365_ShangJi_Js/loadPage.js"type="text/javascript"></script>

JavaScript代码段:

//url页面前缀

//suffix页面后缀不包括"."

//recordCount总个数

//pageSize页行数

//pageIndex页索引

//当前页

function loadPage(url,suffix,recordCount,pageSize,pageIndex){

if(recordCount==0){return false;}

var pageCount=(recordCount%pageSize==0)? recordCount/pageSize|0:(recordCount/pageSize+1)|0; //pageCount计算总页数

var pre=0;//上一页

var next=0;//下一页

var startCount=0;//页码开始索引

var endCount=0;//页码结束索引

var pagestr="";

next=pageSize+1;

}

通常,这些信息都是生成抽取模型的关键。

2.2 生成抽取规则

生成模板在抽取过程中占有很重要的地位,通过对抽取区域的分析,限定抽取规则,采用信息块的HTML标签和索引值等信息相结合的方式,以自动或手动的形式进行模式匹配。基于网页结构的模型生成算法如下:

算法1:基于网页结构分析的算法。

(1)确定目标网页,分析其结构以及 HTML源代码。

(2)预处理,经过2.1节的分析过程已得到抽取规则的限定条件集。

(3)将限定条件集依次在抽取模板中以手动或自动的形式进行模式匹配。如,已知目标网页中,信息块的编码为UTF-8、页面间以“网址从传参获得并转向”的形式跳转以及目标信息源的HTML为P,那么以这些信息为限定条件进行模式匹配:{UTF-8&URL&<title></title>&<P></P>&…},多个信息源的限定条件可以并存,以此来建立对应的抽取模型。

2.3 信息抽取

数据抽取需要根据符合页面的模型来遍历HTML源代码,在遍历过程中对当前页面进行以下处理:(1)对页面上的链接进行解析;(2)对页面上符合抽取模型的所有节点进行聚类。

在第一步中,将正则表达式与模型相结合,找出页面上所有链接放入待抽取URL队列中。在第二步中,将对第一步中获得的URL队列一一访问,通过遍历HTML DOM树中的所有节点,建立与模型对应的新的DOM树结构,再利用正则表达式对此DOM树进行内容提取。具体算法如下:

算法2:信息抽取算法。

(1)选择符合当前页面的模型。

(2)获取网页HTML源代码并解析页内链接,并放入待抽取URL队列中。

(3)从待抽取URL队列中按先进先出的规律,访问并获得HTML源代码。通过遍历HTML DOM树中的所有节点,在不影响网页内容的前提下能够对当前符合模型的所有节点进行聚类,建立与模型对应的DOM树结构。比如,网页源代码如下:

<html>

<head><title>网页标题 </title></head>

<body><div><P>text1</P></div>

<table><tr><td>text2</td></tr></table>

<div><P>text3</P></div>

</body>

</html>

要想获得title、P、table标签里的内容,通过模型获得对应的DOM树结构如下:

<title>网页标题</title>

<P>text1</P>

<table><tr><td>text2</td></tr></table>

<P>text3</P>

(4)利用简单的正则表达式,从节点聚类的DOM树中快速、准确地抽取目标信息text1、text2、text3并进行整合。

3 实验

3.1 评价标准

召回率(Recall)、准确率(Precision)及综合评价(F-Measure)是数据挖掘中常用到的评价指标。Precision就是检索出来的条目(比如文档、网页等)有多少是准确的;Recall就是所有准确的条目有多少被检索出来了。以本实验为例,它们的关系如表1所示。

从表1中可以看出每个参数代表的含义:A为检索出的相关数据;B为检索出的不相关数据;C为未检索出的相关数据;D为未检索出的不相关数据;E表示A条检索出的相关数据中有E条准确无误;F表示B条检索出的不相关数据中有F条准确无误。

通过表1,将召回率R、准确率P以及综合评价标准F值定义如下:

3.2 结果与分析

实验从中国木业网、中国园林网等网站中随机抽取了50个主题性站点作为测试源,分别对“行情信息”、“木业字典”、“求购”等多个主题的嵌套结构的网页进行模型匹配并抽取文本、表格等信息。从中任意选取了1 248条、3 000条、9 000条数据信息作为实验的评价标准,以此来验证基于网页结构特征的Deep-Web数据抽取的有效性。

根据上述评价标准,在表2中分别给出了抽取文本信息和表格后所得到的结果。

通过表2可以看出,此方法对两种不同数据抽取都能达到比较好的效果。文本信息的准确性因为有些不相关的信息加进了文本信息,使得在召回率高的情况下,准确率略降低。而表格的抽取因为几乎所有网页中的HTML属性值相同且它是以HTML源码形式抽取,所以表格的召回率和准确率相对来说比较高。

4 结束语

文中针对DeepWeb嵌套结构的网页进行有效的信息抽取,证实了基于知识工程的DeepWeb网页信息抽取的可行性。通过对多个DeepWeb网页进行测试,发现该方法具有较高的准确率,并且模型结构使得抽取技术具有较好的可移植性,但它在模型生成和补充模型中过于依赖网页结构,使得它在不同结构的DeepWeb网页信息抽取过程中受到了限制。为了克服现有方法的不足,下一步将重点研究基于网页结构自适应的抽取技术。

[1] Cheng Tao,Yan Xifeng,Chang K C.EntityRank:searching entities directly and holistically[C]//Proceedings of the 33rd international conference on VLDB.[s.l.]:ACM,2007:387-398.

[2] CNNIC.第十六次中国互联网络发展状况统计报告[R/ OL].2015-07-08.http://www.cnnic.net.cn/.

[3] 赵朋朋,崔志明,高 岭,等.关于中国DeepWeb的规模、分布和结构[J].小型微型计算机系统,2007,28(10):1799-1802.

[4] Robert B D,Oren E,Daniels S.A scalable comparison shopping agent for the World-Wide Web[C]//Proc of the international conference on autonomous agents.[s.l.]:[s.n.],1997:39-48.

[5] Raghavan S,Garcia-Molin H.Crawling the hidden Web [C]//Proc of the 27th international conference on VLDB.[s. l.]:[s.n.],2001:129-138.

[6] Jobtong.面向领域的DeepWeb数据集成系统[EB/OL]. 2007.http://idke.ruc.edu.cn/reports/report2007/Systems/ Jobtong.pdf.

[7] 杨俊峰,黎建辉,杨风雷.深层网站Ajax页面数据采集研究综述[J].计算机应用研究,2013,30(6):1607-1610.

[8] Garrett J J.Ajax:A new approach to web application adaptive pat[EB/OL].2005.http://www.adaptivepath.com/ideas/essays/archives/000385.

[9] Xia Tian.Extracting multi-records from web pages[C]//Proc of fourth international conference on semantics,knowledge and grid.[s.l.]:[s.n.],2008:396-399.

[10]Wang Y,Hu J.A machine learning based approach for table detection on the Web[C]//Proc of the 11th international con-ference on world wide web.New York:ACM,2002:242-250.

[11]Soderland S.Learning information extraction rules for semistructured and free text[J].Journal of the Machine Learning,1999,34(1-3):233-272.

[12]Appelt E D,Israel D J.Introduction to information extraction technology[EB/OL].[2007-04-01].http://ranger.uta.edu/ ~alp/dm/ixtutorial.pdf.

[13]Pinto D,McCallum A,Wei X.Table extraction using conditional random fields[C]//Proc of the 26th Annual international ACM SIGIR conf on research and development in information retrieval.New York:ACM,2003:235-242.

[14]Dhamankar R,Lee Y,Doan A,et al.iMAP:discovering complex semantic matches between database schemas[C]//Proc of the 6th international conference on SIGMOD.[s.l.]:ACM,2004:383-394.

[15]Madhavan J,Bernstein P,Doan A,et al.Corpus-based schema matching[C]//Proc of the international conf on data engineering.[s.l.]:[s.n.],2005:57-68.

[16]胡东东,孟小峰.一种基于树结构的Web数据自动抽取方法[J].计算机研究与发展,2004,41(10):1607-1613.

[17]曲著伟,李敏强.基于数据区域发现的信息抽取规则生成方法[J].计算机工程,2009,35(22):59-61.

[18]廖 涛,刘宗田,孙 荣.Web表格定位技术的研究与实现[J].计算机科学,2009,36(9):227-230.

A DeepWeb Information Extraction Method Based on Knowledge Engineering

WU Er-ke-xi,YANG Shu,WANG Ye,YOU Xiang-ru
(College of Computer&Information Engineering,Xinjiang Agricultural University,Urumqi 830052,China)

The information contained in DeepWeb is more and more huge with great value.But due to the factors that DeepWeb information is highly heterogeneous,autonomous,dynamic and incomplete,and the design style,page structure,display contents of DeepWeb theme website are different,and the use of JavaScript technology is widespread,the traditional extraction technology can’t be effectively automated integration of high quality information contained in DeepWeb resources.Presents a DeepWeb extraction method based on knowledge engineering.The page mode,HTML structure and visual features of DeepWeb are analyzed and integrated.Applies HTML DOM tree parsing algorithm to match the template accorded with page mode,HTML structure and object information source by automatic or semi-automatic way,locating the information in DeepWeb to obtain the free text,structured and semi-structured data.Using a large number of site data with nested structure as data source,the effectiveness of extraction method is verified.

DeepWeb;JavaScript technology;nested structure;DOM tree;extraction model

TP301

A

1673-629X(2016)09-0183-04

10.3969/j.issn.1673-629X.2016.09.041

2015-07-07

2015-11-18< class="emphasis_bold">网络出版时间:

时间:2016-08-23

新疆维吾尔自治区自然科学基金(2014211B023)

乌尔柯西(1989-),女,硕士研究生,研究方向为深层数据挖掘;杨 抒,副教授,研究方向为数据挖掘、软件工程、林业信息化。

http://www.cnki.net/kcms/detail/61.1450.tp.20160823.1112.014.html

猜你喜欢

嵌套源代码网页
兼具高自由度低互耦的间距约束稀疏阵列设计
基于TXL的源代码插桩技术研究
基于HTML5与CSS3的网页设计技术研究
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于语法和语义结合的源代码精确搜索方法
论电影嵌套式结构的内涵与类型
嵌套交易如何实现逆市盈利
基于URL和网页类型的网页信息采集研究
巧用嵌套交易实现逆市盈利