作为知识组织手段的本体论及其若干基本问题_检索式论文

作为知识组织手段的ontology及一些基本问题,本文主要内容关键词为:手段论文,组织论文,知识论文,ontology论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

众所周知,因特网信息迅猛发展呈爆炸之势,但无人能随心所欲地找到其最想要的内容。于是,“语义网络”〔Semantic Web,W3C 2001〕,特别是以ontology组织大规模的知识集合,便成为人们设想解决此问题的研究热点。Ontology试图通过表征某一学科领域术语含义的手段来开发特定学科的信息。但如何严密界定其概念内涵,如何围绕着这一表征框架去组织内容集合,怎样操作搜索和推理的执行等问题,均是ontology构建的技术热点。本文阐明专业学科的信息组织和检索问题是怎样通过ontology的使用来着手解决的,并简要介绍了有关方法、标准以及工具。

1 问题的缘起

1.1 在Internet上检索信息面临的问题

传统的信息检索技术主要由各种全文本检索技术组成,这些全文本检索技术是Google、Lycos、Alta Vista等搜索引擎的技术基础,也是当今web搜索最为流行的方法。在传统的信息检索中,统计技术的应用是基于在某一文献中出现的关键词词频,文献排列的规则是基于关键词在文献中出现的次数。如果该单词在文章中出现的次数越多,它与用户检索要求的相关度就越大。

由于web文献非常多,查找包含一个特定单词或短语的文档的偶然性(可能性)相当大。事实上,传统的搜索引擎有代表性地识别成千上万条与用户的检索式相匹配的文献,这是一项有益于用户的工作。但其不足是显而易见的:在返回的文献中,多数与用户的关注点毫不相关,而用户最为需要的文献并未在识别之列。通常,这是由于用在文献中的不同单词与检索式并不直接相关。两种类型的误差可通过查准率(Precision)和查全率(Recall)来估量。

拥有精确的查全率和查准率的搜索引擎会找出所有并只与用户兴趣相关的文献。但几乎所有的全文本检索工具,其查准率最多只有5%,而即便是最好的搜索引擎其查全率也很低。另外,全文本检索没有能力去加工结构化的检索式,因为它们只会简单生成一个包含这些术语的文献表单,类似“list the countries that produce cassava(列出生产木薯的国家名称)”这样的检索式则无法得到表达。预先存在的文本出版物不会按照能够回答类似问题的途径而被结构化。如要正确地加工这个检索式,需要一个清晰表述各国农业生产实情的数据库。

仅仅基于统计方法的全文本检索对于理解术语的含义无能为力,这是造成搜索引擎使用效果不尽如人意的主要原因。术语间存在广泛的不同联系和相互关系(如“花生”是一种作物,“叶片”是植物的一部分),而术语出现在不同语言中,叫法也不相同(如:“peanut”是“花生”的英文写法,在西班牙语中则被称为“cacahuate”)。如果这些关系被考虑在内,查全率和查准率将会得到极大的改进,这也是ontology致力解决的问题。

1.2 主题词表的不足之处

整整一个世纪,图书馆员都在利用主题词表去构建主题分类法以及在subject heading(主题标目)内进行文献编目。主题词表尽管结构简单,仍被认为是最原始的ontology。一个主题词表试图用各种简单的抽象去归类主题术语。主要有:

·Broader Term(BT)上位词:如“crop”含义比“soubeans”更为广泛。

·Narrower Term(NT)下位词:如“soybeans”较“crop”更为狭义和专指。

·Related Term(RT)相关词:如“leaf”与“plant”相关。

·Used For(UF)惯用词:如人们更习惯用“grower”取代“farmer”。

因此,一个主题词表对术语“soybean”的录入如下所示:

Soybean(大豆)

BT:legume(豆类)

NT:Bragg,Cobb,…

RT:soy(酱油、大豆)

BT/NT的关系导致在等级制的范畴类别中组织术语分类学的产生。分类法在主题词表与ontology中均是一个重要组成部分。

