一种模块化本体构建方法研究
冯兰萍1, 朱礼军2, 蒋亚东1
1.河海大学商学院 常州 213022
2.中国科学技术信息研究所 北京 100038
摘要

提出一种通过本体模块的裂变、重组、重用实现模块化本体的构建方法,详细分析该方法实现的流程、模块裂变和模块集成的规则,最后讨论该方法在水资源本体构建中的应用及其构建过程中存在的问题。该方法能够实现模块化本体的细粒度、协作构建,从而提高本体的构建效率和重用能力。

关键词: 模块化本体; 本体模块; 模块裂变; 模块集成
中图分类号:TP311.51
Study on a Method of Building Modular Ontology
Feng Lanping1, Zhu Lijun2, Jiang Yadong1
1.Bussiness School, Hohai University, Changzhou 213022, China
2.Institute of Scientific & Technical Information of China, Beijing 100038, China
Abstract

A method of building modular Ontology is given by module fission,module reorganization and module reuse in this paper, in which the modular building flow, the rules of module fission, and module integration are analyzed in detail.At last, the application of building water resources Ontology and the problems in building process are discussed. The method can realize the fine-granularity and collaborative building of modular Ontology, and improve the building efficiency and reuse ability of Ontology.

Keyword: Modular; Ontology; Ontology module; Module fission; Module integration
1 引 言

与传统的知识组织系统(如分类表、叙词表)相比,本体具有更强的、更丰富的表达能力。自1991年Neches等[ 1]将其应用于人工智能领域以来,本体在信息检索、电子商务、知识集成等诸多领域得到广泛的研究。国外研究机构、研究人员已提出多种领域本体建模方法(如KACTUS, Methodology)[ 2]、多种本体构建工具(如Protégé[ 3]、Swoop[ 4]),并构建了多个本体(如OBO[ 5])。模块化不仅使得本体的构建和维护更加容易,而且能够促进知识重用,多个模块化本体(本体模块化)语言及其构建工具也已被提出,例如P-DL[ 6]、ε-connection[ 7]、Swoop、Protégé ProSé[ 8]等。国内相关研究人员在借鉴现有方法的基础上,结合研究的实际情况,从多个角度提出自己的思路与流程,并取得了一定的成果。在领域本体构建方面:曾新红提出用OWL表示《中国分类主题词表》的具体方案[ 9],杜小勇等介绍以《中国分类主题词表》为基础构建“经济学领域本体”初始版本的基本过程[ 10];徐琳宏等采用手工分类和自动获取相结合的方法,综合现有的各种情感词汇资源,如词典、语义网络等,构造情感词汇本体[ 11],董慧等在参考Methodology的基础上,提出“国共合作”历史领域本体构建思路和流程[ 12];何琳等提出自然语言处理的领域本体半自动构建方法[ 13]。在模块化本体构建方面:林松涛探讨了模块化本体建模、表示语言、推理等相关理论[ 14];张维一等提出本体模块化方法,在此基础上构建了汽车驾驶培训领域本体[ 15];郭文丽等全面综述了本体模块化研究的最新进展[ 16],并提出建立基于粒度的本体模块描述方法[ 17]

本体的构建包括手工构建、半自动化构建、全自动化构建的方法。手工构建、半自动化构建仍然需要领域专家花费大量的时间与精力,完全自动构建的效果不佳。在实际的应用中,某个领域的知识往往会涉及多个学科,本体的粒度过大使得知识维护、重用、集成等问题越来越突出。因此如何利用现有资源降低领域专家的强度,提高本体的重用、演化能力,仍然是信息检索、电子商务、知识集成等领域的重要研究课题。本文在国内外相关研究的基础上,提出一种模块化本体的构建方法,将本体的裂变、重组、重用引入到模块化本体多用户协作、自治构建过程中,细化本体构建粒度,从而提高本体的构建效率和重用、演化能力。

2 模块化本体构建流程

模块化本体的构建是一项十分复杂的系统工程,涉及知识内容广、空间跨度大,一个科学、合理的模块化本体构建流程,可以保证构建人员在本体模型决策上的一致性。模块化本体是按照一定的语义规则和方法将本体模块组装、集成,对于本体模块可作如下定义:

