基于XPath的新闻信息抽取系统设计与实现论文
信息抽取技术对于从大量的文档中抽取需要的特定事实来说是非常有用的。互联网上就存在着这么一个文档库。在网上,同一主题的信息通常分散存放在不同网站上,表现的形式也各不相同。若能将这些信息收集在一起,用结构化形式储存,那将是有益的。以下是小编今天为大家精心准备的:基于XPath的新闻信息抽取系统设计与实现相关论文。内容仅供参考,欢迎阅读!
基于XPath的新闻信息抽取系统设计与实现全文如下:
摘 要:随着互联网技术的迅猛发展,因特网成为目前新闻信息最丰富最主要的来源。本文在分析新闻网页的基础上,并分析了目前现有的信息抽取技术和XML技术,提出了一个基于XML技术的Web新闻抽取系统。本文主要是充分运用XML中的XPath技术在数据定位方面的优势,并提出一种基于DOM树的XPath生成算法,使用XSLT语言用于描述抽取规则,并使用路径表达式XPath定位待抽取的信息点。
关键词:数据挖掘;信息抽取;新闻抽取系统;XPath
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所示。
基于XPath的抽取方法主要包括如下三步:
(1)首先需进行数据清洗。系统可从互联网下载用户所需的Web文档,将其转化成规范的XML文档。这一步骤的主要工作就是使用规范化的DOM树表示清洗后的网页;
(2)将用户感兴趣的数据项使用节点位置进行标识,并生成XPath表达式。在此步骤中XPath定位信息可由归纳学习各个样本的页面来挖掘和生成[4]。该方法获取用户感兴趣的数据定位信息,同时使用XML文档表示抽取规则;
(3)将归纳学习所得的规则生成抽取规则库。用户进行实际信息抽取时,便能应用该抽取规则。
综上所述,可知其实现过程就是:从一个指定抽取或训练的Web页面开始,清洗该页面数据得到DOM树结构,然后就是生成抽取规则,即通过XPath定位抽取信息的路径,这也是该技术过程的核心所在。最终的抽取结果信息点则可通过XPath执行引擎而相应获得。 2.2 基于XPath的信息抽取模型整体框架
基于XPath信息抽取系统的整体框架如图2所示。
由图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所示。
2.4.2 信息定位优化
网页内容是不断变化的,尤其是高校的二级网站,汇集了教学、科研、学生等各类信息,几乎每天都在变化,在数月内网页模板至少也会变化一次。网页一旦变化就会影响抽取规则的修改甚至需要重新定制。因此,抽取规则的健壮程度是目前最重要的工作。
本文的抽取模型采用了Anchor-Hop模式,同时尽量避免这种树路径的定位缺陷。这种模型的最大优点是选择网页中一些较为固定的文本信息,并能根据网页结合相对路径和文本搜索进行数据定位。Anchor-Hop定位模式如图4所示。
下面则结合实际例子,解释Anchor-Hop定位模式的定位方法及路径表达方法。
通过图5分析,标签
是主要的上级节点。而且
标签内描述的内容相对稳定,主要围绕的信息点是“Computers-Programming Java”,可以作为参考点Anchor,因此定位信息描述如下:
//table[start-with(normalize-space(.),’Computer-Programming Java’)]
其他标签信息作为Hop信息点,XPath表达式为:
千年一叹://table[start-with(normalize-space(.),’Computer-Programming Java’)]/tr[2]/td[2]/text()
福尔摩斯探案全集://table[start-with(normalize-space(.),’Computer-Programming Java’)] /tr[3]/td[2]/ text()
由于XPath表达式是基于相对路径的,因此网页变化影响不会很大。
2.4.3 编写XSL模板规则
本文信息使用XML作为描述语言,因此抽取规则的描述基于逻辑模型DOM树,并通过XSLT来表示。由于XSL技术易于理解和修改[6],在XML中又能访问任意节点中的数据,并且大部分的开发工具均会支持这种技术,因此在本文使用XSLT描述抽取规则。
在信息抽取过程中,XSLT的作用是首先转换XML文档;其次通过路径表达式XPath和抽取指令生成抽取规则,这种方式生成的规则易于修改和信息抽取;而后又使用XSLT与XPath结合生成xsl格式的规则文件[7]。XSLT的特点是实现XML文档的格式转换。
3 新闻抽取系统模型
根据本文提供的抽取规则,为了新闻抽取系统能便于用户的快速使用及日后维护,组成系统的模块力求简洁明了。台职院新闻抽取系统主要由四大模块组成:用户交互接口、抽取规则定制、新闻抽取、新闻信息编辑。除此之外,指定网站的抽取规则、抽取结果及用户信息等数据存入关系型数据库中,模型图如图6所示。
4 结束语
为提高信息抽取的准确率,本系统定制抽取规则采用了人机交互的方式,这种方式的最大优点是系统可以定时批量抽取信息。但是这种方式没有实现完全自动化,需要人工监控与干预,影响了系统的工作效率。随着信息需求的不断增长,信息抽取是目前信息技术处理中研究的热点,因此也设计了大量技术、算法用于解决更多抽取问题,信息抽取的准确率也将更加精确、高效。