主题词表在某一学科领域内提供了术语间结构化的表述法,因此,它是一种语义表达法。以此方法用户能够直接检索按主题标目被手工分类的信息,彼此间有关联但不相同的术语能够在一个相邻的相关主题范畴内进行导航。因此,基于主题词表的检索具有较高的查准率,而其查全率较之全文本检索也有了普遍改进。例如早已创立的著名的农业主题词表有AGROVOC(2002)、CABI(2002)、NAL(2002),其中一些已用了几十年。

虽然ontology和主题词表结构大体相似,但前者比后者更好。Ontology的主要贡献是提供了一种更为详尽和规范的知识表述语言,这种语言能够更全面地表达词义。虽然BT/NT/RT/UF的关系简单实用,但有时也会混淆,而且,这几种关系不足以覆盖单词间所具有的丰富关联。

1.3 Ontology样本

有一种构建ontology的简单语言,它在主题词表抽象概念的基础上作了一些改进:

·Class(种类):一个普通的概念范畴;

·Object(对象):一个普通概念的特定发生;

·Subclass(亚种类、子集、子类):较一个特定的种类更加细划和明确的种类;

·Superclass(超类、母集合):比一个特定种类更加概括、普遍的种类;

·PartOf:作为是特定对象之组成部分的对象;

·Association(联合):通常相关的两个对象(不同于上述任何一种关系);

图1显示了一个作物—害虫方面的ontology样本,该样本阐明了上述关系。“Beet Armyworm(甜菜粘虫)”是存在于“insect pest(有害昆虫)”种类中的一个对象。这里有几种分类学的母类——种类——子类关系,例如“crop(作物)”—“agronomic crop(农作物)”—“soybean(大豆)”。“Beet Armyworm”与“soybean (大豆)”相关联,特别指出的是它是一种为害大豆的“Insect Pest(有害昆虫)”。

图1 作物—害虫管理的ontology样本

1.4 Ontology怎样改进检索?

如果在相关术语间配备包含互连的表达法,搜索引擎就有了能够使用的表述术语意义的信息。术语“Soybean”不再被作为一个字符串被处理,也就是说不再只是计算该字符串在一篇文献中出现的频率,搜索引擎能够开发、挖掘术语关系去直接获取有关soybeans的信息。用户输入术语“Soybeans”,系统就会将此术语直接转移到图1所示的此概念的节点上。所有与此概念直接相关的信息通这种术语关系就能直接被访问。另外,利用这些关系能够去考察相似或相关的概念。通过这一途径,用户即可获取某一特定概念和与此概念相关的可利用的所有信息。

1.5 数据库管理与自然语言加工的问题

传统的编目是一个劳力密集型的手工过程,需经过特别训练。有关此加工过程的自动或半自动工具极有销路,但现有工具的编目状况还无法达到人工编目那样的质量。

把信息资源附加在ontology上创建一个完备的数据库,产生的结果就是用户可以自行编写检索式,并用query(检索式)去检索特定的信息。Ontology可以附加在现有的数据库管理系统上,乃至包括文献、照片、视频或其它媒体的文档和文件夹。被附加在ontology上的信息资源可以被认为是ontology的外在与外表。换言之,一些用于构建ontology的知识表述语言已经发展到了可以充当完整的数据建模语言,并使得数据库能够被直接在ontology中建立的地步。如CLASSIC〔Borgida等,1998〕和ConceptBase〔Jeusfeld等,1998〕。在这些系统中ontology与数据库的区别是模糊的。

最理想的状态是,用户能够用自然语言表达检索式,如“List all insects that damage soybean leaves(列出所有危害大豆叶片的昆虫)”,或“What are the vegetative stages of soybean development(什么是大豆发育的生理阶段)”,而不是获得一份文献列表,用户必须读完以后才能找出答案,最直接的回答应该由系统自动产生。涉及自然语言查询的步骤包括在字典或词典中找到检索式中的每一单词,在被声明的阶段或句子里(依据造句法的分析)分析语法模式,映射(到)ontology中的对象层面之上的语法结构,然后得出检索式和数据库中其它对象间关系的推理结论(检索式的加工),得到的结果就是一个精确的、与用户兴趣相匹配的检索对象的集合。

