MINI-MICROSYSTEMSVol124No.12 Dec.2003
基于本体的WEB表格信息抽取
王 放1,顾 宁2,吴国文2
1
(复旦大学计算机科学与工程系,上海200433)(复旦大学计算机与信息技术系,上海200433)
2
摘 要:本文给出了一个基于本体的WEB表格信息抽取方法,在信息的抽取过程中,利用学习手段,逐渐完善本体的
构造,从而增强本体对应用领域的描述能力,使系统的信息抽取自动化程度逐渐提高.关键词:数据抽取;应用本体;对象联系模型中图分类号:TP311.13 文献标识码:A 文章编号:100021220(2003)1222142205ExtractingInformationfromOntology2basedWEBTable
WANGFang1,GUNing2,WUGuo2wen2
1
2
(DepartmentofComputerScienceandEngineering,FudanUniversity,Shanghai200433,China)
(DepartmentofComputingandInformationTechnologyScience,FudanUniversity,Shanghai200433,China)
Abstract:ThispaperpresentsamethodthatextractsinformationfromtablesofWEBdocumentsbasedonontology.Intheextractingin2formationprocess,theontologybecomesperfectionbylearninggradually,inthesametimetheabilityofontology’sdescriptionisen2hanced,andthesystem’sautomaticlevelisimprovedstepbystep.Keywords:dataextraction;appliedontology;object2relationshipmodel
1 引 言
随着WWW的飞速发展,怎样从这海量的信息资源中获取想要的信息,已成为当前Internet研究的一个重要课题.为了获取信息,现今通常利用搜索引擎,但这样得到的是一些网页链接,我们不得不逐个打开这些页面再进行查找,这种间接的方法不仅麻烦,而且很不准确.因此,直接而准确地从WEB资源中获取信息,已是目前研究的当务之急.
在这方面,研究人员已经做了大量的工作,并且,也产生了各种数据抽取方法,这些方法各有侧重,概括起来主要是如下几类:
1,2〕
一是利用WEB页面中HTML标志构造数据抽取器〔,抽取器首先分析WEB页面的特定HTML标志,然后,根据它的抽取规则抽取出想要的信息,并把它们按一定格式存储起来,这种方法依赖于WEB页面的布局、格式等,一旦页面格式改变,往往要重新编写抽取器.但这在实际的WEB文档中又是经常发生的情况.这种方法往往不适合表格抽取.
第二,由于手工构造数据抽取器是一件非常艰巨的工作,所以,人们利用自动化、半自动化的手段来进行抽取器的构造
3〕
工作,例如通过例子学习〔等.尽管这样减轻了抽取器构造的繁重工作,但没有改变抽取器对页面格式的依赖.
4〕
第三,利用自然语言处理(NLP)〔,它是一个很有效的方法,但它要求大量的例子训练,并且,处理速度比较慢.
5〕
最后是基于本体的抽取方法〔,该方法利用本体这个比较成熟的刻画领域的手段,对抽取页面的类型进行描述,并根据领域特点设计出数据框架(dataframe),以用于进一步的匹配规则设计.该方法做到了与抽取的WEB页面格式无关,甚至于在领域改变时也只要改变应用本体即可,并且,其应用效果也很好.只是本体构造中的数据框架设计非常困难.
另外,其应用范围被局限于必须是:数据丰富(Data2Rich)
的,从本体宽度方面来说是窄的WEB文档.所谓数据丰富,这是一个比较模糊的概念,作者也没有对它进行明确的定义,按照作者的意思可以描述为:文档具有大量的可以识别的常数,如:日期、名称、帐号、ID号、时间币值等.
作者利用文档的数据丰富性及对象集的上下文的关键字来定义对象联系模型中的对象集,使得设计人员必须在设计好数据框架后才知道该文档是否是数据丰富的.同时,由于数据框架的设计类似智力游戏,没有必然的规则可循,有可能出现同一个WEB文档被工程师甲认定是数据丰富的而另一工程师则认为是非数据丰富的.另外,也可能出现这种情况,当工程师通过努力后才发现该文档是非数据丰富的,所以,这种限制使该方法的应用非常困难.
收稿日期:2001211222 基金项目:国家自然科学基金资助项目(60173028)资助. 作者简介:王放,讲师,主要研究领域为协同工作和数据库技术.顾宁,博士,教授,主要研究领域为数据库、协同工作和数字图书馆.E2mail:ninggu@fudan.edu.cn 吴国文,博士,主要研究领域为知识库与知识工程、数字图书馆.
© 1994-2008 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
12期 王 放等:基于本体的WEB表格信息抽取 2143
我们的工作主要是要对WEB页面中的表格信息进行抽取,由于表格类似于关系数据库中的关系,所以我们把抽取结
果按关系数据库方式存储;在数据抽取中,即使是类似信息,在WEB页面中的HTML的标志描述格式也常常不同,并且列或行的顺序也常会改变,因此,如采用第一、二类方法,抽取成取,但是正如前面所说,表格属性间上下文关系比较少,所以,我们在本体的设计中,在定义对象集时,不采用数据框架的方法,而是采用人机交互式学习手段,对对象集进行列举式的定义,在应用的同时进行学习,使得定义更趋完善,本体更能刻画应用领域.
功率常会比较低;如果采用第三类方法,即利用自然语言技术,又由于表格的特点,其属性之间的上下文关系比较少,所以,应用起来比较困难;我们采用类似于第四类的方法,利用应用本体进行抽
当清洁后的WEB表格输入抽取学习器时,抽取模块启动,首先从标题列中识别出表格的列标题(或称之为属性),然后,应用匹配规则把它们逐一与应用本体中的对象集定义进行匹配,如果匹配成功,我们则把表格中的数据行抽取出存入关系数据库中;如果在标题列中列标题数多于对象联系模型中的对象集数,或者在匹配中抽取模块不能识别列标题,抽取模块调用学习模块,学习模块通过人机交互对抽取模块不能识别的情况进行确认,或对应用本体进行修改.如果列标题不属于对象联系模型中对象集成员,我们就要修改对象联系模型,在其中增加该标题属于的对象集,并给出此对象集与其它对象集的关系,如果是由于标题所属对象集定义中同义词集不包含该标题,则在该同义词集中加入该标题,从而丰富了该对象集的定义,并进一步完善了应用本体,使它的描述能力更强.
当应用本体中对象联系模型作了修改时,EER模式生成器启动,修改原先的EER模式,从而更改数据库的结构.在做完这些后,再把搁置的WEB表格抽取出来,放入数据库中.
2 系统概述
由于怎样获取符合要求的WEB文档,是我们正在进行中的技术课题,所以,我们先假设符合要求的WEB文档已取得;我们的数据抽取方法的整体构架如下:
3 清洁器
图1 系统结构
Fig.1 SystemArchitecture
当把想要的WEB页面输入系统,这些页面包含很多额外的内容,如:广告、图片、不必要的文字描述,通过清洁器,把这些多余的内容去掉,然后,对表格进行标准化处理,清洁器由一系列的启发式准则组成.
产品名称半自动滚齿机滚齿机滚齿机磨齿机
型号
YB3112/2Y3150/3H12022Y7163D
当我们把包含要抽取信息的WEB页面输入清洁器时,
WEB页面不仅仅包含待抽取的表格,而且,还包含广告、图片等等其它信息,清洁器利用HTML标志特点,剔除多余信息,输出结果表格,如:图2,它是把上海第一机床厂主页:http://www.shmtw.com.cn/齿轮加工机床.htm,输入清洁器的输出表格.
最大工件直径×最大模数(mm)
125×2500×6150×1.5
630×12
重量(吨)
净重毛重
1.352.4
1.73
外形尺寸长×宽×高(mm)
1180×750×14901825×960×1730
包装箱尺寸长×宽×高(mm)
1500×930×21702260×1100×2060
二箱
参考价格
(万元)15.511
792490×2455×21153550×2530×27502900×1470×950
80
图2 WEB表格示例
Fig.2 Anwebtableexample
4 抽取学习器
4.1 表格标准化
在对表格进行抽取前,我们必须先其进行标准化处理,我
们分两部分进行,首先是表格描述的规范化,然后是对表格格式进行标准化.
在表格的描述规范化中,我们应用NLP方法,对标题的描述应用一定的标准进行规范化,在实际应用中,可能存在一
些“合理”的问题,这为我们的抽取工作带来了不少麻烦,我们作如下标准化处理:
数据项分组:如果表格体的某块中数据项的值相同,可能被合为一个单元格.
标题遗漏:如果在表格列或者行中,它们的所有数据项具有自解释数据,通常省略标题.
数据项聚集:某一些标题对应的数据项集中数据,对应于另一些标题对应的数据项,通常把前者的数据项聚集成一
© 1994-2008 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
2144个单元格.
小 型 微 型 计 算 机 系 统
TD>…中.
2003年
我们把只有行标题的表格叫做标准格式的表格,如:图2,当表格具有列标题时,我们要对表格进行转换,我们通过下例来说明转换方法,通过标准化转换,我们可以把图3转换为下列标准格式的表格图4:
动物猪狗
成年的幼年的
v0v1
v2v3
动物
猪狗
成年的幼年的成年的幼年的v0
v1
v2
v3
图3 非标准格式表格示例Fig.3 Annonstandardtable
图4 标准格式表格示例
Fig.4 AnStandardTable通过上述工作,我们把
表格转换为标准化形式,这为后面进行的表格识别、抽取以及
维护等,提供了方便.
4.2 表格识别
在HTML的表格设计中,具有比较明确的标志,如图2中的部分HTML描述其表示如下:
STRONG> BR>最大模数face=”TimesNewRoman”>(mm) STRONG> ...... (万元)/STRONG> TD> 分拆与合并:包含rowSpan=i表示该项必须在其下的i21 行中重复,同样,包含colSpan=i表示该项必须在其后面的i21列中重复.如果分拆与合并出现在标题行或列中,分拆单元格的标题按分拆层次次序组织,并用“|”分隔,如图2中的第四列的标题,其表示为“:重量(吨)|净重|毛重”. 利用这些规则,我们可以设计出抽取算法,取出表格中的各项数据,并存入关系数据库中.4.3 标题识别 抽取学习器包括两个互相依赖的模块:抽取模块与学习模块.在进行抽取学习之前,我们必须先确定标题,在检查中采用下列启发式方法: 字体大小检测:检查 字体颜色检测:在表格的各行中,如果出现字体的颜色变化,则表格上方同色行为标题.以及包含...属性的行为标题行. 标识检测:包含在 匹配检测:从第一行开始,把单元格分别与应用本体中的同义词词典比较,只要存在一个匹配成功,该行则为标题. 在我们的实验中,偶尔会出现检测不出来的情况,此时,采用通知操作人员进行人工干预的办法.4.4 抽取模块 抽取模块完成标题匹配与数据抽取两项功能,在标题匹配的过程中,出现计量单位字符,则需要对这标题对应的数据行进行单位统一,然后,我们采用如下算法进行抽取: 设列标题为C={c1,c2,…,cn},对象集对应的同义词词典的集合为L={l1,l2,…,lm} IFn>=mOR在C中,ϖci|Πljlj∈LTHEN 调用学习模块 IFn=mOR对C中每一个ci∈ljlj∈LOR数据库修改=TURETHEN TR> ×2 … 为了抽取数据行信息,我们必须识别WEB表格的结构,可以根据表格的HTML标志,从图2也可以略为观察到其中存在的规律,我们把它们组织为如下启发式识别准则: 表格识别:整个表格包含在 行列识别:行包含在 把数据行按匹配映射的顺序插入数据库关系中ENDIF 在算法的第四行“数据库修改,=TURE”是在对象联系模型修改后,导致EER模式及数据库结构修改完成时,反馈给抽取模块的. 匹配规则由PERL语言编写,由于我们采用应用本体来描述应用领域,从而使这些匹配规则的设计独立于HTML布局格式,在应用领域发生改变时,这些匹配规则也不须更改,同时,也可以利用HTML语法规则,而不考虑标志位置,例如:当系统遇到 在匹配完成后,系统自动根据匹配结果结合表格中的数 © 1994-2008 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 12期 王 放等:基于本体的WEB表格信息抽取 2145 据行产生SQL操纵语句.如:图2的第二行利用下面语句把数据行抽取出而插入数据库中: insertintomachine2toolvalue(”半自动滚齿机”,”YB3112/2”,”125×2”,1.35,1.7,”1180×750×1490”,”1500×930×2170”,15.5) 4.5 学习模块 6〕 定义3 本体是概念体系明确的部分描述〔.本体的应 用很广泛,但本体的生成却是一件异常枯燥而费时的工作,选择一个好的设计方法是本体应用的关键,基于我们的应用特点,我们采用对象联系模型结合列举方式的对象集定义来描述我们的应用本体;对象集作为我们本体中的基本概念,我们必须对它进行定义,而所谓列举式的定义,我们在定义对象集时,不是采用给出其形式定义,而是采用列举出其成员对象当抽取模块调用学习模块时,把WEB表格中不匹配的标 题作特别标记,然后把表格输入学习模块.为什么要整个表格的方法.自然,我们的定义只能是部分的、不完善的.输入到学习模块?这主要是在人工判别时,使操作人员在确5.2 本体构造 定不匹配标题属于本体中哪个对象集时,可以利用上下文标5.2.1 对象联系模型 对象联系模型(OSM)结构比较简 题及实际数据以提高判断准确性. 单〔7〕,很适合我们WEB表格的描述,下面我们对其四个方面当操作人员确定完各个不匹配标题与本体中的对象集的进行简单介绍:映射关系后,系统自动把这些标题插入到对应对象集的同义对象集:我们采用长方形来表示.它是我们描述世界的词词典中,如果操作人员发现有标题无法找到对应的本体中基本要素对象的集合. 的对象集,系统将提示要修改本体的对象联系模型,为这个标关系集:连接两个长方形之间的线段或一个菱形与长方题指定一个对象集名称,同时,确定该对象集与对象联系模型形之间的连线表示.表示两个或多个对象集之间的关系. 中其它对象集之间的关系,确定后系统自动修改对象联系模参与约束:利用位于对象集与连线附近的数据对表示型.在学习之初,设计人员根据常识或WEB例子,已对应用本表示对象参与某一关系的最大与最小倍数. 体进行了大致的设计,其中的对象联系模型,已能描述常见的一般/特殊:两对象集之间隔一个冒号,表示前者是后者应用情况,在对象集的定义:同义词词典中已包含了常见的同的一个特殊,通常表示为:ISA. 义词,在学习时,不断地修改增加它们,使它们更丰富.这个过图5是图2的对象联系模式,对于每一个图形化的对象程就象人的学习过程一样,人们在学校里学了一定的知识,毕联系模式,我们可以利用对象联系描述语言,把它们表示为文业后在工作中不断积累知识、经验,使他的工作能力越强.学本形式. 习过程对人工的依赖比较大,我们正在对这个部分利用一些人工智能的手段进行改进,以提高其自动化程度. 5 应用本体 5.1 本体定义 定义1 二元结构 对于最大状态集D,例如:桌面上有五个积木块(s1,s2,s3,s4,s5),分为叠起的两堆(s1,s2,s3)及(s4,s5),具体的这种堆积情况我们称为一种状态,当我们颠倒一下s1的s2位置,即s2在s之上,我们就得到一个新的状态,所有这样的状态的集,我们称之为最大状态集. 图5 对象联系模型实例 定义2 三元结构C= Fig.5 Anexampleforobject—relationshipmodel D,W>上所有概念关联集,n维的概念关联ρn为全函数:ρn : 图5中的对象集“型号”,其是“主轴行程”及“主电机功 W→2 D n ,表示从W到D上全体n维关系集的映射,我们称之 率”的父对象集,其对应着一个表格,这里因为篇幅而省略了为概念体系. 对于对象联系模型图形实例,我们可以把它们描述为文本方定义中,Dn 是D×D×…×D的缩写,2D n 表示Dn 的幂 式,如:Machine2tool〔0:1〕HasValue〔1:3〕. 集,即Dn的所有子集,有时我们把D上的n维关系称之外延 5.2.2 对象集定义 对象联系模型中的对象集,对于本体术 关系,对应地,n维的概念关联ρn 称之为内涵关系,外延关系语即为事物(Thing),为了利用本体描述应用领域,我们必须用以描述领域状态,而内涵关系主要用于表达关系本身的含对对象集进行定义;由于前述的一些原因,我们没有给出每一义.如上例,设有两个状态w1、w2∈W,在状态w1中有外延关个对象集完整的形式定义,而是采用列举对象集成员的方法系为{s1ons2,s2ons3,s4ons5},w2通过把s1放到s4的上面而对对象集进行局部的,逐渐完善的定义.尽管我们的定义始终得,即其外延关系为{s2ons3,s1ons4,s4ons5},那么,对于内涵关是相对完善的,但能满足实际应用的需要. 系,假设为on,则有:on:{w1,w2}→{s1ons2,s1ons4,s2ons3, 由此,每一个对象集的定义就是一个同义词词典,也即s4ons5}. 集合,确切地说,我们的同义词词典也不能说是严格意义上的 © 1994-2008 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net .,,: 2146小 型 微 型 计 算 机 系 统 2003年 同义词词典,其中词汇可能是同一个概念或实体,在不同的单位的不同的习惯称呼;对于特征明显的某一类词汇,操作人员可以在学习时,利用PERL语言给该词汇进行一般性的特征描述来代替给出词汇本身,从而使该词汇在匹配时能识别更多的数据项(标题项),随着应用的增多,从而系统获得更多的学习机会,也因此导致这个词典更加丰富.5.3 本体应用 本体在整个系统中是一个中心环节,对抽取学习器来说,它用于标题识别,辅助数据抽取,对于模式生成器,本体中的对象联系模型实例作为它的输入,第6节中对它进行了简单介绍. 在抽取识别中,与以往的方法的根本区别是利用的是应用本体,而往常一般采用NLP方法,正如前面介绍的,由于表格的特殊性,因此,在抽取识别中,采用应用本体作为指导进行.本体作为刻画领域的专门技术,它可以很自然地应用于的问题,本体中的关系描述了领域或具体应用所具有的内在联系,把它作为抽取中的上下文关系.在抽取识别中,为了设计匹配规则,一是利用本体的术语定义(同义词词典),这是一个逐渐完善的定义,二是应用术语的上下文关系,即对象模型实例中的关系进行设计,具体实现时采用PERL语言进行描述.对此在4.4节中作了相关的描述. 三类信息)的抽取中,应用本体中的起始对象联系模型与同义词词典我们利用图5产生,其提问次数与总体耗费时间如图6所示. 这个结果比通常的利用NLP方法进行数据抽取的效率要高出很多,通常的方法,在本体的设计中,就要耗费数个知识工程师一、二个星期的时间,并且,他们的方法要求对象集是可以利用数据框架描述的.我们的方法在表格数据项变化不大的情况效果更好. 8 结束语 本文给出了一个WEB页面中表格的抽取方法,这种方法,不依赖于所抽取的WEB页面的设计格式,也没有对其内容提任何表示限制;由于本体的引入,当应用领域发生改变时,我们只需修改应用本体即可.另外,由于我们引入学习机制,从而简化了本体设计中工作量巨大的问题.进一步的工作还有很多需要做,我们正在对一些部分进行改进,如学习机制,我们正在引入一些人工智能方面的方法进行处理.并且,抽取的范围还要进一步扩大. Reference: 1HammerJ,Garcia2MolinaH,ChoJ,AranhaRandCrespoA.ExtractingsemistructuredinformationfromtheWeb〔J〕.SIGODRecord,1997,26(2):18~25. 2HuangYu2qing,QiGuang2zhi,ZhangFu2yan.Constructingsemistruc2turedinformationextractorfromthewebdocument〔J〕.JournalofSoft2ware,2000,11(1):73~78.3 GarofalakisMN,GionisA,RastogiR,SeshadriSandShimK.XTRACT:asystemforextractingdocumenttypedescriptorsfromXMLdocuments〔C〕.In:ProceedingsofACMSIGMODConferenceonMan2agementofData,Dallas,Texas,May2000,165~176. 4PiskorskiJandNeumannG.Anintelligenttextextractionandnavigationsystem〔C〕.In:Proceedingsof6thInternationalConferenceonComputer2AssistedInformationRetrieval(RIAO22000).Paris,April2000.123~129. 5FenselD,vanHarmelenF,HorrocksI,McGuinnessDL&Patel2Schnei2derPF.OIL:anontologyinfrastructureforthesemanticweb〔J〕.IEEEIntelligentSystems,2001,16(2):38~44. 6NicolaGuarinoandPierdanieleGiaretta.Ontologiesandknowledgebases:towardsaterminolgicalclarification〔A〕InN.Mars(ed.)TowardsVeryLargeKnowledgeBases:KnowledgeBuildingandKnowledgesharing1995.IOSPress,Absteam.25~32. 7EmbleyDW,CampbellDM,JiangYS,LiddleSW,LonsdaleDW,NgY2K,SmithRD.Conceptualmodel2basedDataExtractionfromMul2tiple2recordWebPages〔J〕.Data&KnowledgeEngineering,1999,31(1):227~251. 6 模式生成器 模式生成器以本体中的对象联系模型实例(如图5)的文 本描述作为输入,而模式生成器把数据库结构作为输出,转换过程根据一系列的启发式规则,如:底层对象集对应关系模式中的属性(字段),非底层对象集表示为数据库表,非底层对象集之间的关系表示为数据库表等.另外,结果的完整性方面,已有不少文章对此进行了研究,在此不多加讨论. 7 实验情况 在实验中,我们应用北京第三机床厂、成都市华通机床贸易有限公司、上海第一机床厂、江苏银羊电子有限公司等单位的网页,从中选取了二十六个包含表格的页面,它们分别含有机床、电视机、电子产品等参数信息,然后,把它们输入清洁器. 信息类型提问次数时间(分钟) 机床123电视机83 彩色显示器用回扫器165 图6 实验结果 Fig.6 Experimentalresult 系统要求操作人员对应用领域熟悉,这是我们系统的一个弱点,因为各个厂家对同一参数的称呼会因为各自的习惯等出现较大的差异,尽管如此,但系统在实际测试中的运行效率还是令人比较满意的,在前面二十六个WEB页面(分属于 附中文参考文献: 2黄豫清,戚广志,张福炎.从WEB文档中构造半结构化信息的抽 取器〔J〕.软件学报,2000,11(1):73~78. © 1994-2008 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 因篇幅问题不能全部显示,请点此查看更多更全内容及 属性,如果存在 ... 中的行,这些行为表格标题行.半自动滚齿机 …
中,表格体包含在…中.… 中,列包含在<... 时,系统自动去掉其中包含的各种标志及标志属性,最后就剩下我们想要的数据,而不要考虑数据项在页面中所处位置,以及与其它数据项之间的相对位置,对于数据项所包含内容的识别由应用本体决定,因而,这些准则是适合各种应用领域的.