摘要:本文针对数字图书馆领域的特点,提出了一种实现数字图书馆Web集成信息检索及知识库的建立管理机制,以RDF作为信息和知识的表示模型,采用中介器和包装器框架来实现对异构数据源的集成信息检索,并在此基础上建立基于RDF的知识库,实现全局查询,在知识服务方面做了初步的实现。最后,本文介绍了基于该机制实现的一个原型系统,并以此原型系统为例,分析了系统性能。
关键词:数字图书馆;Web集成信息检索;RDF;说明式查询语言
0引言
数字图书馆是海量电子资源的集合,它所提供的功能涵盖并远远超过了传统的数据库、信息检索系统。数字图书馆已经成为世界范围内、日益重要的基于Web的应用框架体系。其基本目的是实现信息的集成共享,给用户提供统一资源查询服务,保障数字资源的最大可用性、系统之间的互操作性和集成性。
但是,如果数字图书馆像现有的Web一样仅仅提供简单的信息浏览功能,则同样会让用户陷入“信息过载”的困境,不能共享经验知识,无法满足用户对信息、知识的需求。因此,需要针对数字图书馆异构信息源的特点,采取一种适用的集成信息检索框架,同时要求系统能够积累交互运行中的知识,建立知识库,从而给用户提供智能的、主动的、动态的知识服务。
1RDF查询语言——RQuery
RDF查询语言RQuery与XML相比,RDF支持语义信息,然后,XML的设计动机是关心文档的结构,目的在于提供多元的文檔表示结构,关注的焦点不是文档中数据所代表的语义信息。通过比较得知,RDF查询语言可以根据实际需要,使用多元的机制,同时可以定制应用领域内资源、语义信息、知识的表达规则。因此,采用RDF查询语言作为信息表示标准,更方便实现数字图书馆领域异构、半结构化数据源IIR的语义相互操作。
RQuery的作用有两个,实现对RDF数据和RDFS的查询,为了给用户提供超出普通信息查询更多的知识,系统将上述查询方法结合起来。
设计的RQuery解析器是一个简单的语法分析器,针对RQuery的上下文无关文法的特点,采用了自上而下的语法分析方法。顾名思义,自上而下就是从文法的开始符号出发,向下推导,推出句子。其主旨是:对任何输入串,试图用一切可能的办法,从文法开始符号(根节点)出发,为输入串获取确定的最左推导。
提出的RDF查询语言RQuery,是一种融合了谓词逻辑的说明式查询语言,它的设计基于数字图书馆IIR需求,与其它RDF查询语言相比,具有如下特点:支持语义映射、可逻辑解析、模式查询和数据查询相融合。
2数字图书馆集成信息检索框架
基于中介器,包装器的数字图书馆集成信息检索(DLIIR)系统结构如图1所示。系统采用RDF作为中间信息表示规范:即系统各组件间交换的数据皆为符合RDF规范和RDFS定义的信息。因此组件之间以计算机可理解的语义信息进行通讯,提高了处理信息的效率和准确度,适合海量数据的查询。
DLIIR系统包含用户接口和中介器2个模块:包装器生成组件(WrapperDispatcher,WD):包装器(Wrapper);知识获取器(KnowledgeAcquireAgent,KAA):知识库搜索器(KBSearchAgent,KBSA)。它们彼此通信,相互协作,共同完成检索功能。同时,在DLIIR系统中增加了RDF知识库。RDF知识库包含一个知识获取(KAA)组件,将来自中介器的RDF文档转换成RDF知识库中的记录。
3组件间通讯规则
DLIIR系统包含若干个共同协作、彼此独立的单元模块,这样的目的在于增加系统的可扩展性。为了进一步实现组件之间的通讯和数据交换,提高系统性能、查询准确率以及工作效率。整个系统的数据流如图2所示。
采用RDF作为统一的数据格式,完成彼此的数据交换和通信,协同工作,从而实现整个系统的功能,为用户提供查询服务。
4用户接口Agent
用户接口Agent的主要功能是协助用户明确、细化查询请求。同时,将MA返回的查询结果以友好、清晰的格式显示给用户。
UIA的功能包括:①协助用户明确、细化查询请求,将查询请求提交给MA;②接收MA返回的查询结果,以普通HTML页面形式将结果显示给用户;③为用户提供查询RDF知识库的导航服务。UIA主要和MA进行通信,完成和用户交互的功能,这就是主体和其它主体协作共同实现系统功能的过程。从主体的运行周期来看,UIA的状态周期如图3所示。
DLIIR系统中,主体之间的通信数据均以RDF表示,MA接收到该消息之后,把该查询请求转换成RQuel查询语句。DLIIR提供给用户基于Web的查询界面,当用户提交查询请求时,激活UIA,开始响应用户的请求。DLIIR给用户提供了两种查询方式:基于关键词的查询和基于语义的查询。基于语义的查询仅仅限于对RDF知识库进行查询,由于知识库中存放的是经过处理的、以RDF格式表示的知识,它们之间存在可处理的语义关联,可以根据语义联系查找用户所需要的信息。
5中介器的实现机制
中介器依靠包装器完成信息集成。在DLIIR系统中,中介器(MediatorAgent,MA)需要和其它五种组件通信,协调各个组件彼此协作,共同完成查询任务。从MA的内部结果来看,MA就是一个查询映射、结果集成的模块。
DLIIR系统中,所有组件之间传递的信息均以RDF格式表示,采用提出的RQuery来实现对这些数据的查询。在MA中,对查询请求的转换,其实质就是将RDF格式描述的查询请求,转换成RQuery语句。
为了更清楚地给用户提供查询结果,往往需要HTML文档具有一定的格式,如不同数据以不同颜色显示,采用表格、链接给用户提供更友好的界面等。此外,考虑到系统的灵活性,便于将来修改结果显示的形式,在设立了一个系统文件——显示模式(DisplaySchema)文档。MA在进行查询结果到转换时,根据提前定义的显示模式,将RDF文档转换成具有一定格式的HTML文档,然后提交给UIA,以供在用户端的Web浏览器上显示。
6包装器自动构造及知识库框架
包装器(Wrapper)具体工作流程如下:首先该Wrapper将全局查询请求转换成对该数据源进行检索的命令格式,按照接口协议和数据源通信,获得检索结果。然后该包装器将结果遵循全局RDFSchema构造成RDF文档,返回给MA。完成此次查询任务后,Wrapper进入空闲状态,等待下次检索任务。
DLIIR中的RDF知识库以关系数据库形式存储的知识记录,采用两个组件实现对关系数据库的操作:知识获取器和知识库搜索器。图4给出了RDF知識库的框架结构。
以RDF图模型表示的知识按照类和属性的关系,以关系型数据库格式存储在MicrosonSQLServer数据库中。因此,KAA和KBSA组件需要更新、访问关系数据库,实现对知识库的维护和查询。这个过程涉及到RDF的解析与RDF图的恢复。
7性能评估
传统的应用程序往往由程序员手工为每个信息源编制包装器代码,采用包装器自动生成机制避免了程序员手工编写代码。传统方式中手工开发包装器代码耗费的开发代价最大,而DLIIR中建立数据源接口描述文档的开发代价远远小于它。
DLIIR系统在实现对异构数据源检索的基础上,同时从检索结果中获取知识,构造了以RDF进行知识表示的知识库。利用本文提出的RQuery语言对知识库进行检索。因此,衡量DLIIR系统的知识库检索性能(P-RKBIR)也就是衡量RQuery语言的检索性能。采用知识库检索时间作为P_RKBIR的衡量标准。
在数据量很小时(10万条记录以下),数据量的变化对查询时间的影Ⅱ向无法衡量出来,查询时间相等。在数据量在百万级别以上时,才体现出查询时间随着数据量的增大而增加的趋势。此外,查询时间与记录数是线性关系的。
基于结果,DLIIR系统符合设计要求,满足了对数字图书馆领域异构数据源集成检索的需要,而系统的RDF知识库通过设计的专用查询语言RQuery进行检索时性能良好。
8结论
数字图书馆已经成为国家信息化水平的标志,是社会信息知识共享的框架平台。因此,实现对该领域内异构信息源的互操作,给用户提供智能的、主动的知识服务是数字图书馆的发展方向。本文提出了一种实现异构信息源集成信息检索的互操作框架,并对知识库的建立和检索进行了初步研究。