(1)原子本体是深度不超过m的领域本体,m>1,m的值根据实际需求确定。

(2)核心本体是深度不超过n的领域本体,n>1,n的值根据实际需求确定。核心本体可以有子模块。

(3)模块化对领域本体添加模块信息,例如添加模块URI信息。

(4)原子本体模块由原子本体模块化后生成,是模块化本体构建的最小单元,没有子模块。

(5)核心本体模块由核心本体模块化后生成,是模块化本体构建的骨架,具有子模块。

(6)本体模块是以核心本体模块为骨架,按照一定的规则将其子模块集成到核心本体模块中,本体模块信息包含核心本体模块、子模块信息。

(7)目标本体(模块化本体)是最大的本体模块。

在本体演化过程中:

(1)当核心本体模块不具有子模块时,即转化为原子本体模块。

(2)当原子本体模块具有子模块时,即转化为该领域的核心本体模块。

本文在此定义及前期研究工作的基础上[ 18],提出了一个多用户协作、细粒度的模块化本体构建流程,如图1所示:

图1 模块化本体构建流程

在该流程中,构建人员根据本体模块所涉及的知识领域和用户需求,在确定本体模块的构建目标、用户使用范围等后,根据本体可能涉及的学科、主题,对本体模块领域做进一步的细分,划分子模块,确定该模块的核心本体和原子本体。当子核心本体和原子本体构建模块化后,即可将原子本体模块集成到核心本体模块中,构成本体模块;当多个模块构建完成后,再根据一定规则将其集成为模块化本体。在本体模块构建过程中,多个用户对其进行协作管理和评价,对模块化本体的质量进行控制,实现本体的细粒度构建和重用。

每个本体模块包括CM个核心本体模块(CM=1或CM=0)和AM个原子本体模块(AM≥0),当CM=1时,本体模块至少有一个核心概念是其一个子本体模块的根,以此类推,直至所有子本体模块为原子本体模块为止,这样形成以核心本体模块为树干、原子本体模块为叶子节点的模块化本体树,从而形成一个细粒度的模块化本体,如图2所示:

图2 模块化本体层次树

在此模块树中,原子本体模块是基石,核心本体模块是骨架,本体模块的集成、评价是实现本体语义一致、细粒度构建的关键,是实现开放的、自治的模块化本体构建的保证。关于本体的知识评价以及用户评价,笔者在文献[18]中已作详细的讨论,在此不再赘述。

3 本体模块细粒度构建框架

模块化本体构建最大的特点就是自治构建,往往会出现交叉领域语义表达重复、不一致的情况,因此在模块化本体构建过程中充分利用模块化的特点,通过模块的裂变、重组、重用,实现本体模块的细粒度构建,简化本体构建的复杂性。本文提出一种本体模块细粒度构建(Ontology Module Fine-Granularity Building,OMFGB)框架体系,如图3所示:

图3 本体模块细粒度构建框架体系

本体模块的构建包括核心本体构建、原子本体的构建、模块化和模块的集成。由于核心本体和原子本体的构建本质上就是领域本体的构建,其构建方法相对比较成熟[ 9, 10, 11, 12, 13],相关研究人员已进行了很多讨论。本体模块知识应该反映本领域及其交叉领域的具体应用领域知识,不仅能够反映成熟的领域知识,而且能够反映该领域的前沿热点。因此,本文将重点讨论本体模块的知识来源、模块的划分、模块的裂变和模块集成。

3.1 本体模块知识源

随着网络技术、计算机技术的飞速发展,知识载体、知识组织的形式非常多,研究人员可以从多个途径(如论文发表、会议交流、网络等)公开其研究兴趣、热点和成果。由于某领域知识使用者不仅包括本领域的专家,也包括非专业人员,本体模块的核心概念的获取本质上就是领域本体核心概念的获取,在OMFGB方法中,本体模块的核心概念主要从4个方面获取:

(1)发表周期相对较短的论文知识作为本体模块核心概念的主要来源,例如期刊论文、会议论文等[ 10]。论文是研究人员对本领域研究成果集中公开的载体之一,它不仅表达了该领域研究人员对某个领域的共同见解,而且反映了该领域、交叉领域近几年新出现的知识、概念和研究热点。

