基于煤矿安全事件的Web信息抽取技术研究*
2014-03-15郭晓黎刘泽伟刘瑞祥
郭晓黎 刘泽伟 刘瑞祥
(1.中国矿业大学 (北京)机电与信息工程学院,100083;2.北京工业大学软件学院,北京市朝阳区,100124;3.北京联合大学信息学院,北京市朝阳区,100101)
1 引言
煤矿安全网站逐渐发展成熟并具有一定规模,涌现出像煤矿安全网、中国安全生产网等在煤矿安全领域内有影响力和知名度的网站,使煤矿安全事件的相关信息日渐丰富。但是,煤矿安全领域网站的架构、内容及表现形式、功能实现也都随着Web技术的广泛应用而不断地发展和改变,带来了 “信息过载”问题。如何从庞大的煤矿安全信息资源库中抽取出用户关心的信息,成为了当今煤矿安全领域一个亟待解决的问题。
2 Web信息提取技术
2.1 Web信息抽取技术及分类
Web信息抽取是将Web作为信息源的一类信息进行抽取,简单地说,Web信息抽取就是指从Web页面中抽取满足用户需求的信息而过滤掉不相关的冗余信息,其核心是将分散在网页上的半结构化的HTML页面中隐含的信息抽取出来,并以更加结构化、语义更加明确的形式表示出来,使用户可以在Web中更加方便地查询数据,应用程序能更加直接地利用Web中的数据。
Web信息抽取技术根据自动化程度可以分为人工方式、半自动方式和全自动方式三大类,这种分类方式主要是根据Web信息抽取的核心——包装器 (Wrapper)生成方式的不同来分类的。根据抽取原理和抽取方式的不同,信息抽取技术可以分为6类:基于自然语言处理方式的Web信息抽取、基于包装器归纳方式的Web 信息抽取、基于ontology方式的Web 信息抽取、基于视觉特征的Web信息抽取、基于Web查询方式的Web信息抽取和基于HTML结构方式的Web信息抽取。
2.2 信息抽取基本过程
信息抽取一般包括以下几个步骤:
(1)对Web网页预处理。目的是从半结构化网页中过滤掉无用的 “噪声”数据,并对不规则的HTML标识进行修正,保留有用信息的过程。
(2)定义信息抽取规则。即用定制的语言表达抽取规则,描述所需要抽取的信息。针对某一领域的信息特征预定义信息抽取规则,存储在规则库供用户选用。
(3)对信息进行抽取。对文本进行合理的词法、句法及语义分析,使用规则匹配方法识别抽取规则的各个部分,并对上下文进行分析,确定最终需要抽取的信息。
(4)结构化数据并返回给用户。
2.3 Web信息抽取特点
Web信息抽取就是从异构的Web页面中提取出用户需要的数据,抽取的特点主要表现在:
(1)Web页面结构不规则,没有特定的数据模型对其进行描述,增加了Web信息抽取的难度。
(2)Web 页面上的数据多数用HTML 来描述,注重数据的表现,缺乏数据的描述。
(3)Web页面中的数据,大部分是与主题无关的 “噪音”数据,降低了数据抽取的精确度和效率,也加大了数据抽取的难度。
(4)Web页面的数据组织形式多变,表现形式各不相同,特定页面的信息抽取规则不能应用于其它页面。
因此,Web页面数据的异构性、不规则及易变性等特点,需要根据实际的需求,采用合适的抽取方法,对Web信息进行抽取。
3 面向煤矿安全事件的Web信息抽取方法
当今,煤矿安全事件的信息多数都集中在各式各样的Web页面中,面对信息量庞大、结构复杂的Web页面,关心的只是很小的部分板块。如何去掉大量冗余信息,抽取到有效的数据,为用户提供优质的检索服务,是要解决的核心问题。本文结合各抽取方法的特点以及煤矿安全信息网本身的特点,提出了一种面向煤矿安全事件的Web信息抽取方法,此信息抽取过程的框架如图1所示。
图1 信息抽取过程
3.1 煤矿安全事件网页特征及结构
煤矿安全事件信息网页具有结构稳定、信息量大等特点,由于这类网页在各大网站的功能相近,所起的作用相似,因此网页的结构相对比较稳定,不会受到某个网站的约束,适合进行大批量统一抽取处理。中国煤矿安全网中有关事故案例信息的一个实例见图2。
从图2中可以发现,网页的结构十分清晰,需要的煤矿安全事件信息就是图中事故案例部分。因此,把<ul></ul>之间的内容直接匹配出来,就实现了页面清洗。同样,<ul></ul>之间内容的结构也比较规范。
<li></li>标签之间的信息正是需要抽取的,再次对这个单元模块信息进行匹配,就能更加准确定位需要抽取的信息,使页面清洗更加彻底。正则表达式的特性正好能满足上述需要,因此,考虑采用基于正则表达式匹配的页面清洗协助完成信息抽取的任务。
图2 事故案例信息实例
3.2 基于正则表达式匹配的页面清洗
页面清洗主要分为3个步骤:第一步是将页面中的样式表、脚本以及注释等无关信息去除掉;第二步是根据页面具体内容的不同,将页面内容分成不同的类别块;第三步是按照指定规则对各块做进一步筛选。
正则表达式是对字符串操作的一种逻辑公式,即用事先定义好的特定字符及其组合,组成一个“规则字符串”,利用这个 “规则字符串”来过滤任何符合规则的字符串,并完成提取、判断、替换等操作。正则表达式的灵活性、逻辑性和功能性都很强,可以用简单的方式实现字符串的复杂控制。Java正则表达式通过Java.util.regex 包下的Pattern类与Matcher类实现。Pattern类的主要作用是根据正则表达式的相关语法,针对要匹配的对象构建正则表达式。Matcher类的作用是根据Pattern类所构建的正则表达式匹配对象,并且对匹配内容进行进一步处理。
对于前面讨论的煤矿安全事件信息网页,其中包含煤矿安全事件信息的模块包括<ul>标签及其子标签。由于煤矿安全事件信息网页的结构简单,内容模式相对固定,通过对大量网页进行分析可以得出:页面经过匹配,需要抽取的常见标签大致有以下几种:<Meta>、<table>、<ul>、<li>、<a>等。匹配标签的过程基本相同,这里只以图2中的一个<ul>标签下面的子标签<a>为例。针对此示例,要想匹配出<ul>标签下<a>标签的内容,需要定义一个Pattern对象,针对这个Pattern对象构造相应的正则表达式如下:
针对上述Pattern对象的规则,会有一个Matcher对象与之对应进行匹配,并且为匹配内容进行后续处理,如按照分组进行抽取、替换和删除等。
经过以上匹配过程,<a>标签结构包含的内容即为待抽取信息块。如果网页的结构比较简单,标签不复杂,就可以按照上述步骤进行其他页面的信息抽取工作。
Web页面清洗是Web信息抽取过程中一个很重要的环节,为抽取过程后续流程做准备。页面清洗效率的高低将直接影响整个抽取过程的性能和效率。
3.3 信息抽取
信息抽取的任务是从页面中提取出用户需要的信息,实现半结构化数据到结构化数据的转换。网页经过清洗后,再根据网页的结构特点与上一步中建立的抽取规则进行匹配。利用匹配成功的规则对网页进行信息提取,最终把抽取到的数据保存在特定的数据结构中,作为下一步信息存储的数据源。
抽取规则的作用是描述待抽取信息的各种特征和规律,识别和定位待抽取信息在Web 页面中的位置。
面向煤矿安全事件的Web信息定向提取,需要对特定的Web网页信息进行抽取,并在特定网页中提取特定的面向煤矿安全事件的信息,抽取的信息需要精确匹配,因此对数据抽取的正确性和准确度要求都较高,综合考虑采用人工标注方式来生成抽取规则。
这种方式用到DOM 和XPath 相关技术。DOM 是万维网制定的一种语言标准,它定义了文档的逻辑结构以及操作文档各元素的通用方法,可以作为各种编程语言以及各种应用程序的编程接口,利用DOM 可以对XML 文档进行读取,以及增、删、查、改等各项基本操作。DOM 树用来保存XML 数据,对XML 文档的解析和各种操作都可以在DOM 树上进行。XPath即为XML 路径语言,是一种用来确定XML文档中某部分位置的语言。实际应用过程中,首先指定样本学习网页,然后根据样本页面生成对应的DOM 结构,由人工在DOM 结构中标注感兴趣的数据位置,然后得到待抽取数据位置的XPath 表达式。例如,图2 所示的HTML 页面,对应的DOM 模型树结构如图3所示。
比如要抽取 “煤矿瓦斯突出事故”,通过上述DOM 结构,就可以直接标记出来,得到待抽取数据位置的XPath 表达式Expression 为 “//* [@class= “list lh24f14”]/li [1]/a [1]/text()”,表示抽取class为“e_list lh24f14”的节点下第一个 “li”节点下,第一个 “a”节点下的文本节点。
通过采用以上人工标注规则和基于Xpath 方式的信息抽取策略,在信息抽取过程中能提高抽取的效率和准确度。
对于抽取出来的数据,可以采用多种方式进行管理,本文对此不做详细研究。
图3 DOM 模型树结构
3.4 算法评价
针对煤矿安全网,随机抽取部分网页 (页面数量≥500个)进行页面清洗,使用基于正则表达式匹配策略直接提取出关键信息,大部分无用信息被直接舍弃。实验选取样本学习页面清洗算法、DOM 解析页面清洗算法以及本文研究的基于正则表达式抽取策略的网页清洗算法。几个页面清洗算法进行实验论证,由于页面清洗的主要功能在于快速去除网页 “噪音”,必须尽可能完整地保留有用信息,因此页面清洗后有效页面的比例将作为首要的评价指标,同时,清洗的时间效率也是评价的重要指标。有效页面的判定标准以清洗后页面内容关键词的数量来确定,直接包含4个及以上指定关键词信息,则判定该页面为有效页面。评价指标为:清洗页面数量、清洗耗时、有效页面数量、有效页面比例以及清洗效率,页面清洗算法的实验结果如表1 所示。
表1 页面清洗算法实验结果
由表1可看出,3种常用算法中,样本学习策略和正则表达式策略的有效页面比例分别为91.1% 和94.8%,远高于DOM 解析策略的83.2%。样本学习策略虽然效率与本文研究的算法相近,但是样本学习前期需要花费一定时间,而且当抽取煤矿安全事件信息的网页集发生变化,样本学习策略需要重新对网页集进行学习,费用较大。
4 结语
本文对信息提取技术进行了概述,对页面清洗、抽取规则的建立以及信息抽取技术进行分析。在此基础上,对面向煤矿安全事件的Web信息抽取技术进行了研究,并提出了一种专用于面向煤矿安全事件的基于正则表达式匹配抽取策略的页面清洗算法。此算法在易用性、准确性、效率和系统性能方面都有所改善,同时也需要继续优化,来满足用户进一步的个性化需求。
[1] 雷振兴.煤矿安全事故的分类和预测研究 [D].西安理工大学,2010
[2] 付华.煤矿瓦斯灾害特征提取与信息融合技术研究[D].辽宁工程技术大学,2006
[3] J.Cho et.al.Efficient crawling through URL 0rdering[J].Computer Networks,1998 (3)
[4] 李盛韬.基于主题的Web信息采集技术研究 [D].中国科学院,2002
[5] 冯二波.领域实体属性及事件抽取技术研究 [D].哈尔滨工业大学,2008
[6] 金岳富.Web 信息采集与信息抽取技术的研究[D].哈尔滨工业大学,2009