基于开源软件构建数字图书馆的知识组织体系,本文主要内容关键词为:开源论文,数字图书馆论文,体系论文,组织论文,知识论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
[分类号]G250.76
1 数字图书馆知识组织体系
从目前数字图书馆的现状来看,通常关注两个焦点:数字化馆藏(Collection)与服务设施(Services)、用户(Users)与使用(Uses)。然而普遍忽视了一组重要的结构—知识组织系统,即用于对知识结构进行系统化描述、解释和说明,支持数字图书馆馆藏发展实现有序化、知识化的组织和管理的过程,进而实现知识抽取、知识发现、知识发掘、知识建模与可视化等应用[1]。从数字图书馆的发展来看,随着人类信息环境向网络平台的迁移,需要相应的语义工具实施对网络信息资源的组织,实现对网络资源的深度挖掘和智能利用,构建一个数据交换与集成、知识化利用与管理的基础环境,需要新的信息组织机制的支持[2]。因此,如何在数字图书馆结构中融入知识组织系统,是数字图书馆发展过程中的重要命题。Vipul Kashyap在The Semantic Web:The Next Generation Digital Library?[3]中图示了数字图书馆中知识组织系统的过程,如图1所示。数字图书馆中的知识组织与管理,是围绕知识组织系统,包括传统知识组织工具和网络知识组织系统来实现的,其中包括两大层面:知识组织系统本身的构建、组织、管理和维护;基于知识组织系统,描述数字资源内容的语义元数据的生成。在构建和实现上应包括几个方面:知识组织系统的构建与管理、知识组织系统的互操作、语义元数据的生成及知识组织系统的存储与管理。
图1 数字图书馆的知识组织[3]
本文将围绕以上4个结构,通过相关开源软件的介绍,对每一结构在数字图书馆知识组织过程中的功能和作用进行说明,拟对数字图书馆知识组织体系的构建提出最佳实践和应用说明。
2 知识组织系统的构建与管理
2.1 受控词表构建与管理系统
受控词表的构建与管理系统,也称为词表管理系统,其功能和任务主要包括:传统知识组织工具的构建和管理,如分类法、主题词表、叙词表、标题表等的创建、编辑、查询、更新、维护等;知识组织工具的交换与共享,如标准化的输入和输出等。早期的词表软件注重词表结构的构建和编辑功能的完善,随着网络和数字图书馆的发展,词表管理软件出现了新的发展态势:注重不同知识组织工具间的交互和互操作的支持,以从不同的层次实现信息的一致性和有序化控制;强调软件架构的开放性与集成能力,以扩展和强化知识组织工具在数字图书馆中的作用[4,5]。
Tema Tres是一款开源的、基于PHP和MySQL的Web词表管理软件。从词表结构的定义能力来看,Tema Tres构建款目数量、等级层次和交替款目的数量都没有限制,提供了款目词的范围注释、历史沿革注释和使用注释;从一致性控制能力来看,支持多种词间关系的构建,包括:等级关系(NT/BT),等同关系(UF)和相关关系(RT),并具有去重控制功能;在词表的显示方面,支持等级层次显示和字顺列表显示,并可在一屏中显示多级等级层次,具有款目词的全文检索功能和等级浏览功能;Tema Tres的数据输出能力比较突出,可以多种格式导出整个词表,包括:基于XML的Zthes,基于RDF的SKOS-CORE,基于Topic Map的XTM 1.0,支持的元数据格式包括Dublin Core和MODS; Tema Tres支持多语种界面,包括英语、法语、西班牙语、葡萄牙语、德语等。Tema Tres还开始注重不同词表互操作方面的支持,最新版本增加了对不同词表映射方面的功能。
图2 DOTEINE项目的生物学词表管理[6]
Tema Tres具有词表管理软件的基本功能,简单易用,加之出色的数据输出和多语言能力,促进了其应用的推广。西班牙DOTEINE项目[6]采用和整合了四个词表,包括生物、语言文学、法律和内容分析词表,全部利用Tema Tres对上述词表进行构建和管理,以支持项目内容中的标引、检索和组织等功能,图2所示为其中的生物学词表的部分展示,类目间的关系包括等级、等同和相关关系。英国哥伦比亚医学和环境教育研究中心、美国国会图书馆的纸本和图像部、英国UKAT项目等都利用该软件进行相关词表的构建和管理。
2.2 本体的构建管理系统
Protégé是由美国斯坦福大学开发的本体编辑器,也是基于知识的编辑器,是基于Java开发的一个开源项目,知名度很高,应用非常广泛[7];KAON是德国卡尔斯鲁厄大学开发的本体构建工具,也是基于Java的开源软件,它们都用于本体的创建、编辑、浏览和检索。由于Protégé的相关介绍文献非常多,文献[8]专门比较Protégé与KAON的功能,本文不再赘述。
3 受控词表的互操作
词表互操作是指不同类型、结构和语种词表之间的集成、整合和兼容。不同的词表在显示概念关系的强弱和对自然语言的控制程度方面各不相同,其应用和作用的范围也不同,因此在数字图书馆知识组织体系的构建过程中,往往采用不同类型、结构、语种和跨领域的多种词表,需要利用相应的软件工具来消除不同词表在语法、结构和语义方面的异构特性。目前受控词表互操作软件主要通过不同词表概念之间关联及关联关系的确定,来实现不同词表之间的集成和兼容。
THManager是一款基于Java的开源软件,它首先是一款词表管理软件,可管理、维护基于SKOS格式的词表,它在互操作方面有突出性能,本文将其归类为互操作软件进行介绍。
THManager具有实现不同词表间自动关联的构建功能,这种关联机制建立在2005年Nogueras和Zarazaga所提出的方法之上,是一种不受人工监控,在不分析语境的情况下运用的算法。它利用了一个启发式投票算法来为词表中的每个概念选择概念核心中的语义最匹配的词汇。在这个工具中,概念核心是WordNet词汇数据库。WordNet是一个大规模的英文数据库,划分名词、动词、形容词、副词为可认知的同义词,每一个词表达一个不同的概念。这些同义词集通过语义概念和词汇关系相关联。
THManager提供了一个独立功能模块,用于关联词表概念,该功能在THManager进行SKOS词表导入时执行,返回所导入的词表概念与概念核心的关联和映射关系。SKOS映射主要基于以下几种关系类型:精确匹配(map:exactMatch)、大部分匹配(map:major Match)、小部分匹配(map:minor Match),来表明两个概念间的相关程度。相关关系程度为100%时,映射为精确匹配,假设关联算法不能确立映射程度是100%,即非精确匹配的情况下,只有大于和小于两种匹配属性可用。这个算法为每个概念返回一系列可能的与词汇数据库的映射相关程度,按相关程度的高低进行从高到低的排列,相关度最高的为大部分匹配,其余的为小部分匹配。为了存储可能的相关关系,在THManger的存储管理中,SKOS映射需扩展增加一个空的节点用于记录映射的计算结果,即可靠度。此外,如想知道哪个词表中的哪个概念与概念核心中的概念相等,可利用互斥的两个关系:大部分匹配和小部分匹配。如图3所示,GEMET词表中的第340个概念alloy与Word Net的第13 751 474个概念alloy,metal的可靠度为91.0007%,而同时不相关概念也可以找到,即可靠度为8.992%[9]。
图3 SKOS映射[9]
4 语义元数据的生成
描述资源的元数据可分为形式描述和内容描述两种,其中描述资源内容的元数据,揭示了资源的学科归属、主题特征等,是资源知识组织和发现的重要依据,被称为语义元数据,语义元数据是数字图书馆按知识属性和知识特征实现知识管理和知识发现的基石。语义元数据的生成可以通过人工标引来实现,如对于学术性文献,作者在出版时自行提供关键词来揭示其内容特征;在图书馆通常由专业人员根据受控词表对文献进行标引;对于数字资源,可通过所谓的内容标签来实现对信息的语义获取。在数字图书馆环境下,面对资源的迅猛发展,单纯的手工标引无法应对海量资源的内容揭示,更无法实现及时、动态、准确地反映资源的内在特征,在这种情况下出现两种技术解决路线:一方面是利用机器实现自动或半自动抽取文献内容,以提高标引效率,应对海量资源;另一方面,利用网络协同、发挥大众力量的自助标引系统也从一定程度上提供了有效的解决方法。
4.1 关键词自动标引软件-KEA软件
KEA为新西兰数字图书馆项目研制的开源软件,用于对文献进行主题词自动标引,既可用于自由标引,也可用于基于SKOS格式的受控词表的标引。其工作流程如图4所示[10]:
图4 KEA的工作流程[10]
(1)确认候选词。首先,对文本进行连续抽词和语法处理,即过滤停用词,再根据词根工具进行分词,将切分后的单词按字母进行排序,得到待验词组(Pseudo Phrage)。例如“algorithm efficiency”,“the algorithms' efficiency”,“an efficient algorithm”和“these algorithms are very efficient”得到同一个待验词组“algorithm effici”。其次进行语义方面的处理,将该词组与受控词表进行匹配,如果受控词表定义了叙词和非叙词之间的等同关系,则以叙词替代非叙词。
(2)计算候选词的权值,包括四个指标。“TF×IDF”用于对比候选词在特定文献中出现的频次与该词的一般出现频次,以测算该词对文献主题的专指程度;“首次出现位置”计算候选词在文献中出现位置与文献总长的比例,出现在文献开始或结束部分的词相对比较重要;“词长”用于计算组成候选词组的单词个数,通过实验,一般选用的主题词长度为2个单词,而农业方面的文献多为1个单词。“节点深度”对比候选词在词表中与其它词语义关联的丰富程度以及与其它候选词的关联程度,例如一个词有一个上位词和4个相关词,则其关联深度为5,深度越高,被选为正式用词的可能性越高。
(3)构建模型。将人工标引的文献主题词作为训练集,将候选词与其进行比对,符合人工标引结果的作为正集,不符合的作为反集,通过计算的候选词权值,设计出相应的计算模型。
(4)对需标引的新文献按模型进行计算,得出标引词;对用于训练的新文献进入训练集中用于计算[11]。
目前,KEA软件已应用于基于农业叙词表(FAO's Agrovoc Thesaurus)、医学主题词表(Medical Subject Headings)和高能物理叙词表(High Energy Physics Thesaurus)的自动标引[12]。
4.2 元数据自动生成软件-libiViaMetadata软件
iVia是由美国国家科学基金资助的NSDL科学图书馆项目研制的开源软件库,由一系列软件组成,其中libiViaMetadata软件用于HTML、PDF等格式文献的描述性元数据自动抽取,该软件应用了大量的文本自动抽取和分类聚类技术,目前可自动生成以下元数据:题名、作者、出版者、载体类型、语种、关键词、分类(美国国会分类法、INFOMINE分类法)、文摘等。本文对其中语义元数据的生成进行介绍。
关键词自动分配算法从两个数据源中合并数据,生成最终的关键词,返回的关键词数量由配置文件设定。假设返回数为N=10:
①从HTML标签中提取名称为keyword,subject,dc:subject或上述这些词复数形式的数据;
②利用Keith Humphreys'关键词识别和抽取算法PhraseRate算法从文献中抽取P=2N个关键词;
③对上述两个数据源进行格式化处理如一致字符集、压缩空格、去除停用词等;
④对每个词组进行打分,出现在META标签中,加1.0分;出现在PhraseRate算法输出中的关键词,加(P+1-R)/(P+1)分,R为PhraseRate算法结果中的排序;关键词字母数为L,加L/1000000分,按得分从高到低排列;
⑤选取得分最高的N个关键词。
这种算法确保两个数据源中都出现关键词得分最高,其次是仅出现在META中的关键词,最后是仅出现在PhraseRate中的关键词。
自动分类算法利用一个两元分类器,依据分类法确定属于或不属于某一个类,包括两大步骤:训练和分类。训练处理程序每周自动进行一次,分类处理程序则由任务要求动态调用。训练过程主要是构建一个类目分类器的训练集,每一个分类标识是一个两元标识,确定属于某一个类或不属于某一个类。训练数据来自INFOMINE描述Web页全文数据的记录。每一个类分别构建自己的训练集,每一个必须有至少1000正集和负集训练例子,否则类目将被忽略,如最小的类目“文化多样性”经常会被忽略。一旦训练集建立完成,分类器就可按训练数据进行训练,得出计算模型,对新文献进行自动分类[13]。
4.3 大众标注软件-FreeTAG
大众标注(Floksonomy)是一种使用用户自由选择的关键词对网站、网页、WebBlog等数字资源的内容通过协同方式,进行分类和内容标识的行为,这些关键词一般称为标签(Tag)。该方法是大众自发的用标签对网络信息标识和共享的过程,在数字图书馆环境下,是应对海量数字资源及其迅猛增长,有效生产语义元数据的重要解决方案。与大众标注相关的开源项目非常多,如Connotea、Del.irio.us、Free TAG、Serendipity、Pligg、Scuttle等。
Free TAG是一个简单的标注和大众分类软件,可内嵌于基于MySQL+PHP的应用系统中。它允许在已知的数据库模式中创建标签,通过强壮的API接口获取和管理这些标签。除了创建和管理标签的基本功能之外,Free TAG还具有一些高级功能,例如检索最新被标注的对象;检索指定标签的相似标签;检索指定被标注对象的相似对象。这个软件的执行非常简单、透明,能适应各种平台,可作为聚类、语义挖掘等应用的前端工作程序。
大众标注的准确率一直被认为远远逊色于人工标引或基于受控词表的标引,表1为PubMed文献运用FreeTAG、分词技术和rodNet不同技术方法,利用相同标签进行同一集合文献检索的返回文献数量(Recall)对比。事实上,在专业文献领域,大众标注的检索命中量虽略低于其它方法,但仍能够达到比较高的准确率[14,15]。
5 知识组织系统的存储与管理
知识组织系统的存储与管理通常有多种模式,以传统知识组织工具来说,主要有文件系统存储管理模式,如上述提到THManager软件可对基于SKOS格式的词表文件进行管理,以及数据库存储管理模式,如上述介绍的Tema Tres使用MySQL数据库进行存储和管理。但对于本体等高级知识组织系统,文件系统模式效率低,很难适应数据量较大的情况,只适用规模比较小的本体。使用数据库模式也有相应的问题,例如,如果使用基于类的建表模式,为本体中的每个类都创建一张单独的表,表名为类名,表中的列为类的属性,每张表就是一个类,该模式结构清晰,而且最大的优点是能够高效的查询一个或一组实例的属性值。但是很难适应本体动态变化的情况,随着本体中类或者属性的变化,表结构都要随着变化;如果使用基于属性的建表模式,为本体中的每个属性创建一张单独的表,表名为属性名,每张表都只包含两个列,分别代表RDF三元组中的Subject和Object。该模式能够高效处理简单查询,原因是每个查询需要搜索的表的规模都比较小,但对于需要涉及很多属性的复杂查询,需要做很多表连接操作,效率较低。而且,在该模式中查询类的隐含实例时,需要对所有表进行扫描,查询代价非常高。
数字图书馆对高级语义工具,如本体等的存储和管理,应支持不同的描述语言如RDF(S)、DAML+OIL、OWL等,支持本体的查询语言如RQL、SquishQL、RDFQL、RDFPath、OWL-QL等[16]。
Jena是由HP实验室开发的综合系统,针对RDF数据管理提出的一个通用的系统框架,它包括了一个易于面向对象使用操作RDF的API,一个APR RDF/XML解析器,一个RDF/XML输入器,可以使用RDQL查询语言,支持DAML,有持久稳定的存储能力。Jena的存储功能包含有API的三种执行方式:
(1)存储它的数据在主要的存储器中;
(2)把数据存储到关系数据库中;
(3)用Sleepycat软件的开源的植入式数据库Berkeley DB。
Jena框架主要包括:
(1)以RDF/XML、三元组形式读写RDF;
(2)支持RDFS,OWL,DAML+OIL等本体的操作,Jena框架包含一个本体子系统(Ontology Subsystem),它提供的API允许处理基于RDF的本体数据;
(3)利用数据库保存数据,Jena允许将数据存储到硬盘中,或者是OWL文件,或者是关系数据库中;
(4)Jena提供了ARQ查询引擎,它实现SPARQL查询语言和RDQL,从而支持对模型的查询。另外,查询引擎与关系数据库相关联,这使得查询存储在关系数据库中的本体时能够达到更高的效率;
(5)Jena支持基于规则的简单推理,其推理机制支持将推理器(Inference Reasoners)导入Jena,创建模型时将推理器与模型关联以实现推理。
Jena提供的接口本质上都是Java程序,也就是Java文件经过Javac之后生成的.class文件。显然,.class文件并不能提示本体创建使用的语言。为了区别于其他的表示方法,每种本体语言都有一个自己的框架(Profile),它列出了这种语言使用的类(概念)和属性的构建方式和URI。在Jena中,框架通过参数的设置在创建时与本体模型(Ontology Model)绑定在一起。本体模型继承自Jena中的Model类。Model允许访问RDF数据集合中的陈述(Statements),OntModel对此进行了扩展,以便支持本体中的各种数据对象:类(Classes)、属性(Properties)、实例(个体,Individuals)[17]。
开源项目Sesame① 针对RDF数据管理提出一个通用的系统框架,提供了非常开放的API接口,可以很方便地集成不同的存储系统,推理引擎以及查询引擎等。德国Karlsruhe大学的开源项目KAON②(The Karlsruhe Ontology and Semantic Web Infrastructure)为语义Web提供所需的基础本体系统和相关工具,针对基于本体的上层商业应用需求提供了一个本体的存储、创建和标识的开放平台。
6 结语
开源软件的开发、共享和利用已成为全球数字图书馆研究与建设中的一项重要活动和实践内容,一些出色的开源软件,DSpace,GreenStone,My Library,SPT等成为数字图书馆构建的重要工具。如本文开篇所述,目前研究和关注的重点多为资源和服务、用户与使用,相比之下,数字图书馆的知识组织与管理的开源工具和软件还值得大力研究、推广和应用。
收稿日期:2008-08-22
收修改稿日期:2009-03-20
注释:
① http://sourceforge.net/projects/sesame/.
② http://sourceforge.net/projects/kaon/.
标签:数字图书馆论文; 元数据论文; jena论文; 软件论文; 语义分析论文; 知识体系论文; 模式匹配论文; rdf论文;