周霜菊
〔摘 要〕尽管目前我们拥有Google、百渡等通用搜索引擎,但对于特定领域,人们需要的不仅仅是信息所在地址的指向,还需要获取更小粒度的信息知识集成。本文尝试结合Web网页文档的特点及领域本体知识,以及信息提取、知识挖掘和XML等技术,给出了一种基于领域本体的Web信息集成方法,旨在提高用户利用Web信息的效率。
〔关键词〕本体;信息抽取;XML
〔中图分类号〕TP391 〔文献标识码〕B 〔文章编号〕1008-0821(2009)03-0194-03
随着Internet的飞速发展,网络信息资源正在不断丰富,互联网日益成为一个巨大的信息资源库。与此同时,人们上网查找和利用信息却变得越来越困难、效率低下甚至不可能实现。如何从Web上有效地提取实用信息是人们关注的重点,并已成为互联网信息服务中一个重要的研究课题。尽管目前我们拥有Google、百渡等搜索引擎,但是它们都是通用性的工具。面对浩瀚的信息海洋,它们提供给人们的答案太多以至于有时候人们没有耐心翻到合乎需要的那一页。而且对特定领域,人们需要的不仅仅是信息所在地址的指向,还需要获取更小粒度的信息知识集成。这些数据可以直接向用户显示,也可作为原文信息检索的索引,或存储到数据库、电子表格中,以便于以后的进一步分析[1]。本文尝试结合Web网页文档的特点及领域本体知识,以及信息提取、知识挖掘和XML等技术,给出了一种基于领域本体的Web信息抽取方法,旨在提高用户利用Web信息的效率。
1 需求及技术思路
面对海量的Web数据,传统的搜索引擎系统提供的服务质量不能满足信息获取的需求,为提高查询结果的准确性和增强查询的表达能力,人们需要将数据从缺乏结构约束的Web页面提取出来,转化为具有结构的数据。本文以上海外国教材中心的教育信息库为背景,以外国著名大学教学信息自动抽取建库为抓手,利用教学信息这个特定领域的信息表征特点构造相关的领域本体。通过基于本体的信息抽取方法利用领域本体作为提取的外部知识来产生应用本体,由应用本体来完成最终的提取方式。同时也对领域本体产生反馈,运用这种类似于机器学习的方法不断完善领域本体,逐步提高抽取过程的自动化。
1.1 抽取的算法思路
Step1:选取HTML样本。一般情况下,同一个学校的教学信息的表现风格基本一致,所要处理的文档都是成批的,并且这些文档都按照某一种或者几种结构出现。因此只需要构造出其中一些样本的抽取规则,其余的就可以利用这些规则进行抽取。每一个生成的规则针对Web数据源中的某类Web页面。
Step2:输入本体定义。“本体定义”就是定义信息的抽取目标,指明感兴趣的信息。通过本体定义使在后续的抽取过程中,只需要处理已经定义了的信息项,对无关的信息项不做处理或标记为“忽略”(Ignore)。
Step3:把HTML样本解析为Dom树。
Step4:规则生成器生成抽取规则。规则生成器根据本体定义和Dom树进行归纳学习生成抽取规则。
Step5:生成的规则按一定形式存储到规则库供后续抽取利用。
1.2 本体及基于本体的抽取方法
本体[2](Ontology)在哲学上泛指对客观世界的本体描述,在人工智能领域一般指智能系统中涉及的概念术语及其性质等静态知识的描述。在人工智能界,最早给Ontology定义的是Neches等人。他们将Ontology定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则定义”。1993年,Gruber给出了Ontology的一个最为流行的定义[4-5],即“Ontology是概念模型的明确规范说明”。Ontology的目标是捕获相关领域的知识,提出供该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同的层次的形式化模式上给出这些词汇(术语)和词汇间相互关系的明确定义。在知识过滤器系统中,本体(Ontology)汇集了领域相关的所有概念与术语及其之间的关系。知识过滤器系统的本体(Ontology)表示按对象分类构成层次结构。其中最底层是领域常用的英语词汇;次底层是这些词汇对应的概念,该层每个概念对应底层中一个同义词集,再往上则是这些概念的抽象。
基于本体的抽取方法简单地说也就是先用本体(Ontology)建立数据模型,再把可能抽取的数据项映射到Ontology中的元素上,用户选择Ontology中的元素以决定抽取的对象。Ontology的引入既保证了结构的一致性,又保证了数据的一致性,使不同来源的数据都能以统一的视图呈现,方便了信息的继承和交换。
2 具体实现方案
2.1 本体定义
本体是关于某个领域描述的形式化理论,因此需要一种形式化的逻辑语言进行表达。随着Web技术和知识工程研究的发展,很多语言标准可以做本体的描述语言。现有的传统的本体描述语言包括CycL、KIF、Ontolingua、框架逻辑、描述逻辑等,其中CycL和KIF是扩展了的一阶谓词逻辑语言;Ontolingua和框架逻辑是基于框架的方法,两种方法都是把基于框架的建模原语结合到一阶逻辑框架中;描述逻辑根据概念和角色约束描述知识,角色用来推理出分类结果。它们能够提供清楚描述数据语义信息的概念化表示。本系统本体的定义格式如下:
Concept
[super:{superzname}*];
{
End
其中Concept
例如图1中对应的本体可以定义如下:
(1)Concetp slipt
Super:Null;
Edge:{(INTRODUCTORY COURSES),(INTERMEDIATE COURSES),(ADVANCED COURSES)}
End split;
该段定义了文档的区域划分。从INTRODUCTORY COURSES到INTERMEDIATE COURSES为一个区域。
(2)Concept INTRODUCTORY COURSES
Super:Null;
Type:String;
Value:{CPSC 112a or b,INTRODUCTION TO PROGRAMMING.
112a:MWF 10.30-11.20 IV(33)Yang Richard Yang
112b:MWF 11.30-12.20 IV(34)Drew McDermott
Development on the computer of programming skills,problem-solving methods,and selected applications.No previous experience with computers necessary.}
End INTRODUCTORY COURSES
这是对图中的数据项INTRODUCTORY COURSES的描述,即需要抽取的信息项的物理意义为INTRODUCTORY COURSES(入门课程);这个概念在文档中是以String的形式出现的;这个概念在样本中的实例为其值Value{……}。这个描述的意义在于与Value{……}具有相同路径格式的信息就是所要抽取的Web文档的INTRODUCTORY COURSES内容。
2.2 抽取规则生成
在样本页的本体定义中描述了需要抽取的信息项的类型、实例值、前导符和其物理名称,同时在生成的样本页的Dom树中分离出每一个数据(以概念形式给出),并解析出每个数据的类型、路径。根据前导符与被抽取信息在物理位置上的连贯性,首先对于本体定义中的前导符到Dom树中寻找匹配的数据。找到匹配的数据后立即对本体定义中出现的实例值在Dom树寻找匹配的数据概念,找到匹配的数据概念后,若他们的类型一致,则认为匹配成功,Dom树中给出的路径即为目标信息在源码中出现的路径。
例如,在本体定义中,找到“INTRODUCTORY COURSES”概念,则INTRODUCTORY COURSES信息项的实例值“CPSC 112a or b……”必定在“INTRODUCTORY COURSES”概念后面出现。因而若在本体定义中“INTRODUCTORY COURSES”信息项与在Dom树中的“CPSC 112a or b……”Type相同,则Dom树中的“CPSC 112a or b……”的路径值就是本体定义中的“INTRODUCTORY COURSES”信息项的出现路径。
提取规则生成界面见图2:
2.3 信息抽取步骤
Step1:调用Web页面采集Agent程序将相关页面获取至本地。
Step2:调用页面处理Agent程序,按照一定规则对数据进行格式化,如按照一定规则将对数据结构没有影响的html标签去除,然后以树形方式保存在文件中,并以Web浏览器浏览的方式呈现给用户。
Step3:调用页面抽取Agent程序,对数据进行提取并验证提取结果。当提取出来的信息匹配度低时,系统调用模板序列余下模板之一重新进行数据提取并验证提取结果,最后提交给用户匹配度最高的结果。
Step4:此时如果用户对结果不满意可修改模板重新提取,即对照HTML页面信息指定其中那些内容将被抓取,并且可以指定各个特定标签所包含的数据将在元数据里的属性进行对模板的修改,调用模板生成Agent程序将新模板加入模板序列库供后续使用。
其中:数据模板定义了信息提取中遵循的规则,刻画了待提取信息的特征。模板的生成可以通过图形化的界面由用户自定义。例如可以选取已有的模板进行修改或选取一个或几个网页进行定义。匹配度指提取的信息与模板的匹配程度,可以通过对提取出的信息的格式、特征等进行识别和判断。
2.4 数据处理
最后系统将提取出来的信息映射成为用XML描述的元数据。数据结构可以定义如下:
<Document>
<Element>…<Img Url=…/></Element>
<Element>
<Message>
<Hyperlink><Title>…</Title><Document>…</Document></Hyperlink>
<Date>…</Date>
</Message>
<Message><Title>…</Title><Date>…</Date></Message>
</Element>
</Document>
其中<Document solution=n></Document>内包含了一次网页抓取的结果。<Element></Element>定义了一组信息,<Hyperlink></Hyperlink>说明了它包含的内容有一个下层连接页面(由嵌套的<Document></Document>标签包含),具体信息格式由configure中对应的solution定义的模板决定。通过以上工作完成了经过与处理后的信息抽取,并将抽取出来的信息按照事先定义好的格式存储到数据库中供后续使用。
3 小 结
本文提出由本体驱动,根据文档结构和特征匹配来进行信息定位和信息抽取的方法,同时还引入了匹配度算法对提取的结果进行匹配度计算,实现了一个用户指导的交互式信息抽取原型系统,能快速通过可视化的用户的交互,方便用户提取和定义其所需的信息。对于教学信息等有特定规范、特征的页面信息,此方法不仅精确度高而且自动化,可以大大提高信息库和知识集成的建设速度。
参考文献
[1]陈静,朱巧明,贡正仙.基于Ontology的信息抽取研究综述[J].计算机技术与发展,2007,(10):84-86,91.
[2]邓志鸿,唐世渭,张铭,等.Ontology研究综述[J].北京大学学报:自然科学版,2002,(5):730-738.
[3]李胜利,李昌清,袁平鹏,等.基于Web的电子期刊元数据信息抽取方法[J].华中科技大学学报:自然科学版,2007,(12):13-15.
[4]T.R.Gruber.A translation approach to portable ontologies[J].Knowledge Acquisition,1993,5(2):199-220.
[5]T.R.Gruber.Toward principles for the design of ontologies used for knowledge sharing.Presented at the Padua workshop on Formal Ontology,March 1993,later published in International Journal of Human-Computer Studies,1995,43(4-5):907-928.