2 什么是ontology?

2.1 Ontology界定

“ontology”术语来自哲学领域,从哲学的范畴说,它是客观存在的关于世界某个方面的特定的分类体主要用于描述客观现实的抽象本质。知识工程学者借用这一概念是为了解决知识共享中的问题,因为人们发现知识难以共享的主要障碍是由于大家常常对同一件事用不同的术语来表达。最早定义“ontology”的是Neches等人,他们将“ontology”定义为“相关专题的基本术语和关系,以及利用这些术语和关系构成该专题的规则和集合”。广为流行的“ontology”定义是Uschold等人1996年提出的:“一个术语词表以及术语含义的一些规范说明,1998年Grube给出的:“领域概念模型的显性表示”。为了区别“ontology”在哲学和人工智能领域里不同层次的表述,通常认为首字母大写的Ontology意指哲学范畴,而首字母小写的ontology意指AI领域。

Ontology与KB(knowledge bases)密切相关。两者的区别取决于它们在知识表达中所起的作用不同。Ontology意在表达或多或少已被一个团体的成员所认同的知识,反之,KB表达的知识是基于知识系统所解决的特定问题的明确答案。Ontology与静态的学科知识相联系。一个KB通常包括的知识会随着推论的改变而改变,ontology中所表达的知识是不随结论而改变的。因此,ontology中的知识更加适合被复用并跨多种应用平台被共享。

虽然ontology旨在抓取静态的学科知识,但通常也承认ontology依赖用于构建它的软件。如果两个应用软件正在处理相同的学科,但它们所履行的任务不同,那么很自然它们需要的ontology可能也会有些微差异。虽然大多数概念都是通用的,但在定义它们时可以选用不同的方法,如用不同的详细级别(如一个种类、一种关系等),抓取相同概念的不同观点或特征(来自有组织的观点、实用的观点等),用不同的粒度水平。不同的观点也可以包含相同的、用不同术语学所表达的概念。必须着重强调的是组织概念不可能只用一种方法。还有不同的、其它名符其实的选择。因此,当一种方法一经选择,就要确立其地位。

Ontology在智能系统间的通讯中起着重要的作用。假设一个应用软件要求其它软件去执行一项任务。而关于特殊问题(期待被解决)的信息传输机制,必须将信息以其它应用软件能够理解的方式进行传输。因此,有关同一领域的不同ontology间的信息翻译是一项非常重要的课题。

不仅不同的ontology在不同应用软件平台间通讯时的兼容性是重要的,由较小的ontology去组建大规模的ontology也非常重要。任何基于知识的系统均有ontology作为它的组成部分之一,即使是隐蔽地包含。如果KB的底层ontology是兼容的并且与其它KB的ontology是一致的,则一个KB就能够由一些更小的KB装配而成。如果不同KB的底层ontology不一致,这就意味着不是用不同的术语学表述了同一学科领域,就是在使用相同术语学的时候运用了其不同的含义;那就是说,不是每个ontology中的术语不同,就是公理的表述中强加在术语上的限制不具备相同意义。只有当KB的底层ontology是相同的时候,KB才可以被组装在一起。因此,如果对被利用的词表涉及什么关系的问题上没有理解,或拥有对词表利用的理解但公理未表述相同的声明,或公理间自相矛盾的话,那么通过复用的手段也不能构建大型的系统。

2.2 Ontology与主题词表有何区别?

