描述知识组织体系的元数据,本文主要内容关键词为:体系论文,组织论文,知识论文,数据论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
[分类号]G254.31
所谓知识组织体系(knowledge organization systems,简称KOS),是对内容概念及其相互关系进行描述和组织的机制,可对各信息对象按照知识内容和知识结构进行描述、连接和组织。根据对概念关系的揭示程度,知识组织体系可分为3个层次[1]:
●词汇表:强调概念的定义,一般不涉及复杂语义关系和分类结构,例如规范档、词汇表、字典、地名表等。
●分类聚类体系:强调概念间的层级聚合和类别体系,例如主题词表和分类表。
●关系列表:强调表现概念之间关系,例如叙词表、语义网络和概念集。
知识组织体系本身也是一种数据,同样可用元数据来描述[2-3]。这时的元数据应能:
●对知识组织体系的构成元素、结构、关系、构造规则等进行定义、标记和解析。
●对知识组织体系及其元素的析取、链接、转换、继承、复用、扩展、交换、合并、重组等的方式和规则进行定义、标记和解析。
●对知识组织体系描述、标记信息对象和知识内容的方式及其具体链接、解释、过滤、推理、组合等的规则进行定义、标记和解析。
通过元数据,可实现知识组织体系开放描述和智能处理,支持对分布和异构的知识组织体系的搜寻、析取、交换、集成和定制,支持利用知识组织体系智能地检索、解释、推理和析取知识内容,支持利用知识组织体系智能地选择、链接、定制和组合信息服务过程与管理机制。
描述知识组织体系的元数据还处于发展初期,以下主要通过几个实例对此作一个初步介绍。
1 词表标记语言(Vocabulary Markup Language,简称VocML)
VocML是由NKOS联盟提出的基于XML 的词表和词表映射表(Vocabulary Crosswalks)标记语言[4],支持对叙词表、分类表等的开放标记、解析、显示、交换和映射。根据VocML DTD, 一个词表文件称为一个VocLoadFile,它可能包含一个或多个词表或映射表,可根据EBNF标记法表示为:
VocLoadFile:=((SrcVocab│Xwalk)*)
SrcVocab(SourceVocabulary)代表词表,Xwalk表示映射表。每个表都有一个头标和词表ID。词表的核心成分是词汇(SVTerm),各词汇(甚至若干词汇)往往有上位词、下位词、变形词、同义词、相关词等。VocML通过定义一系列元素段和元素及其属性来描述这些信息。 映射表则以概念为核心成分,通过元素及其属性来描述各概念对应的词汇(包括优先词汇)、分面近义词及关联关系。表1给出了VocML对词表和映射表元素及属性的定义。
上表中A?为A出现零次或一次,A+为A出现一次或多次,A*为A出现零次或多次。VocML以XML 实体方式定义通用头标(commonHeaderBlock),可嵌入各表中对其进行整体描述。头标复用Dublin Core元素[5],并为其Creator、Contributor、Publisher元素扩展了AgentType属性。
2 词汇网络定义集(WordNet RDF Schema)
WordNet 是由普林斯顿大学认知科学实验室开发的网络化叙词表检索系统[6],对英语词汇及其关系进行描述, 已广泛应用于各个搜索引擎。它列出词汇(及变形词)的不同含义,对每个含义列出同义词、上类词(Hypernym,指词汇作为一个实体所隶属的更广泛的对象类别)、上系词(Holonyms,指词汇作为一个部分所隶属的上位实体)、下位词、同族词、反义词、分面近义词(Troponyms, 指那些与词汇在某一方面近义的词汇)。
为了支持对WordNet的共享及它与其它词表的互操作,人们利用RDF[7]定义了WordNet Schema中的概念(LexicalConcept )及其子类(例如动词、名词、形容词、副词等)和相应属性的标记方式、应用对象(rdf:domain)、取值形式(rdf:range)等,为开放地标记、交换、解析、甚至转换WordNet词汇及其关系提供了坚实基础。图1 为WordNet的简约RDF关系图[8]。
这个Schema表示,概念(lexicalConcept )作为一种对象类(rdf:type=Class),是Resource的subClass,本身又有verb、noun、adverb、adjective作为subClass(这些子类也是对象类, 但图中没有画出它们的t=rdf:type连线)。GlossaryEntry、wordForm、hyponymOf、antonymOf等是属性(rdf:type=Property,这里只列出了部分属性),它们的应用范围(rdfs:domain)是概念(即它们是概念的属性),取值形式有的(例如wordForm)是任意文字(rdfs:Literal)、有的(例如hyponymOf)是概念。
通过这些定义,可以清晰地标记一个概念的词形、词义以及它的名词动词等各类词型,并明确标记它对应的同义词、上类词、上系词、下位词、同族词、反义词、分面近义词等(可以用这些词的标识符表示)。
3 主题图语言(XML Topic Maps,简称XTM)
所谓主题图,指一定主题领域的概念体系,可以是正规叙词表或分类表,也可以是一定资源集合主题内容的结构化表现(例如百科全书主题索引或网站Sitemaps)。主题图独立于技术平台,描述主题、主题关系以及主题与具体资源的联系,可“标引”信息资源并建立相应索引、交叉参照、引文体系等,可链接复杂主题范围的分布资源来建立虚拟知识体系,可通过主题概念与资源的不同链接在同一资源集合上定制面向不同用户的界面。XTM基于ISO13250标准,定义了用XML描述和标记主题图的方式[9]。由XTM标记的主题图是XML文件,称为XTM主题图,可开放地标记叙词表和语义网络。
XTM基本组成单元是主题及其关系。 每个主题代表具体实体或概念对象,可出现在信息资源中(被描述、讨论或提及)。XTM 描述主题的语法结构如下:
Topic(主题)
ID:唯一确认名
baseName:基准名称
InstanceOf:所属主题类别
occurences:该主题出现的信息资源
variant names:其它名称
例:
<topic id="hamlet">
<instanceOf><topicRef xlink:href="# play"/ ></instanceOf>
<baseName><baseNameString>Hamlet,Prince of Denmark </baseNameString>
</baseName>
<occurrence>
<instanceOf>
<topicRef xlink:href= "# plain-text-format"/>
</instanceOf>
<resorceRef
xlink:href= "ftp://www/abc.org/pub/lws2610.txt"/>
</occurrence>
</topic>
XTM用association描述主题间关系,将确定其所属关系类别(instanceOf)、这种关系所关联的主题成员(members)、各个主题成员在关系中的角色(roleSpec)。关系类别本身也作为主题概念在主题图中定义。例如,莎士比亚(主题成员)作为作者(角色)与名为哈姆雷特(主题成员)的戏剧(角色)间具有“写作”(written-by)关系。这个关系的XTM范例如下所示。
<association>
<instanceOf><topicRef xlink:href= "# writtenby"/ ></instanceOf>
<member>
<roleSpec><topicRef xlink:href="# author"/></roleSpec>
<topicRef xlink:href="# shakespeare"/>
</member>
<member>
<roleSpec><topicRef xlink:href="# work"/></roleSpec>
<topicRef xlink:href="# hamlet"/>
</member>
</association>
从XTM角度, 主题概念及其关系独立于它们在任何具体信息资源中的实际出现情况,而且同一组主题概念可用来标引(链接)不同资源集合,同一资源集合也可被不同主题概念集加以描述和链接,同一主题领域也可用不同主题概念集描述。为明确主题概念在描述具体资源时的实际含义,必须规定其范围定义(scope note),因为概念名称、标引、关联关系等的赋值都只在一定范围内有效。XTM通过主题指示符(subjectIndicator)来注明主题词的范围定义。主题指示符可指向主题所属的特定概念类别的定义,也可指向主题所属的一个公共概念集中的概念类别定义,实际上通常都是指向定义文件URL,例如:
<subjectIndicatorRef xlink:href="http://www.shakespeare.org/plays.html"/></instance Of>
<subjectIndicatorRef
xlink:href="http://www.iptc.org/NewsML/topicsets/topictype.xml#TopicTypes.Person"/>
XTM还初步规定了对主题或主题图合并处理的方法。 如果具备以下条件,两个词汇被认为描述了同一概念:①两者具有一个或多个相同的主题指示符;②两者具体代表了同一个可描述主题概念;③两者在同一范围定义中有相同的基准名称。这时两个主题可以合并。两主题图合并则必须遵循更为复杂的规则,如相等原则、等价原则、变形处理规则、合并处理规则和重复处理规则等。
4 Zthes(Z39.50 Profile for Thesaurus Navigation)
Zthes建立了一个用以表示和检索词表的抽象模型, 并指明如何使用Z39.50协议来实现该模型[10]。Zthes 将一个词表定义为一个内部词互联的词表数据库,每个词(包括非规范词)均作为一条记录,通过唯一标识符来标识,并通过唯一标识符来实现词语链接和搜索。 Zthes记录结构如表2所示。
表2 Zthes记录结构
注:上表中并发值意义为:1,必须且不重复;1+,必须且可重复;[0,1],可选且不重复;0+,可选且可重复,下同。
Zthes的Postings 子记录指向词汇在某个目标数据库(例如文摘数据库)中出现频率的记录,其结构如表3所示, 如果要表示一个词汇分别在目标数据库多个字段的出现频率,应使用多个具有相同sourceDb值的子记录:
Zthes的Relation子记录指向与该词相关的另一词汇记录,如表4所示:
Zthes要求上述方式构造的叙词表能作为数据库支持Z39.50 检索服务,例如通过termid、termName和termQualifier (作为限制参数)进行检索, 还应能锁定特定记录作为起始点来进行浏览, 或查找与指定termid有特定关系的记录(例如对下位词的检索)。除此以外, Zthes要求客户端和服务器端支持Z39.50V3。
5 概念集标记语言
所谓概念集(Ontologies),指特定领域公认的关于该领域的对象(实际对象和逻辑对象)及其关系的概念化表述,包含以下部分:①本领域对象类的层级体系;②对象类的属性及属性取值限制;③语义关系体系,即对象类间逻辑关系体系;④关于对象类及语义关系的推理规则。概念集通过一个标记语言标记后成为显性知识,可在信息系统中表征和交换知识,并可被代理系统自动解析和识别。
概念集定义语言一般基于通用逻辑语言(如-阶谓词逻辑),至少提供以下语言工具:①概念集语言的版本、名称域、引入概念集、本身描述性元数据等的定义语句和语法形式;②概念类的定义语句和语法形式;③概念类属性的定义语句和语法形式;④概念集顶层概念类及其属性(下层概念集可用这些类来定义其概念类及属性);⑤概念集文件的封装方式。
概念集标记语言对概念集的定义分为两个部分,一是对概念集结构进行定义和标记,二是在此基础上实际定义概念和概念间相互关系。例如Ontology Interchange Language(OIL)[11]将概念集结构定义为概念集封装层和概念集定义两部分,其中封装层直接引用Dublin Core的15个元素来描述概念集本身的作者、发表时间、覆盖领域、版权声明等,而概念集定义部分包含类定义、属性(OIL称之为slot)定义、 定理(axioms)定义及实例定义(Instance-of),分别举例如下:
例:类定义
Class_def
Subclass_of
Solt-constraint
Value type
Has value
Has filler
Cardinality
Max cardinality
Min cardinality
例:属性定义
Slot_def
Subslot_of
Domain
Range
Inverse
Properties
Transitive
Symmetric
Functional
例:定理定义
Disjoint(c1 c2…cn)
Covered c1 by c2…cn
Disjoint_covered c1 by c2…cn
Equivalent(c1 c2)
概念集定义语言往往采用XML/RDF语言。为表达复杂语义关系,W3C定义了RDFS(RDF Schema),它可看成是一个顶层概念集定义语言,通过subClassOf定义类层级关系、subPropertyOf定义属性层级关系、range定义概念类取值范围、domain定义概念类应用对象。RDFS语言较简单,尤其缺乏对复杂的类组合、类或属性限定、推理定理的定义工具,难以直接作为可供复杂推理的概念集语言。但它可作为顶层概念集,被引用到下层概念集中来定义它们的概念类(作为RDFS概念类的子类)和语言工具。
例如,在DARPA Agent Markup Language(DAML)中有如下定义范例[12]:
<daml:Class rdf:ID="Male">
<rdfs:subClassOf rdf:Resource="# Animal"/>
</daml:Class>
<daml:Class rdf:ID="Female">
<rdfs:subClassOf rdf:Resource="# Animal"/>
<daml:disjointWith rdf:Resource="# Male"/>
</daml:Class>
<daml:Class rdf:ID="Man">
<rdfs:subClassOf rdf:Resource="# Person"/>
<rdfs:subClassOf rdf:Resource="# Male"/>
</daml:Class>
<daml:Class rdf:ID="Person">
<rdfs:subClassOf rdf:Resource="# Animal"/>
<rdfs:subClassOf>
<daml:Restriction>
<daml:onProperty rdf:Resource="# hasParent"/>
<daml:toClass rdf:Resource="# Person"/>
</daml:toClass rdf:Resource="# Person"/>
</daml:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<daml:Restriction daml:Cardinality="1">
<daml:onProperty rdf:Resource="# hasFather"/>
</daml:Restriction>
<rdfs:subclassOf>
</daml:Class>
另外,任何领域中可能用到多个概念集,它们都可能交叉涉及多个对象及相应元数据。例如在高教领域,需要关于学校结构、教学科研、资源等多个概念集,它们都将涉及文献、人员、课程、项目、机构、设施等。由于概念集间在逻辑和应用上相互联系,可通过概念继承关系、语义关系和引用关系来复用有关定义,提高概念集定义与标记效率。可采取的措施包括:①建立概念集层级体系,下层概念集继承上层概念集概念类;②建立概念集引进机制,一个概念集可复用另一概念集或其部分;③建立元数据引入机制,一个概念集可引入某个元数据格式作为自己的概念类或特定概念类的属性集。