基于XPath的新闻信息抽取系统设计与实现
2015-04-29阮娟
阮娟
摘 要:随着互联网技术的迅猛发展,因特网成为目前新闻信息最丰富最主要的来源。本文在分析新闻网页的基础上,并分析了目前现有的信息抽取技术和XML技术,提出了一个基于XML技术的Web新闻抽取系统。本文主要是充分运用XML中的XPath技术在数据定位方面的优势,并提出一种基于DOM树的XPath生成算法,使用XSLT语言用于描述抽取规则,并使用路径表达式XPath定位待抽取的信息点。
关键词:数1据挖掘;信息抽取;新闻抽取系统;XPath
中图分类号:TP391.3 文献标识号:A 文章编号:2095-2163(2015-)02-
Design and Implementation of News and Information Extraction System based on XPath
RUAN Juan
(Taizhou Vocational & Technical College, Taizhou Zhejiang 318000, China)
Abstract: With the rapid development of Internet technology, the Internet is now the main source of the most abundant information. On the basis of the analysis of news Web pages, and analysis of the current existing information extraction technology and XML technology,the paper presents a Web news extraction system based on XML technology. This paper mainly uses the XPath XML technology in data location advantages, and puts forward a DOM tree based XPath generation algorithm, using XSLT language to describe the selection rules, and the path expression XPath to extract information point.
Keywords: Data Mining;Information Extraction;News and Information Extraction System; XPath
0 引 言
隨着时代发展,高校信息化建设成为影响学校发展的重要因素。目前高校主要活动由党委宣传部集中报道并及时发布门户网站,其他信息则由宣传部下属各二级单位信息员提供,或是宣传部采集二级网站新闻来进行获取。但网站在为学校教职工提供大量丰富信息的同时,却也为如何获得更加高效实用信息带来了巨大挑战,具体来说主要包括两个方面。一方面,随着学校的发展,各系部处室工作内容的增加,Web信息呈现爆炸式地增长,这就需要耗费信息采集员大量的时间、精力去搜集信息,但该种方式仍然还是会出现信息遗漏或新闻失去时效性等众多问题。另一方面,虽然二级网站存在本站搜索引擎,但是并没能给信息获取带来便捷。针对这一状况,并且随着对于信息获取要求的提高,用户已然趋向于更加精细、便捷的信息抽取方式。
1 目前国内外信息抽取系统
Web信息抽取的主要信息源就是互联网。互联网的Web页上散布着隐含在HTML页面中的信息点,信息抽取的目的就是将用户需要查询和利用的信息从网页上提取出来[1],并转换成具有清晰语义的结构化文档形式,再反馈给用户。
从20世纪80年代开始,信息抽取技术即已成为IT行业的研究热点之一。随着互联网的普及,Web信息抽取方面的研究逐渐兴起,研究人员开发了多种算法和系统。目前在世界上最为著名的“Web挖掘”项目就是卡耐基?梅隆大学的“自动学习和发现中心”[2]。这个项目的主要实现目标就是通过大型数据库存储自动从Web中提取的用户所需信息。国内一些单位对信息抽取方面也已开展了大量研究。例如中科院软件所研究的“基于DOM的信息抽取”[3],其抽取规则主要是通过归纳学习法半自动化算法生成。数据源包装器中的类就是由抽取规则而产生及实现的。
2 基于XPath的信息抽取方法
2.1 抽取方法概述
抽取规则生成是信息抽取的核心任务,而抽取规则实际上就是定位用户感兴趣的信息数据。若要定位Web文档中的数据,就必须从头至尾遍历网页。但这一方式却会严重影响信息抽取效率。在此,为了减小信息抽取的搜索空间,本文采用了Xpath的抽取方法。基于XPath规则的信息抽取过程则如图1所示。
图1 基于XPath的抽取方法
Fig.1 Extraction method based on XPath
基于XPath的抽取方法主要包括如下三步:
(1)首先需进行数据清洗。系统可从互联网下载用户所需的Web文档,将其转化成规范的XML文档。这一步骤的主要工作就是使用规范化的DOM树表示清洗后的网页;
(2)将用户感兴趣的数据项使用节点位置进行标识,并生成XPath表达式。在此步骤中XPath定位信息可由归纳学习各个样本的页面来挖掘和生成[4]。该方法获取用户感兴趣的数据定位信息,同时使用XML文档表示抽取规则;
(3)将归纳学习所得的规则生成抽取规则库。用户进行实际信息抽取时,便能应用该抽取规则。
综上所述,可知其实现过程就是:从一个指定抽取或训练的Web页面开始,清洗该页面数据得到DOM树结构,然后就是生成抽取规则,即通过XPath定位抽取信息的路径,这也是该技术过程的核心所在。最终的抽取结果信息点则可通过XPath执行引擎而相应获得。
2.2 基于XPath的信息抽取模型整体框架
基于XPath信息抽取系统的整体框架如图2所示。
图2 信息抽取过程
Fig.2 Information extraction process
由图2可知,给予信息抽取流程,整个系统可划分为三大部分,具体描述如下:
(1)网页解析
该模块就是将HTML网页转换成规范的XHTML网页,再解析XHTML网页生成DOM树。为了提高用户使用频度,目前浏览器均已具备较高的容错能力,即能自动过滤甚至是忽略HTML文档中的错误。但XPath对于HTML文档的适用性却又很高要求,因而将无法直接应用于该类文档,为此网页解析的重要性则不言而喻。
(2)生成规则
这个模块主要是通过人机交互,系统获取用户感兴趣的信息点,并对信息点与抽取结果之间的映射关系进行定义。在系统内部完成的处理任务是,使用XPath表达式表示获取的对应信息点,并与抽取结果的字段相匹配,也就是完成规则定义的映射,其后即用XML格式文档表示抽取规则,若规则发生错误则可进行人工修改。
(3)规则执行
在这一模块中完成了信息抽取。首先,从规则库中读取已定义的抽取规则,然后抽取得到用户所需的信息点,最后再将结果存入数据库中。
2.3 抽取规则描述
抽取规则主要描述了语义模式和页面中所对应的信息块间的映射关系。以XPath表示的抽取规则,其描述特征的主要依据分别来自于待抽取的HTML文档中的结构、位置、视觉和语义等内容。
以台职院新闻网页中的其中一条XPath的路径规则来看:“/html[1]/body[1]/table[4]/tr[2]/td[3]/div[1]”。
通过对路径规则的特征分析,可以看出在抽取规则中结构特征具有较强的覆盖力,可作为生成抽取规则的主要依据。而位置、视觉、语义这些特征可用来辅助结构特征提高抽取规则的约束与区分能力。因此为设立一个健壮的抽取规则,在注重增加DOM结构性的同时,需尽量减少语义、视觉等特征对结构的依赖性。
2.4 抽取规则优化
2.4.1 基于JTree的DOM树优化
JTree是Java语言中的GUI组件之一。JTree表示节点及其之间关系的方式有些类似目录树。JTree树直观性很强,并可随意折叠或伸展,因此就能清楚地显示XML文档的树型结构数据及数据间的层次关系,让用户能明确标识出感兴趣的信息点[5]。
JTree树显示XML DOM文档树结构的基本方法是:首先解析XML文档转化成XML DOM树;然后获取该DOM树的根节点root,作为JTree树的根节点;接着通过使用深度优先遍历算法遍历DOM树,获取XML文档中所有准确的子节点;最后再将这些节点加载到JTree树的根节点中[5],并将相对应的节点添加到树中。遍历XML DOM树后构造JTree的算法流程图如图3所示。
图3 JTree树构造过程
Fig.3 JTree construction proces
2.4.2 信息定位优化
网页内容是不断变化的,尤其是高校的二级网站,汇集了教学、科研、学生等各类信息,几乎每天都在变化,在数月内网页模板至少也会变化一次。网页一旦变化就会影响抽取规则的修改甚至需要重新定制。因此,抽取规则的健壮程度是目前最重要的工作。
本文的抽取模型采用了Anchor-Hop模式,同时尽量避免这种树路径的定位缺陷。这种模型的最大优点是选择网页中一些较为固定的文本信息,并能根據网页结合相对路径和文本搜索进行数据定位。Anchor-Hop定位模式如图4所示。
图4 Anchor-Hop的定位模式
Fig.4 The Anchor - Hop positioning model
下面则结合实际例子,解释Anchor-Hop定位模式的定位方法及路径表达方法。
通过图5分析,标签