由于上述Ontology的定义非常通用,所以“一个主题词表就是一个ontology”的说法是可以被接受的。主题词表的主要特征与ontology理论是相通的,即都包括术语学的组织与等级结构。Ontology与主题词表都涉及用于大范围地涵盖特定领域的术语学,以及理解这些术语的关系,都利用一个等级的组织结构去将术语区分为类和亚,又均可应用于编目和组织信息。重要的区别在于主题词表中的非正规性和关系的模糊性。主题词表中可用于组织术语的几种关系(BT/NT/RT/UF等)不仅在数量上相对较少,而且未被正式定义,因此被模糊地运用。例如,BT/NT(broader than/narrower than)关系即可以暗指一个特定概念是另一个特定概念的一种特殊情况,又可以指出一个概念是另一个概念的一部分。而RT(related to)关系包含了所有其它关系,将各种关联、随意的特性和其它模糊的关系浓缩在一起。一个完善的ontology能够提出结构的主体和概念的关系,包括superclass/subclass/instance(超类/亚类/实例)关系、property value(特征值),时间关系以及其它依赖于所用的表达语言的关系等。通常,一个ontology包含的不止是关系,与主题词表相比,这些关系被正式地定义并且决不模糊。

同时,主题词表的目标和ontology的目标也不尽相同。主题词表试图表现术语间的关系,对于定义概念则毫无建树,也不管概念的表达、概念的意义正规与否,它只涉及一种特定自然语言中术语间的关系。反之,ontology着眼于定义概念并表达概念间的关系,它不是术语的集合而是关于概念的集合,这些概念以一种不依赖于任何自然语言中术语的形式被表达。不过,谈到ontology,我们必须使用一些自然语言中的术语,那么ontology中必须包含从术语到概念的映射,那样的映射在主题词表中未得到正式地确认。

在特定的应用软件中,这一特征意味着在进行检索时ontology优于主题词表。因为ontology包含机器可判断的对概念的定义,它就能够支持术语学的推理。这意味着通过分析出现在用户提问中术语的意义,用户的问题能够被理解,并能够更准确地映射到信息资源。Ontology能够通过比较逻辑概念结构来推理有关概念的含义。一个简单的例子是归类。因为每个概念的逻辑定义都能被比较,ontology就能够推理出一个概念是另一个概念的专属情况。如果概念B满足作为概念A的一种情况的需要,于是概念B就被自动划分到概念A之下。在这种情况下加工的检索式以及所实现的检索,用主题词表是不可能实现的。

2.3 Ontology看起来象什么?

Ontology常采用symbol(符号)的等级体系格式。符号代表特定专业领域的概念。有时,层次体系作为符号集和分类法被查阅,符号集和分类法又作为概念、词表或术语被查阅。无论如何这还是显得不够,因为这些要素能够被不同的系统进行不同的解译。为了限制其符号的可能译码,一个ontology包含了一个公理集。这些公理表达了对公理所涉及的符号的制约。这些公理使得ontology中的某一个符号(已经被限制了)与其它符号相关联、相符合。它们限制了符号的可能译码。因此,一个ontology中最为重要的部分是与符号相关联的语义,这些语义通常被认为就是ontology的内容〔与通常和语法相关的格式相对立〕。一个ontology的内容通过其公理集被限定。因此,语义的基本单元不是一个符号而是一种理论,那就是说,等级制度中的公理集与符号相关联。

图2中我们给出了一项activity(业务)以及一个doer(实干家、执行者)在ENTERPRISE(企业)ontology〔Uschold等,1998〕中的文本定义。一项activity(业务)的特征由周期来表示,在这段时间内,发生了这项业务,它的预备条件(对于业务的开展来说它必须是实在的、正确的),它的效果(此项业务一经完成,其效果是真实可靠的)。还有其它的一些属性,例如它的doer(执行者)和组成这项activity(业务)的sub-activity(子业务)。Doer是实际完成activity的执行人。以大写字母表示的所有概念也均在此ontology中被定义。这些定义以被限定的、结构化的自然语言格式被表达。

ACTIVITY:something done over a particular TIME INTERVIAL.The following may pertain to an ACTIVITY:

(业务:在特定时间段里完成的事务。下述均属于一项业务:)

■ has PRE-CONDITION(S);具有预备条件;

■ has EFFECT(S);有结果/成果;

■ is performed by one or more DOERS;由一个或多个执行者完成;

