基于Heritrix的Web信息抽取

更新时间:2024-01-02 17:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于Heritrix的Web信息抽取.txt28生活是一位睿智的长者,生活是一位博学的老师,它常常春风化雨,润物无声地为我们指点迷津,给我们人生的启迪。不要吝惜自己的爱,敞开自己的胸怀,多多给予,你会发现,你也已经沐浴在了爱河里。基于.. Heirx的.. We

rtib信息抽取

陈俊彬曹树金

中山大学资讯管理系广州5100 006

[摘要]针对现阶段Web信息抽取技术的不足,提出一种基于Heritrix的精确抽取方法,由三个分别独立的功能模

块共同完成。与一般信息抽取不同,本方法注重于在精确抽取的前提下实现通用化,做到可以根据数据库表的字

段来进行最小单位的信息抽取,并且较好地解决信息采集通用性和准确性之间的矛盾。.. [关键词]HrtiHMLasrWeb数据采集

eirx信息抽取.. Tpre[分类号]G250.73

WebInfrtotatosdorti

omainExrcinBaenHeirx

eun ahnChnJnbiCoSuji

DepartmentofInformationManagement,SunYat—senUniversity,Guangzhou510006

[Abtathsaeitoueaehdoac ccrtifrainetatoaeoeirxac ccrigthhrafWeno

src]TipprnrdcsmtofuaenomtoxrcinbsdnHrtiodnotesotgeobifrmaroxrcintcnlg.h ytmiooeftrersetvdueeetfosaafifrtoxrcin,inetatoehooyTessescmpsdoheepciemol.Dif ffrnrmuulwyonomainetato

thtd iounpeciionael

llaeeraty.Icnetrattemiim uitofifortiocodigthefedoaln

emehosfcsorsswsgnlitaxchnmunnmanacrnotilftbei

daase.

tba

[KewrseirxifrtoxrcinHTprebifrtocusto

yod]HrtinomainetatoMLasrWenomainaqiiin

的信息抽取技术需要用户的大量参与,但自动化程度 不高;而自动化程度高的抽取技术其准确率和适应性 较低,实用性较差。即使是机器学习,也要通过大量的

Web信息抽取(Webinformationextraction,WIE)的样本学习来提高获取规则的自动化程度,这意味着系

目标是把文本里包含的信息进行结构化处理,转化成统需要经过较长时间的学习才能获得较好的查准率。

特定的结构,以便于理解和利用。随着.. Intemet的迅猛纵观信息抽取技术的发展历史,研究者们提出了

发展,Web已经成为全球传播与共享科研、教育、商业不少优秀的抽取策略.。从实现方法的原理出发,可

和社会信息等最重要和最具潜力的巨大信息源。面对以将信息抽取技术划分为4个类别:①基于自然语言

如此巨大的互联网信息库,如何快速、有效、经济地得理解方式;②基于ontology方式;③基于网页结构特征

到某个主题的所有相关信息就成了当前一个十分热门方式;④基于统计学习的方式。基于自然语言理解方

的研究课题。与传统的信息资源相比,Web上信息资式的信息抽取在一定程度上借鉴了自然语言处理技

源有着分布性、异构性、开放性、动态性和庞大性等特术,利用子句结构、短语和子句间的关系建立基于语法

点,这些特点导致Web上数据的信息接口和组织形式和语义的抽取规则,实现信息抽取。其缺点是抽取速

各不相同,也使得Web上的信息资源不能被有效的利度慢,使用范围窄,很难做到通用。基于ontology方式

用。在这样的背景下,Web信息抽取技术成为了研究主要是利用对数据本身的描述信息实现抽取,对网页

的热点。结构的依赖较少。只要事先创建的应用领域的ontolo- g)r足够强大,系统可以对某一应用领域中各种网页实

2艾献绿述现信息抽取。目前只能对特定领域构建,并且还只能 采用半自动的方式由人工参与,这样使得该方法要求 在.. Web信息抽取领域中,信息抽取的准确性和通很高,工作量巨大。基于网页结构特征方式的特点

用性之间的矛盾一直是该研究领域的难题。性能较好是根据Web页面的结构来定位信息,在信息抽取之前

收稿ri期:20 008—07—2

22修日期:20

008—09—11本文起Ij:贞码:1 112—115本文责任编辑:易【三

112。LIBRARY AND INFORM ATION SERVICE。

通过解析器将Web文档解析成语法树,然后通过自动 或半自动的方式产生抽取规则,最终转化为对语法树 的操作来实现信息的抽取,本策略实现简单,抽取的准 确性好,但要求人工参与。基于统计学习的信息抽取 策略是根据统计学原理,首先构造一个模型以模拟 信息抽取的过程,应用统计学方法从训练语料中得出 模型的参数;然后用训练好的模型对待抽取语料进行 信息抽取。该方法需要经过较长时间的样本学习,且 实现复杂。