(2)主题词表、相关国家标准、专著作为核心本体构建的主要参照工具[ 9, 10, 11]。这主要是由于它们的知识组织相对比较宽泛或特别经典、专业,是该领域专家学者共同研究的成果,具有权威性、科学性和知识性。

(3)网络资源。随着网络技术的发展,很多重要信息在网上发布,如各种权威网站。

(4)重用已构建的本体,充分利用现有本体资源[ 6, 13]

3.2 本体模块划分

模块化本体知识相对比较复杂,本体模块的划分原则是简单、易理解、相对独立性强、易重用[ 15, 18, 19]。在模块划分的过程中,主要根据核心概念所涉及的领域知识特点进行模块划分,抽取交叉领域知识,尽量避免同一概念在不同本体模块属性、类的表达不一致,以更好地实现本体的裂变、重用、重组和演化。

3.3 本体模块的裂变

在本体模块自治构建过程中,用户往往需要重用交叉领域已构建的共享知识,而该共享知识可能已被至少一个本体模块构建,是本体模块的一部分。在OMFGB中,按层次关系进行本体裂变,分离其共享知识。

假设M是要共享的知识,是目标本体模块树OM的一个子树,Mij为本体模块树,Aij是原子本体模块树,Mij、Aij是OM的子树。Bij是Aij的子树,Bij的根是Aij的根,Cij是Aij的子树,且叶子节点是Aij的叶子节点。当OM按层次关系裂变分离M时,OM裂变为n棵子树,对每棵子树模块化后,仍按OM原有概念或模块层次关系建立n棵子树间的关系,构建OM模块层次树,因此OM的裂变不改变原有本体模块的语义关系。其裂变规则为:

(1)当M⊂Aij,其裂变规则如下:

① 存在Bij与M重合,且存在层次关系(aij,aik),aij∈M,aik∈Aij,aik∉M,则Aij裂变为共享模块M和aik为顶点的子模块,如图4所示:

图4 原子本体模块裂变一

② 存在Cij与M重合,且存在层次关系(aij,aik),aik为M的任意叶子节点,aik∈M,aij∈Aij,aij∉M,则Aij裂变为M和Aij去除M后,aij变为叶子节点的子模块,如图5所示:

图5 原子本体模块裂变二

③ M既不与Bij重合,也不与Cij重合,则在Aij中搜索M的根节点aij,如果成功,则以aij为根将Aij裂变为两个模块Dij和Eij,Dij=Aij-Eij,aij是Eij的根,如果M⊂Eij,Eij中存在子树Fij,且Fij与M重合,则对Eij执行规则①,如图6所示:

图6 原子本体模块裂变三

(2)M⊂Mij的一部分,由于Mij包括核心本体、原子本体模块和其他子模块:

① 当M为Mij核心本体的子树时,直接对核心本体裂变,不改变核心本体、原子本体与其他子模块间的语义关系。裂变规则与原子本体模块裂变类似。

② M为Mij原子本体模块的子树时,直接对原子本体模块裂变。

③ M为Mij的其他子模块的子树时,执行规则①或②

(3)M为多个本体模块Mij、原子本体模块的一部分时,则同时对本体模块和原子本体模块实行裂变。

4 本体模块集成
4.1 本体模块集成规则

在OMFGB中,本体模块的集成包括本体模块的重组、重用,本体的重组、重用的前提是不影响子模块本身所具有的语义关系,保持集成后的本体模块语义逻辑表达的一致性。在模块化本体构建过程中,针对如何解决本体模块集成时模块间概念关系的映射问题,例如模块间层次关系、同一概念在不同模块中有不同表达时模块间集成的规则或方法,国内外相关领域的研究人员已经做了大量的工作,提出了很多方法[ 4, 6, 7, 8, 14, 15, 16, 17, 18, 19]。在OMFGB中,当多个模块具有共享知识时,本体模块集成时将发生本体模块裂变,因此重点讨论多个领域具有共享知识的集成规则:

(1)当共享知识是一个本体模块时,直接集成。

