周义刚,姜 赢
(1.北京大学图书馆;2.北京师范大学珠海分校管理学院)
动态知识指的是随时间或情境(Condition/Situation)的延续或变化,用于揭示知识内涵的特征属性的状态,以及这些特征属性之间的关系都会随之演化的知识。[1]
各个领域中都存在动态知识,如在数字图书馆古籍编目整理领域,古籍版本项是基础q且重要的信息之一。对于中国古代雕版刻书,因书版可以长期保存,出现了书版不断流传及流传过程中多次刷印的现象,在这个过程中,书版所有者经常在原有书版的基础上进行挖改、修补或增加,形成了不同版、不同印次中包含类似于版本变化的复杂变化信息。[2]同一种书随着时间的变化,版本和印次也会发生变化,这属于动态知识。又如在法律领域,法律条文也是动态变化的:有些早期制定的法律经过一段时间后,已不能顺应当前社会发展,需要废止或修订;再如,由于行政管理体制改革,法律规定的主管部门的称谓已发生变化,导致一些法律法规需要进行修改,这也是一种动态知识。另外,在中华史籍领域,某个历史人物在不同时期其配偶、子女、职官等属性是变化的,这也是本文所指的动态知识。
实际上,在医学领域、生命科学领域、数字图书馆领域、历史研究领域等都有大量的动态知识,可以说动态知识存在于方方面面,如何有效地组织这些动态知识是当前亟待解决的一个重要课题。
本体在知识组织方面有一定的优势,它能更准确、规范地对概念及概念间的关系进行描述,从而构造出更为丰富的语义关系。同时,本体有很强的形式化能力、知识推理能力,能够通过推理机制推论出概念间的隐含关系,可以有效提升知识检索中的查准率和查全率以及知识的重用和共享。但是,本体仅能解决静态知识和相对知识的组织问题,对于动态知识和相对知识无法用描述逻辑直接描述,原因主要有两个方面[3]:一是本体在语义网体系结构中的层次功能定位,本体层在语义网中主要是解决语义问题与知识的描述问题,而其他关于逻辑和信任的问题都交给本体层的上层来解决;二是语义网本体RDF/OWL在设计上的问题,RDF是基于主、谓、宾这样的三元组的描述,[4]而OWL是基于RDF之上的扩展。[5]虽然数据结构简单清晰,易于使用和理解,但却不能胜任更为复杂的动态知识描述。
本体分子是指在本体基本元素(三元组、本体实例)基础之上,用唯一标识符标注的、根据语用或者语义划分的、无缺失的、最小冗余的本体知识单元。本体分子是在本体基本元素和本体库之间的一个平衡点,它使得相对粗粒度知识管理成为可能。[6]本体分子是在本体的基础之上,结合描述逻辑、图论等相关理论,用于解决动态知识及相对知识组织管理和控制的理论。本体分子不能脱离本体单独存在,本体分子只是本体理论的扩展与深化。
本体分子理论是用来解决动态知识管理问题的新理论,其理论内涵正在不断完善和发展。关于本体分子理论已经有了明确的定义、特征、形式化描述及结构分析图,但是还缺少该理论引入的一系列用于反映本体分子基本数据结构的抽象语义概念的定义及概念间关系的描述。在本体分子中的数据结构是通过一系列的抽象概念及概念间的关系来定义,这些抽象概念包括维度(Dimension)、维度容器(Dimension Container)、本体分子的核(Core Graph)、本体分子的外围(Outer Graph)、本体分子(Ontology Molecule)和本体分子图(Dgraph)。概念间的关系如图1所示。
图1 本体分子中的基本概念的关系图
(1)本体分子中的维度(Dimension)是在知识本质不发生变化的前提下,用来衡量知识内容随之变化的角度。这些不同的角度分别对应于各个维度类,在维度类中可定义具体的维度,如时间维、地点维,也可以是人物维、机构维等。本体分子理论中通过维度来判断知识的真实性,维度是描述知识成立条件的工具。只有当查询条件中的维度存在于修饰语句的维度之内时,该条语句才为真。
(2)维度容器(Dimension Container)是由来自多个不同维度类的维度组成的。本体分子中的维度容器是管理维度的对象。维度并不直接与本体分子、本体分子的核或本体分子的外围发生关联,而是通过维度容器与本体分子中的其他对象发生联系。这种设计的原因是因为通常某个动态知识成立的条件是处在一个多维环境下的,如某个事实是成立于特定的时间段和特定的地理范围。维度容器中可能存在一个或多个维度,也可能不存在任何维度。在验证知识的正确性时,需要逐个验证维度容器中的维度。动态三元组是以维度容器形式描述的约束条件与三元组相结合而组成的,它是本体分子中的最小知识单元,表示的是在特定的维度容器下三元组为“真”的陈述。
(3)本体分子的核(Core Graph)是本体分子中的静态知识部分,本体分子核中的知识存在于默认维度容器下或存在某个特殊定义的维度容器下。定义在该维度容器下的知识在任何条件、任何维度下都为真。
(4)本体分子的外围(Outer Graph)是本体分子中的动态知识或相对知识部分。本体分子外围中的知识成立于某个或某些特定的条件下。与本体分子的外围关联的维度对这个条件或多个条件进行限定。本体分子的外围和本体分子的核之间为函数对应关系。单个本体分子的外围只可能与某一个本体分子的核发生关联,但一个本体分子的核可能与多个本体分子的外围相关联。
一个本体分子由一个本体分子的核和一个本体分子的外围组成。图1中本体分子的核(Core Graph)与其中一个本体分子的外围(Outer Graph1)组成一个本体分子(Ontology Molecule 1);图2中,还是这个本体分子的核(Core Graph)与另外一个本体分子的外围(Outer Graph2)组成另一个新的本体分子(Ontology Molecule 2),这两个不同的本体分子都与同一个本体分子的核相关联,都有自己的维度容器。
图2 本体分子中的基本概念的关系图
实际上,一个核子可能有多个外围,该核子和每个外围都形成了一个本体分子,一个核子和若干个外围组成了本体分子图(Dgraph)。本体分子图存在于某个特定的维度下,也拥有自己的维度容器。本体分子图的维度取决于本体分子的外围维度。
基于本体分子的动态知识组织方案具备一些其他方案所不具备的优势。。
(1)更准确的知识描述。本体分子技术具有更强的描述能力,能够描述知识的不变部分即静态知识和知识的可变部分即动态知识,从而扩展了知识描述的范围。本体分子技术要求对语句的成立范围进行进一步验证,添加维度容器。在添加维度容器的过程中会对知识的正确性进行校验,从而提高知识描述的准确性。
(2)更充分的知识揭示。本体分子不仅能够揭示动态知识演变的结果,还可以揭示出动态知识演变的过程。
(3)更灵活高效的知识存储。本体分子的设计在物理结构上依然遵循OWL的规范,是在OWL规范的基础上进行扩展,这种设计使得它对于其他任何应用都是兼容的,在实际操作中,可以灵活选取适当的知识存储方案。另外,本体分子在知识表达时,没有引入新的类和属性,不会产生冗余数据,可以带来高效的存储。
在语义网发展初期,研究的主要集中于对互联网资源进行语义标注,让人们可以更方便地找到网络资源。科学家开发了一系列元数据描述语言用来描述网络资源;之后,又制定了本体描述语言来进一步细化语义分析,在此基础上还开发了各种领域本体(Ontology)。近二十年来,在各个领域已经积累了非常多的本体。虽然人们能够按照自己的需求自由创建各自的本体,但在很多领域都有领域专家带领他们的团队创建领域本体库。根据自然淘汰的法则,在绝大多数领域只有被广泛接受的本体最终才会被留下。由于大量的元数据和本体的存在,这本身就是巨大的知识资源,“Web of Data”的思想就是这么产生的,也就是通过结构化的数据将庞大的网络资源连在一起,从而构成人类巨大的知识宝库。[7]这些语义网中资源的组织主要表现在以RDF为描述语言,来描述关于Web资源的元数据,以及以OWL为描述语言的各个特定领域本体,而并不十分关心知识资源本身的动态变化。
本文所关注的是语义网中的动态知识组织问题,这正是面向用户服务的深度知识组织需要。而基于本体的知识组织模型并不能完全解决动态知识问题,因此笔者提出了一个动态知识组织模型,旨在将动态知识整序并向用户展示知识的动态演变过程。在该模型中,知识分为静态知识和动态知识,静态知识的组织还是以本体为依托,而动态知识的组织则依托于本体分子,本体分子可以很好地描述知识的不变部分和可变部分,可以很好地展示动态知识的变化过程和变化结果。
笔者设计的基于本体分子的动态知识组织模型分为知识源层、元数据层、静态知识(本体)层、动态知识层4个层次(见图3)。其中,动态知识层是本文关注的重点。
图3 基于本体分子的动态知识组织模型
(1)知识源层位于四层模型的底层。知识源层包括图形、符号、文本、XML/HTML等半结构化数据、关系数据库/面向对象数据库等结构化数据。在实际项目应用中需要对知识源进行处理,即根据特定领域知识源的特征,在领域专家的指导下进行元数据项的确定,并通过自然语言处理技术,完成领域知识元数据的抽取工作,为下一层做准备。当然,元数据项的设置也是建立在对特定领域知识特征的反复分析之上。
(2)元数据层位于模型的第二层,元数据是关于数据的数据,语义网中用元数据来表述网络资源的属性,需要定义基本的描述元素,如标题、作者、URI、日期、主题等,并给出相应的语义。元数据能较为准确地描述网络资源,便于用户发现所需要的资源,但无法进一步发掘该资源内所含的领域知识;另外,虽然RDF和XML相结合,建立了描述层的语法环境与格式,能够实现网络资源基于语义的描述,但还不能给数据赋予语义,即数据的含义和各种数据之间的联系。[8]描述领域知识并赋之以语义正是本体层所要解决的问题。可以说,元数据层为本体层的知识组织奠定了基础。
(3)静态知识(本体)层位于模型的第三层,本体层用来解决领域知识的语义问题,包括知识表示和知识推理两个部分。获取知识后,就需要用本体描述语言来表示知识。当前,万维网联盟(World Wide Web Consortium,W3C)推荐的本体描述语言包括RDF、RDFS、OWL,这些语言已广泛被接受并成为标准。利用本体可以描述领域知识,在基于本体的知识检索系统中,可以方便地检索到知识间的关联关系;如果说知识表示是通过显性的形式化描述来进行知识组织,那么知识推理就可以说是在知识表示之上寻找一种推理机制,从而挖掘出更多的隐性知识。特别是可以通过定义推理规则来发现领域蕴涵的隐性知识,光是这一点就有非常重大的意义,它能够在现实的本体库基础上构建庞大的虚拟本体库,通过本体推理规则的定义可以大大丰富知识的内涵。而且基于本体的智能推理有其实现的可行性,并非空中楼阁,具体的推理方式可以根据实际系统的需要进行配置。可选择的推理方式有OWL推理、RDFS推理、传递推理、自定义规则推理、外部推理机制等。常见的具有推理功能的相关工具如Pellet、Jena、Racer、FACT等。
(4)动态知识层位于模型的顶层,动态知识是本文关注的重点,同时也是知识组织的难点。对于动态知识也有不同的理解,David Taniar等认为,动态知识发现是指分布式系统中的每一个节点在给定时刻、给定目标集中查找那些最能满足某种特定需求的信息资源的能力。[9]这是从形态和分布上理解动态信息,而四层模型中的动态知识和静态知识是从内容上对知识进行的分类。另外,还需弄清楚基于本体分子的动态知识层具体包含哪些内容,笔者根据本体分子的理论内涵以及具体的项目实践,对动态知识层的内容进行了归纳,主要包括动态三元组、动态三元组标识符、本体分子所包含的抽象概念及其实例。
由图3可知,模型的知识源层、元数据层、静态知识层实际上是基于本体的静态知识组织模型,该三层通过不同层面对知识进行组织,在实际的应用系统中可以同时使用,也可以根据需要有所侧重,如本体层中的知识推理的部分可根据实际项目的需求,可指定强弱不同的推理规则。如果实际项目中涉及到动态知识的组织问题,则第四层即动态知识层是必不可少的。
从知识源到动态知识库,动态知识组织主要经过动态知识获取、维度抽取、动态知识表示、动态知识存储等过程(见图4)。
图4 动态知识组织过程
(1)动态知识获取。这里的知识获取指的是从知识源到计算机可处理的知识转换过程,即怎样从各种知识源和领域专家头脑中提取知识,并采用一种恰当的知识描述方法将知识转移到计算机中。[10]该定义同样可以用到动态知识获取中,动态知识获取就是要将特定领域内未经组织的各类动态知识(显性知识)和存在于人脑的专家技能(隐性知识)转化为直接可复用、可检索形式的知识。一直以来,我们主要依靠领域专家和计算机专家对话的形式来逐个挖掘出知识的动态变化。随着本体研究的深入,出现了一些较好的半自动、自动甚至智能化的知识获取方法。需要说明的是,这些知识获取方法是领域独特的,不同领域根据自身知识特征选择适当的自然语言处理技术来获取知识。
(2)维度抽取。动态知识的特点就是知识并不是永远正确的,只是存在于一定的条件下。而本体分子中的维度(Dimension)是在知识本质不发生变化的前提下,用来衡量知识内容随之变化的角度,通过维度来判断知识的真实性,维度是描述知识成立条件的工具。如“北京大学校长是蔡元培”,这条语句并不是永远成立。影响到这条语句成立与否的关键变量是时间,时间就是这条语句的维度。只有加上时间维度的限定才可以保证该语句的正确性。本体分子维度的确定过程正是动态知识和静态知识的区分过程。如果任何维度下表达的知识三元组都是正确的,那么该三元组所表示的知识为静态知识。关于维度抽取的方法,通常是在结合常用的维度(如地点维、人物维、时间维等)基础上,由领域专家根据冲突语句人工确定。
(3)动态知识表示。本体分子可以方便地描述知识的可变部分和知识的不变部分。本体分子的外围知识的表示依然遵循OWL。在实际操作中就是为静态知识添加相应的维度,维度并不直接与本体分子、本体分子的核或本体分子的外围发生关联,而是通过维度容器与本体分子中的其他对象发生联系。因此,动态知识的表示就是将动态知识以及与之相关的维度类、维度容器用OWL语言表示出来。
(4)动态知识存储。本体分子的技术是以RDF/OWL为基础,是RDF/OWL在动态知识描述上不足的技术扩展。本体分子有自己的基本元素,如维度、维度容器等抽象的语义概念,这些抽象的语义概念是对RDF/OWL语义和结构的扩展。本体分子与RDF/OWL的这种关系需要在选择本体分子存储服务器时,充分考虑到实际的技术实现方案,既要考虑到本体分子对RDF/OWL的依赖还要考虑到它对RDF/OWL的扩展,既要考虑到存储效率还要考虑到语义缺失及语义推理问题。由于基于内存及文件的存储方式均不适合大规模的数据存储,笔者推荐本体分子的数据库存储方式。可通过Oracle关系数据存储方式,也可以基于Allegro Graph RDFStore的图数据库存储方式存储。[11]
OWL是W3C推荐标准的基于描述逻辑的本体描述语言,具有强大的机器解释能力和表达推理能力。本体分子采用OWL来描述其定义的抽象概念(即OWL类)以及这些概念间的关联(即OWL属性)。
OWL中的所有个体(Individual)都是类owl:Thing的成员。于是,用户自定义的所有类都是owl:Thing的子类。如果需要定义某个领域的类,只需将它们声明为一个具名类(Named Class)即可。通常情况下,我们还需描述类成员,一般来说类成员是一个个体,而不是属性或另一个类。要引入一个OWL实例(Instance)或者OWL个体,只需将它们声明为某个类的成员。
为了准确地用OWL类来描述本体分子中的抽象语义概念,从而达到描述动态知识的目的,我们首先需要认真剖析这些概念特征,然后划分出OWL类及其实例。表1是笔者为本体分子定义的OWL类及其含义。
表1 OWL类及其含义
根据以上定义,可以把地点维度类定义为“eg:LocationDimension”、把学科维度类定义为“eg:DisciplineDimension”,二者都是维度类的子类。如果要定义一个具体的维度,如一个具体的地点维度,可以用“eg:北京”表示,它是“eg:LocationDimension”的实例,表达的是“在北京”。
根据本体分子的定义,除了上表中定义的OWL类之外,还需要用一个唯一的标识符来标识本体分子,这个标识符称之为“动态三元组ID”(以下简称dstatement-id)。动态三元组ID不仅可以用来唯一识别一个动态三元组,而且可以通过它来与其他三元组进行关联,便于动态三元组的引用。这个设计类似于关系数据库中的主键,主键的值本身没有什么意义,但可以通过主键来建立主键所在的表与存放在其它表中的数据的关联。实际设计中,是通过dstatement-id来建立动态三元组与本体分子图、维度容器之间的关联关系。由于RDF中没有dstatement-id的知识描述方式,这也正是本体分子与RDF知识描述框架不兼容的地方。正如前文所述,本体分子与RDF/OWL是既依赖又扩展的关系。因此,在实际项目中,选择本体分子存储服务器时,既要考虑到本体分子对RDF/OWL的依赖还要考虑到它对RDF/OWL的扩展,既要考虑到存储效率还要考虑到语义缺失及语义推理问题。
OWL有两种属性:一是对象属性(Object Property),是指将对象相互关联的属性;另一个是数据类型属性(Datatype Property),是指将对象与数据类型值相关联的属性。[12]一个OWL属性可以通过指定定义域(Domain)和值域(Range)来对二元关系进行限定。
表2 OWL属性定义
表2展示了本体分子的OWL属性定义。由表2可知,维度容器和维度间的关联关系是通过对象属性“om:hasDimensions”来定义的,而本体分子图与维度容器之间的关联关系是通过对象属性“om:hasDimensionContainer”来定义的。如前文所述,动态三元组与维度容器之间的关联关系是通过dstatement-id来建立,而dstatement-id是字符串或数字,不是OWL实例,因此通过数据类型属性来建立它们之间的关系。同样,我们也通过数据类型属性建立了本体分子图和动态三元组间的关联关系。
(1)维度容器,对应于“om:DimensionContainer”类,设计这个类是考虑到动态知识的复杂性,某个动态知识的成立条件可能是与多个维度相关,如某个知识的成立同时与时间维度和人物维度相关,具体描述如下。
(2)本体分子,对应于“om:Ontology Molecule”类。
(3)本体分子的核和本体分子的外围的描述与“om:Dgraph”类相关,在实际操作中,在“om:Dgraph”类下定义了2个实例“om:CoreGraph”和“om:Outer-Graph”,每个子类都是多个陈述语句的集合。
(4)Dgraph,是有关本体分子的核和1个或多个本体分子的外围的陈述的集合,在上文本体分子的属性描述中介绍了多个属性都与之相关,如“om:hasDstatements”定义了Dgraph与动态三元组之间的关系,有关该概念的具体描述如下。
语义网环境下存在着大量的动态知识。本文在分析了动态知识的特征及本体在解决动态知识组织问题时的不足后,阐述了本体分子理论的抽象概念及其之间的关联;构建了本体分子动态知识组织模型,并深入分析了动态知识组织过程;最后,详细地阐述了基于本体分子的动态知识描述方法,创建了本体分子的OWL类和属性,对本体分子的类属含义及关系进行了说明,同时利用所定义的本体分子类和属性,对本体分子的相关概念及概念关系进行了描述。今后的研究工作将包括利用该模型创建动态知识库以及通过构建动态知识检索模型,解决动态知识提供的问题。