■ is decomposed into more detailed SUB-ACTIVITYS可被分解为更多的详细的子业务

■ entails use and/or consumption of RESOURCES必然伴有对资源的利用和/或消耗

■ has AUTHORITY requirements拥有特许权作为必要条件

■ is associated with an [ACTIVITY] OWNER与该项目〔业务的〕所有人相关

■ has a measured efficiency拥有可被测试的绩效

DOER:The Role of an Actor in a Relationship with an ACTIVITY whereby the Actor performs(all or part of)theA CTIVITY.〔执行者:在与某一业务的关系中是实施者的角色,藉此关系,他完成(全部或部分)业务。〕

图2:ENTERPRISE ontology中的非正式定义

在Ontolingua服务器http://WWW-KSL-SVC.stanford.edu:5915〔一种协作共同构建ontology的工具〕(http://www-ksl-svc.stanford.edu:5915/doc/project-papers.html)〕中,被实现的那些概念的定义作为Enterprise-Ontology,它们被存放在Ontolingua的服务器文库中。Activity与actual-doer(它符合doer的概念)作为类别被表述。诚如所见,一个ontology的执行格式与原文格式可以有所区别。Activity(业务)的特征由时间周期来表示,业务的发生、预备条件、结果和状态(作完的与待完成的等)均在此周期中。Activity和actual-doer被actually-execute关系所叙述。actual-doer是一项activity的执行人,而activity被actually-execute关系所叙述。在此实例中,用于建立概念的等级制度的关系是class-superclass(类—超类)和instance-class(实例—类别)关系,例如,actual-doer可以是一个subclass(亚类)的actor(参与者、执行人)。

3 开发ontology的生命周期

Ontology的构建是一个过程。一个过程是由一系列行为所组成的,这一系列行为的执行是为了达到某种目标。通过通常已被接受的stages(阶段、步骤),ontology就可以被构建。这些步骤是:specification(规范说明)、conceptualization(概念化)、formalization(正规化)、implementation(实施),以及maintenance(维护)。每一阶段都有一定的activities(工作)要被完成:

·specification(规范说明),在此阶段中确定了ontology的目的与范围。目的回答了“为何要构建ontology的问题?”这个问题,范围回答了“它的计划用途是什么以及最终用户是什么人?”这个问题;

·conceptualization(概念化),在此阶段中描述了在一个概念模式里,要被构建的ontology要满足前一步骤中specification的要求:

·formalization(正规化),在此将概念的描述转换为一个正式的模式,即是说,上一阶段的描述用更为正式的格式被写出,虽然,这还不是最终的格式;

·implementation(实施),在此,用一种正式的知识表述语言去实现一个正规化的ontology;

·maintenance(维护),在此更新并校正被实现的ontology。

除了上述的几个工作步骤,在完整的生命周期中,还有其它工作要被执行,如:

·knowledge acquisition(知识获取),在此,即通过对该领域的专家实行启发引导技术,又通过查阅相关参考书目获得关于某一学科领域的知识;

·documentation(文件管理、文档编制),在此,依照实施情况,汇报了在一个文档中作了哪些工作,怎样作的以及为什么要作;

·evaluation(评价),在此,需对ontology做出技术性地鉴定。

除了这些之外,还有一项依赖于方法体系的工作:

·reuse(复用),在此要尽可能的复用其它的ontology。绝大多数方法将这种行为命名为“integration(综合、集成化)”

图3介绍了涉及开发ontology生命周期过程中所有工作的方案图解。

图3 开发ontology的生命周期中的各项工作

4 小结

Ontology的构建是一个复杂的工程。Ontology的表述语言有RDF、Topic Mops、OIL、DAML以及ontolingus等。用于构建ontology的工具已有Ontoligus Server、Ontosaurus、WebOnto以及PROTG等等。更为详细的技术细节会在以后作出更加深入的探讨。

标签:;  ;  ;  

作为知识组织手段的本体论及其若干基本问题_检索式论文
下载Doc文档

猜你喜欢