(2)当共享知识包含于一个本体模块时,通过裂变将共享知识分离成共享模块,以便于其他模块共享,建立共享模块和其他模块间的关系。

(3)当共享知识包含于多个模块时,通过裂变将共享知识分离出所有包含共享知识的模块,建立共享模块和它们的关系。

4.2 本体模块的集成

在OMFGB中,按照一定的规则将本体模块的子模块集成到本体模块的核心本体,建立模块间的信息;当本体模块具有共享知识时,则对本体模块进行裂变,发生裂变后再集成。由于在OMFGB中,通过模块裂变可以实现领域知识的再划分,从而实现领域知识的再融合,因此在模块化本体构建过程中,每个用户可以根据自己所在的知识领域,自治地进行本体模块的构建,根据实际需要进行裂变、重组、重用,从而实现模块化本体的细粒度、自治构建。

5 基于OMFGB的模块化本体构建

水资源本体涉及多学科、多领域,个体关系错综复杂,本文将基于OMFGB的模块化本体构建方法(简称OMFGB方法)应用于该本体的构建,以验证该方法的可行性。

5.1 本体构建工具

Stanford大学开发的Protégé是一个开源的、可视化的本体编辑和维护工具,得到了较为广泛的应用,其中插件Protégé-OWL支持OWL语言构建本体,插件Protégé- ProSé通过在本地本体和外部本体中设置外部标记集S,建立本体间概念的关系;在不修改OWL的语法和语义的条件下,提出一个基于概念保守扩充(Conservative Extension)和本地(Locality)、安全(Safety)的模块化框架。该框架不改变被重用概念最初的含义以及在外部本体中所具有的特定意义,实现模块化、安全地重用和(或)扩展已创建本体。因此选用Protégé作为开发工具,采用Protégé-OWL插件进行原子本体和核心本体的构建,Protégé- ProSé插件实现原子本体或本体模块的模块化、模块的裂变、重组和集成。

5.2 核心本体和原子本体的构建

对水资源相关领域10种核心期刊近5年来发表的论文相关信息(关键词、作者、机构等)进行采集,去除特别通用的概念(如“速度”、“搜索”等),并结合水利水电主题词表、标准、网络等,对其进行识别、分析、补充、合并、切分,最后对相关概念的发表频次进行统计。核心概念的抽取通过发表频次确定,选取发表频次超过100的概念(水利水电工程、水工结构、水资源、地理位置、泥沙、混凝土、洪水、计算机技术、模型、环境、机构、专家、政策法规、科研成果等)构建水资源本体最基础的核心本体(ws.owl),如图7所示,并根据核心概念所涉及的范围,对本体模块进行划分。同理,再选取发表频次低于100、超过10的概念,确定概念所属模块,建立各个本体模块的核心本体。以水资源本体模块为例,水资源本体模块涉及的核心概念有河流、湖泊、地理位置、水电站、水资源相关政策、水资源科研成果、水资源专家等。虽然水电站、地理位置也是水资源本体模块的核心概念,但是水资源本体模块只涉及河流、湖泊上具体地点的水电站,因此将水电站划分到水利水电工程模块,该领域构建人员能够更明确地描述此知识,水资源本体模块共享该知识即可;地理位置与水电站、河流、湖泊都相关,则作为通用本体模块来构建。因此以水资源本体模块核心概念为基础,构建本体模块(wr.owl),如图7所示:

图7 ws.owl本体和wr.owl本体片断

5.3 基于Protégé-ProSé模块裂变和集成

OMFGB方法利用Protégé-ProSé实现模块裂变、重组和集成。ws.owl为本地本体,wr.owl为外部本体,以将wr.owl集成到ws.owl为例。具体步骤如下:

(1)设置外部标记集S

确定本地本体ws.owl和外部本体wr.owl的外部标记集S,并使用Protégé-ProSé在ws.owl和wr.owl中设置,有E的类为外部标记,如图8所示:

图8 本地本体ws.owl和外部本体wr.owl外部标记集设置

(2)定义外部本体URI,装载外部本体模块

ProSé Safe Protégé Manager定义外部本体wr.owl URI(file:/C:\SW\ws\wr.owl)后,进行装载,同时对非本地公理进行检测,在此可人工删除不合法的公理,如图9所示:

图9 外部本体wr.owl装载

(3)定制扩充外部标记集,确定抽取模块的范围

该步骤选择扩充外部标记的子类和超类层次结构范围,本文选择层次4。外部本体中wr.owl与本地本体ws.owl中相同的外部标记有河流、湖泊、水资源相关政策、水资源科研成果、水资源专家等,在此可去除外部标记集中不合法的实例,如图10所示:

图10 确定本体模块抽取范围

(4)模块的裂变、重组和集成

由于Protégé-ProSé可根据本体构建需要进行模块的抽取、导入,因而OMFGB方法中模块的裂变、重组和集成可通过Protégé-ProSé模块的抽取、导入实现。在被抽取模块范围确定后,定义抽取模块的URI(本文定义为http://www.ws.org/module-wr-river.owl), 执行Extract Module→Import Module,将抽取模块导入(集成),同时实现本体模块的裂变,生成本体模块module-wr-river.owl,如图11所示:

图11 wr.owl模块的裂变和集成

抽取模块导入后,将作为本地本体ws.owl的组成部分,其概念与ws.owl概念关系的建立与领域本体概念关系建立类似,例如ws.owl从wr.owl中导入水资源政策法规类,是ws.owl中政策法规类的子类,直接建立政策法规与水资源政策法规间的子类关系,即可建立外部本体模块与本地本体其他概念关系。本体模块集成后可利用Protégé自带的推理机进行一致性检验,完成本体模块,从而实现外部本体模块与本地本体的集成。

5.4 本体模块化信息的表示

OMFGB方法可利用Protégé-ProSé实现本体的裂变、重组和集成,但是对本体模块的模块化,Protégé-ProSé并没有提供独立的模块化功能,模块化在设置外部标记集S、装载外部本体模块、本体模块集成时完成。本体模块集成后,模块化信息在外部标记属性Annotations Label中记录。本地本体(ws.owl)外部标记的模块化信息表示为其属性Annotations Label的两个值“External Signature”@en和“External URI;file:/C:\SW\ws\wr.owl”@en;导入的外部本体模块(wr.owl)外部标记的模块化信息表示为Annotations Label的两个值“External URI;file:/C:\SW\ws\wr.owl”@en和“Imported External Signature”。

值得注意的是,在本地本体中某个类只要设置为外部类标记,无论外部本体模块中是否有该类对应的外部标记,该类都具有模块化信息,这在某种程度上会造成一定的垃圾信息。

6 结 语

本文提出了一种通过本体模块的裂变、重组、重用实现模块化本体的协作构建方法,通过该方法能够实现本体的细粒度构建,从而提高本体的构建效率和重用能力。笔者将该方法应用于水资源本体的构建,使用Protégé-OWL插件进行原子本体和核心本体的构建,Protégé-ProSé插件实现原子本体或本体模块的模块化、模块的抽取、集成,达到了预期的目标。

Protégé-ProSE有以下两方面的局限性:

(1)要求集成到本体模块核心本体的子模块或原子本体必须是构建良好的;

(2)虽然本体模块可以划分为多个子模块,领域专家能够很明确地描述该领域的知识,实现细粒度的本体构建,但是在协作构建过程中,构建人员仍然只能是知识工作者和领域专家,且不能进行实时的交流。

另外,在模块化本体构建过程中,本体模块的裂变是实现模块化本体自治构建的关键点,但是本体模块的裂变可能会产生大量粒度很细的原子本体模块,导致本体模块的粒度很细,增加了本体模块的管理难度。目前,基于Web的本体开发工具,如WebProtégé[ 20],虽然实现了Web用户协作构建的实时交流,但只是一个轻量级本体的构建工具。因此,迫切需要一个能够自动实现本体模块化、裂变、重组、重用、将构建用户拓展到Web用户的本体开发工具,以真正地减轻领域专家的负担,实现本体的细粒度、自治协作构建,这也是下一步工作的重点。

(致谢:非常感谢崔九翠、宗丽莎、李玉洁同学,他们参与了水资源本体资料的搜集与整理工作,最终得以形成此文。)

参考文献
[1] Neches R, Fikes R E, Finin T, et al. Enabling Technology for Knowledge Sharing[J]. AI Magazine, 1991, 12(3): 36-56. [本文引用:1] [JCR: 0.726]
[2] Laboratorio F L. Overview of Methodologies for Building Ontologies[C]. In: Proceedings of the IJCAI-99 Workshop on Ontologies and Problem-Solving Methods(KRR5), Stockholm, Sweden. 1999. [本文引用:1]
[3] Horridge M. A Practical Guide to Building OWL Ontologies Using Protégé 4 and CO-ODE Tools Edition 1. 1[EB/OL]. [2009-11-12]. http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf. [本文引用:1]
[4] Kalyanpur A, Parsia B, Sirin E, et al. Hendler - Swoop: A Web Ontology Editing Browser[J]. Web Semantics: Science, Services and Agents on the World Wide Web, 2006, 4(2): 144-153. [本文引用:2]
[5] Noy N F, Chugh A, Liu W, et al. A Framework for Ontology Evolution in Collaborative Environments[C]. In: Proceedings of the 5th International Semantic Web Conference - ISWC . 2006. 2006: 544-558. [本文引用:1]
[6] Bao J, Caragea D, Honavar V G. Package-based Description Logics - Preliminary Results[C]. In: Proceedings of the 5th International Semantic Web Conference-ISWC2006. 2006: 967-969. [本文引用:3]
[7] Kutz O, Lutz C, Wolter F, et al. ε-connections of Description Logics[EB/OL]. [2009-12-16]. http://www.dcs.bbk.ac.uk/~michael/dl03final2.ps. [本文引用:2]
[8] Jimenez-Ruiz E, Berlanga R, Grau B C. ProSé: A Protégé Plugin for Reusing Ontologies, Safe and Economique User Manual[EB/OL]. [2009-12-10]. http://krono.act.uji.es/people/Ernesto/safety-ontology-reuse/proSE-current-version/ProSE-Manual.pdf. [本文引用:2]
[9] 曾新红. 《中国分类主题词表》的OWL表示及其语义深层揭示研究[J]. 情报学报, 2005, 24(2): 151-160. [本文引用:3]
[10] 杜小勇, 马文峰, 武文娟. 学科领域本体的构建与进化——以经济学领域本体为例[J]. 现代图书情报技术, 2007(3): 8-12. [本文引用:4]
[11] 徐琳宏, 林鸿飞, 潘宇, . 情感词汇本体的构造[J]. 情报学报, 2008, 27(2): 180-185. [本文引用:3]
[12] 董慧, 余传明, 杨宁, . 基于本体的数字图书馆检索模型研究(Ⅲ)——历史领域资源本体构建[J]. 情报学报, 2006, 25(5): 564-574. [本文引用:2]
[13] 何琳, 侯汉清. 基于统计自然语言处理技术的领域本体半自动构建研究[J]. 情报学报, 2009, 28(2): 201-207. [本文引用:3]
[14] 林松涛. 模块化本体建设研究[D]. 北京: 北京邮电大学, 2006. [本文引用:2]
[15] 张维一, 陆汝占. 本体模块化的研究与实现[J]. 计算机应用研究, 2007, 24(11): 206-209. [本文引用:3]
[16] 郭文丽, 张晓林. 本体模块化: 特征、描述与方法[J]. 图书馆杂志, 2008, 27(9): 5-10. [本文引用:2]
[17] 郭文丽, 张晓林. 基于粒度的本体模块描述方法[J]. 现代图书情报技术, 2010(2): 1-6. [本文引用:2]
[18] 冯兰萍, 朱礼军, 张继国. 基于模块化本体的知识组织与服务体系研究[J]. 现代图书情报技术, 2008(7): 23-27. [本文引用:3]
[19] 杨倩, 冯志勇, 饶国政, . 物流领域本体的模块化研究与实现[J]. 天津大学学报, 2009, 42(12): 1105-1111. [本文引用:2]
[20] Tudorache T, VendettiJ, Noy N F. Web-Protégé: A Lightweight OWL Ontology Editor for the Web[EB/OL]. [2010-01-10]. http://www.webont.org/owled/2008/papers/owled2008eu_submission_40.pdf. [本文引用:1]