对信息抽取技术的划分标准其实有很多,并不限

于以上所提。各种信息抽取策略针对特定的场合都有 其独特的优势,也有其相应的缺点。其中,基于网页结 构特征的信息抽取是现阶段最为常用的抽取手段,实 现起来相对简单,可进行精确的信息抽取。在现阶段 的研究中,已有不少文献针对这一抽取策略提出了相 对可行的实现方法,例如基于DOM树的自动抽取和基 于机器学习的抽取技术。这类方法重点关注信息抽 取的通用性,在准确性方面有待提高。正如前文所述, 通用性和准确性之间的矛盾一直是信息抽取领域的难 题,然而现阶段在保证信息抽取的准确性,又不失通用 性的方面还没有较为理想的实现方法。大部分的抽取 方法都是重点先考虑通用性;也有一些文献提出了很 好地很精确的抽取方法,但是却没有实现相对通用性, 抽取系统的可移植性和可维护性很差,也难以应对千

变万化的.. Web页面。

3系统分析与设计

笔者在实践的基础上提出一种以Heirx

rti为基础,

结合HTML[,arser的信息抽取思路,下面将给出具体实 现方法和抽取系统。本方法注重于在精确抽取的前提 下实现通用化,做到可以根据数据库表的字段来进行 最小单位的信息抽取,并且较好地解决信息采集通用 性和准确性之间的矛盾,同时具有较好的可扩展性和 抽取速度。

本抽取系统主要用于对论坛信息的精确抽取,以

实际的例子来阐述一种信息抽取的思路,在设计上采 用分层与模块分治的设计思想,保证系统有良好的移

植性和扩展性,这个对于变化无常的Web信息来说非 常有必要。

系统主要包括三个模块:数据采集模块、页面清

洗模块、数据库模块(见图1)。对于待抽取的站点,由 数据采集模块根据入口地址对其进行采集,将目标页

圉雪jf ff铉作>>

第《宙》卷第。期.. 20 009年5月

面采集到本地上,通过设定规则,可以保证系统只存储 待分析的目标页面,对页面清洗模块的标准化提供很 大方便。页面清洗模块负责对高度统一的目标页面进 行清洗,最终提取出结构化文本,由数据库模块存入对 应的库表字段中。

数据采集模块页面清洗模块数据库模块

图1系统结构

在具体实现上,首先需要对待采集站点进行分析, 确定人口地址,如论坛的版面列表地址、新闻网页的主 页地址等,本文以逸仙时空.. BBS为例进行说明,入E1 地址是ht

ttp://bbs.sysu.edu.cn/bbsal ll,即所有版面列

表。在数据采集模块,Hrtri根据入口地址与自定义 eix

的网址筛选规则,开始对种子URL进行分析,动态取 回符合条件的目标页面文本,即论坛帖子的html代 码,直到遍历完站点内的所有URL,为页面清洗模块提 供统一的目标页面。在页面清洗模块,由HTMLparser 和正则表达式对Heritrix采集下来的原始页面进行清 洗,使之转换为所需的结构化文本,最终由数据库模块 存入oracle数据表中,以供后续分析和使用。

4京姣现I

4.1数据采集模块

数据采集模块主要由Heirx来完成。Hrti

rtieirx

是一个由Java开发的开源Web爬虫系统,用来获取完 整的、精确的站点内容的深度复制,可通过.. web用户 界面启动、监控、调整,允许弹性地定义要获取的URL。 其最出色之处在于强大的可扩展性,允许开发者任意 选择或扩展各个组件,实现特定的抓取逻辑,而且重新 爬行对相同的URL不针对先前的进行替换,其默认提 供的组件完全支持传统爬虫的工作。

在Heirx架构中中央控制器Calotol llr

rti,rwCnre

是核心组件,决定了整个抓取任务的开始与结束。用 户在HertieU控制台设置抓取任务后hrti首

irxwb!,eirx 先构造.. xst

ttnsade对象,rwCn

MLeigHnlr然后调用Calo—.. trl

llr构造一个CaIotoe实例并初

oe的构造函数,rwCnrl llr

始化,这样CrawlContol

llrer就具备了运行条件。此时,

只需调用rqetrwSat方法就可以启动线程池

eusCaltr()

和Frnir以便向线程池中工作线程提供抓取用的

ote,

URL链接(最开始的是设置好的入口种子链接,之后.. l13

是分析出来的新链接)。紧接着抓取线程工作开始,不精确的数据采集了,采集过程界面如图3所示:

断循环通过处理器链。除非用户暂停或终止否则直 到无链接可抓,控制器认为任务执行完成,将所有线程 关闭。.. ‘

至(,) ~

Heritrix抓取流程大致如图2所示:..

URL的处理器,负责分配 下一个被处理的URL

对抓取时一些先决条

件的判断

用于解析网络传输协议

用于解析当前获取的

服务器返回的内容

用于将抓取到的信息

用于将解析出来的URL有 件地加入到待处理队列中

图2 Herti

irx工作流程

在具体的站点采集中,由于站点有很多其他链接, 所以经常会采集到很多其他无关的页面,这无疑会对 下面的页面清洗带来麻烦,而且也降低了采集效率,因 而需要针对要采集的目标页面来定义网址筛选规则, 以确保不会采集到其他无关页面。具体有两种方式: 一 it

是向Heritrx添加自己的Exractor来限制解析出来 的URL;另外也可以扩展.. PostProces ssor,对进入待处理

队列的URL进行筛选,以剔除无关的链接。下面笔者 用第二种方法做个演示,对逸仙时空IM版的所有帖子 进行采集。

逸仙时空.. IM版的人口地址是.. ht ttp:/ //b

bbs.sysu...

edu.cn/b

bbsdoc?board=IM,对该版的HTML代码分析

后可得知,每个帖子的.. URL为:,其中.. M.

ad:I ie:M.9837795765.所以对.. IRL地址的筛

8377A是帖子的识别名,f

选主要基于地址中的borie关键词。在具体代

ad和fl

码实现上,可以自己开发一个新的PostProces ssor类,继

承Frnirceue父类,shdl

oteShdlr然后重写父类中的.. ceue

()方法,判断是否符合地址筛选规则,在此演示中,只 需判断是否存在关键词即可。若考虑程序的可重用 性,可把该功能类封装起来,在需要对其他不同站点进 行采集时,只需重新传人关键词即可。

最后需要在.. Heritrix的.. WebUI中进行一些设置,

制定抓取时的必要参数,然后便可以对目标站点进行

114。LIBRARY AND ION SERVI·

NFORMATICE

图3 Heritrix抓取界面..

4.2页面清洗模块

所谓页面清洗,就是根据后续需求来剔除目标页

面中不需要的信息内容,从而划分并提取出精确的信 息块,例如论坛某张帖子的发表时间、内容、发表.. IP 等,这对于后续的信息分析等工作起着很重要的作用。

页面清洗模块主要由HTMLparser来完成。HT—..

MLparser是一个纯JAVA编写的HTML解析库,它不

依赖于其他的JAVA库,主要用于改造或提取.. HTML。.. HTMLparser能超高速解析.. HTML,而且不易出错。对 于直接用HTMLparser来提取网页链接并实时分析的 方法,本系统的优点在于能使.. HMLa~r

Tple代码模块更

加通用化,rtri采集好的统

因为该模块处理的是由Heix 一

的目标页面代码,只需针对页面代码特点来确定清 洗代码而无需考虑抽取链接时的其他意外情况,这样 的思路更有利于系统重用性,如图4所示:

页面清洗模块 匡

图4页面清洗流程

目标页面是.. Heifx

rti过滤出来的统一度较高的页

面,HTML[arser读取存储在本地的目标页面(实际上 就是读取HTML代码),然后依据HTML的规范解析, 最终得到一棵.. DOM树。该树反映了目标页面的内容 和结构,包含了页面的各个元素以及他们之间的层次

构成关系。因为最终的结构化文本需要对应存储到数 据库表的各个字段中,所以需要自定义清洗规则来定 位到详细信息,例如发帖人、发帖时间和发帖IP等。

自定义规则最终由HTMLparser强大的API来实现,只

需要简单的几行代码,就可以精确抽取到所需字段。.. HTl'reoeAsrcNda

MLcasr主要靠.. Nd、btatoe和Tg来

团雪jf ff根工作>>

第{宙》卷第O期.. 20 009年5月

表达HTML。Node是形成树结构表示.. HTML的基础, 所有的数据表示都是接口Noe的实现;btatoe

dAsrcNd

是Node的一种具体的类实现,起到构成树形结构的作 用;而Tag则是具体分析的主要内容。HTML封装了.. I/,:s—

O节点解析处理提供了两种访问节点的方法Viitoritr

模式和Fle模式。这两种模式都可以用来实现页 面清洗功能。Fitr对

le模式通过设定一定的过滤条件,

每个节点进行过滤,返回一个符合规则的节点列表。 而Visitor模式则是遍历提取信息,当然这个信息可以 包括某些节点或者从节点分析出来的更有效的信息。

相比之下,笔者认为Fle模式的目标更为明确, itr

就是提取节点,所以本系统采用Fle模式来实现页面 itr

清洗模块。在具体代码实现上,HTMLpalser的org.htmlasrfles6 种.. Fle,

pre.itr包中已经定义了1itr在自定义

清洗规则时根据需求构造自己的fitr然后运行过滤, le,

就可以精确地过滤出不同字段信息了。..

4.3数据库模块

数据库模块的主要功能是数据的持久化保存,为

后续对信息的处理和加工提供方便。将数据库操作作 为一个独立模块是出于系统的健壮性和移植性考虑,

如果将数据库操作直接放在页面清洗模块,必将使得 模块代码过于庞杂,不符合分层的思想,而且不能很好 地适应Web信息动态变化的特点。该模块的具体策 略可根据实际需求来确定,对系统的性能影响不大。 S结

如何从.. Web信息中准确挖掘到有价值的信息是

至关重要的。本文提出并实现了一种.. HeirxM

rti和HT —..

Lparser相结合的web信息精确抽取的方法,用分层与 模块分治的思想设计了对应的系统,并且对逸仙时空.. BBS进行了试验采集和抽取。较之以往的方法,本文 所倡导的思路有以下特点:①抽取的精确度高,可以根 据数据库表的字段进行最小单位的信息抽取;②可扩 展性强,针对不同需求,用户只需在对应模块内进行修 改,各模块间互不影响。③抽取速度快,各模块可并行 工作,且页面清洗都是针对本地的目标页面,从而极大 地提高了抽取速度。随着计算机网络在国内的迅速普 及,Web信息抽取技术会变得越来越重要,希望越来越 多的研究人员能够参与其中,从而使得.. Web抽取技术 的自动化程度和准确度越来越高。 参考文献:..

[1]蒲筱哥.基于Web的信息抽取技术研究综述.现代情报,2007 (10):215—219...

[2]火善栋.基于网页结构特征的网页主要文本信息抽取策略.现 代计算机(专业版),20 008(4):73—75...

[3]金砚硕,迟呈英,战学刚.一种基于隐马尔可夫聚类的信息提 取方法.情报杂志,2008(3):96—98...

[4]冀高峰,汤庸,道炜.基于XML的自动学习Web信息抽取.计 算机科学,2008(3):87—90...

[5]苏新宁,信息检索理论与技术.北京:科学技术文献出版社,.. 2004:273—355...

[6]邱哲,符滔滔.开发自己的搜索引擎.北京:人民邮电出版社,.. 2007:301—337...

[7]Hfti—oepg.[07—0O]ht tt:/rwe.rhv.

eirxhmae206—1... p/calracie

org/...

[8]HTMLasrhmae[07一o 5]p/tpre. pre—oepg206—1.ht

tt:/hmlasrsourceforge.net/...

[作者简介]陈俊彬,男,1986年生,发表论文2篇;曹树金,男,1962年生,教授,发表论文60篇。..

(上接第.. 104页)

态匹配检索研究,并以图书检索为例,不仅可以根据用 户的请求实时刷新下拉列表,而且还能获取数据库中 没有的用户请求,从而为改善用户体验,丰富网站内容 提供有价值的参考建议。

参考文献:..

[1]顾留碗,白世彪,戴仕宝.基于AJAX技术的WebGIS客户端解 决方案研究.地理空间信息,2008,6(1):59—61... [2]AlsnR,ShaNT等译... /X基础教程.人民 seocut

tt.金灵,AjI北京: 邮电出版社,2006...

[3]FlpCD,Tsrnae,t1王德民,,译. iioaC,BizraBea.王新颖刘听,

AjaxandPHPweh开发.北京:人民邮电出版社,20 007...

[4]简单分析Golug ggs206—2.ht tt:/

ogeSet的原理.[08—00]p/

webdn.trueself.cn/archives/248...

[5]赵永屹,宿红毅,胡韶辉.结合AJAX与J2EE技术的WEB信息检 索系统的设计与实现.微计算机信息,20 006,2

22(9-3):149—151...

[作者简介]吴江寿,男,1982年生,硕士研究生,发表论文5篇;刘世洪,男,1960年生,研究员,博士,硕士生导师,

发表论文50余篇;苏晓路,女,1961年生,研究员,硕士生导师,发表论文20余篇;郑火国,男,1979年

生,助理研究员,发表论文10余篇。..

115

本文来源:https://www.bwwdw.com/article/kg5x.html

Top