一种异步本体系统的实现框架.docx
- 文档编号:30316042
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:8
- 大小:20.05KB
一种异步本体系统的实现框架.docx
《一种异步本体系统的实现框架.docx》由会员分享,可在线阅读,更多相关《一种异步本体系统的实现框架.docx(8页珍藏版)》请在冰豆网上搜索。
一种异步本体系统的实现框架
一种异步本体系统的实现框架
?
す丶?
词:
Ajax;语义检索;本体存储;本体―关系数据映射
Frameworkofasynchronousontologysystem
CHENYao-?
Bqing,XUEJian-?
Bwu,CUIXuan
(CollegeofManagement,NorthwesternPolytechnicalUniversity,Xi’an710072,China)
Abstract:
Outlinedaframeworkfordevelopingsemanticsystembyemployingasynchronouscommunicationtechnology.Basedonthemainpartsasutilizationsemanticretrie-val,ontologystorageandOnto-RDBmapping,thisframeworkincludedaresolutionofasynchronouscommunicationbyapplyingAjaxtocopewithretrievalkernel,describedaframeworkofsemanticretrie-valalongwithanoperationalprocedure,andpresentedacompositesolutionofontologystoragereferstobothfilesystemandrelationaldatabasebybuildingarelativemapbetweenthem.
Keywords:
Ajax;semanticretrieval;ontologystorage;Onto-RDBmapping
?
オ?
基于本体理论的智能系统被认为是一种能有效实现语义检索的方案。
本文介绍一种异步本体系统实现框架,立足于本体系统的必要模块设计,引入Ajax技术来处理客户端与服务器的异步交互,旨在探索一种异步本体系统结构。
1本体系统与Ajax综述
1.1本体系统
基于本体论的信息处理系统是基于知识和语义上的匹配,在查准率和查全率上有更好的保证[1]。
该系统在构建和开发过程中需要通过两个必要过程来达到上述目标:
a)本体库构建和维护。
本文关注的主要问题是本体生成、存储和维护,目的在于实现本体系统运行过程中本体的添加和管理维护,涉及OWL本体描述代码生成、Onto-RDB映射和RDB(relationaldatabase)数据存储等问题。
b)智能语义检索。
用户对信息需求的认识通常是模糊的,需要设计一种方法来获取、加工用户的检索请求,通过智能检索引擎来查询数据库,并将检索结果进行逆向语义处理返回至用户界面。
目前,国外著名的本体系统有:
WordNet,基于心理学和语言学规则的英文词典,由PrincetonUniversity的GeorgeA.Miller教授负责开发研制;FrameNet,一个英语词典工具,包含了词典构建工具和在线的语义资源及语言技术应用软件,由美国加州伯克利分校的InternationalComputerScienceInstitute开发;Mikrokosmos,一种支持多语种的机器翻译系统,由新墨西哥州立大学的计算研究实验室开发[1]。
除此之外,还有包括SENSUS、OntoSeek、Cyc和HowNet等几个较知名的本体系统。
然而国内,截止目前还没有类似本体系统投入运行使用的报道。
1.2Ajax技术在本体智能系统中的应用
Ajax技术最早于2005年2月由AdaptivePath公司的JesseJamesGarrett提出,狭义上可解释为AsynchronousJavaScript+XML(异步JavaScript+XML)的缩写[2]。
目前,该技术在电子商务等网站业务中已充分证实其在用户体验和系统性能方面的优越性。
Ajax最显著的技术特点是采用异步传输技术实现页面信息的无刷新更新。
目前,基于B/S模式的Web应用具备易部署、易更新等诸多优点,但随着用户需求的不断提升,B/S模式出现三个无法回避的问题:
处理完用户请求之外须承担视图层处理任务,即绘制生成用于显示结果集的用户界面;除传递响应的结果集数据包外,需要将用户界面的绘制信息传递给客户端;很难达到桌面应用软件(如MSWord)等的“胖客户端”使用效果。
上述B/S模式的三个不足可以由Ajax技术来弥补[3],这一点已经被国内外众多Web应用实例证实。
国外较著名的应用如GoogleMap、AmazonDiamondRetrieval;国内著名的如163邮件系统等。
在本体系统领域,包括国外已投入运行和国内概念原型系统研究,都很少有公开发表的文献来系统阐述Ajax技术应用到本体系统中。
根据Ajax技术对Web应用程序已证实的性能和功能上的改善,理论上同理可以将该技术引入到B/S模式的本体系统中,用于提升用户体验和系统性能。
2Ajax本体系统模型
2.1异步本体系统设计要求
引入Ajax技术后的本体系统,在功能设计上有如下几个要求:
a)对本体存储文件的可操作性,Ajax技术遵循W3C的XML数据传输规范,故对用XML编写的RDF、OWL等文件理论上都有很好的操作性,该特点可应用到本体数据存储的设计中;b)语义检索引擎的Ajax接口设计,在用户界面和检索引擎之间Ajax需要完成请求参数的封装与检索结果的封装,充当两者的桥接作用;c)纯文本(plaintext)传递,在客户端和服务器间传递的数据只包含请求参数或结果集数据;d)更丰富的用户体验。
基于上述设计目标,融入Ajax技术框架获得异步传输的本体系统模型。
2.2系统模块结构的划分
该系统的顶层模块可划分为语义本体数据的维护和提取两大部分,涉及的逻辑层包括Ajax视图层、Ajax异步通信层、服务器端应用程序接口和本体数据存储层(图1)四个层次。
其中异步通信层是本文研究的核心,语义检索引擎和本体存储也需要根据Ajax的技术作结构方面的辅助设计。
异步传输机制的解决方案采用的是客户端与服务器端之间新增的异步通信层,通过该层融入Ajax技术可以有效地以异步模式实现前台界面与后台引擎间的交互;服务器端的语义检索引擎和本体构建组件具备了平台无关性,开发过程中可以任意选择Java、.NET、Php或Ruby等中的一种;数据存储方案采用的是文件系统和关系数据库系统复合的映射模式。
该模型主要关注系统核心的交互过程,本身具有普遍的平台适应性,故暂不考虑相关的底层网络通信和操作系统等因素。
3Ajax本体系统实现方法
根据异步本体系统的要求设计的系统模型(图1)定义了系统顶层模块结构,在此基础上结合异步传输和语义检索引擎的设计思想,设计出的核心模块实现方法综合考虑了各部分的可操作化。
3.1语义检索引擎设计
引入Ajax技术,检索引擎的接口设计需要进行两方面的调整:
一方面,用来解析Ajax请求数据包的接口组件;另一方面,语义结果集封装组件。
核心推理功能基本不变,为便于运行逻辑阐述的完整性,故一个包含异步通信接口的语义检索引擎有以下五个单元模块:
a)Ajax请求参数解析。
从检索界面获取的请求参数通过Ajax异步数据包传递,对象数据流的编码形式(XML、JSON字符串格式等)要求检索引擎通过相应的解码器获取请求对象的属性参数。
b)查询推理扩展。
本体构建的过程中预定义相关的语义推理扩展规则,该处理单元利用语义扩展规则对语义查询进行推理扩展,据此推出一组与用户的检索对象具有语义关联的语义查询条件。
c)查询映射。
以b)中获得的语义查询条件作为输入条件的一个处理单元,将一组语义查询条件映射成一组RDB的SQL语句,具体的映射规则(Onto-RDB映射规则)需要在本体构建过程中建立。
d)语义封装。
对查询结果的加工处理单元,它将从RDB中查询获取的结果根据Onto-RDB映射规则进行逆向推理,解析得出一个基于本体词汇的结果集返回。
e)Ajax数据包封装。
检索引擎返回的结果集通常是一个资源迭代器(resIterator),该迭代器以resource类的实例对象存储资源无法直接传递给Ajax回调函数,故要求一个相应的编码器来封装结果数据流。
根据上述模块和Ajax相关技术规范,可以得出语义检索引擎的一种实现模型(图2)。
图2中的过程解析如下:
以用户提交的基于本体库词汇的语义查询Qs作为查询输入条件,Ajax解码器获取并解析用户查询请求并调用查询推理模块,读取本体库中预先定义的语义推理扩展规则对Qs进行语义扩展处理:
f1(Qs)=(Q1s,Q2s,Q3s,…,Qns)
得出与Qs具有语义关联的一组语义查询条件Q1s,Q2s,Q3s,…,Qns;以此为输入,“查询映射”模块读取“Onto―RDB映射规则”获得本体与数据库的映射关系,据此进行查询语句重写处理。
f2(Q1s,Q2s,Q3s,…,Qns)=(Q1D,Q2D,Q3D,…,QnD)重写得出一组SQL语句Q1D,Q2D,Q3D,…,QnD直接提交给数据连接池来查询RDB,据此获得一组查询结果集R(Q1D),R(Q2D),R(Q3D),…,R(QnD)。
该结果集语义可读性较差,故需要调用语义封装模块来进行语义处理。
该模块读取Onto-RDB映射规则,据此关系进行逆向处理来达到语义封装的目的:
f-2(R(Q1D),R(Q2D),…,R(QnD))=
(R(Q1s),R(Q2s),…,R(Qns))
经过重写封装后获得的结果集R(Q1s),R(Q2s),…,R(Qns)由Ajax编码器组件进行XML规范的数据封装,并返回至视图层处理单元。
3.2本体存储结构
Ajax技术遵循W3C的XML数据传输规范,故对用XML编写的RDF、OWL等文件理论上都有很好的操作性[4]。
故设计一种包含文件系统和RDB系统两种存储方式的复合式存储结构,依据本体论面向对象(object-oriented)的设计思想对抽象模型与实例数据实现分离:
修改变动较小的本体抽象模型以OWL文件存储于文件系统中;操作较频繁的实例数据采用RDB方案存储于关系数据表中;以XML格式存储本体模型与实例数据的映射关系。
Ajax组件和服务器端技术分别用于操作文件系统和RDB数据。
本体存储的核心是解决Ajax操作的本体模型与RDB数据表间的映射关系(Onto-RDB映射规则)。
从概念上划分,在同一领域下,(领域)本体与RDB分别描述了抽象知识(class)与实例数据(instance),因此两者的对应关系是客观存在的:
a)本体与RDB模式描述。
本文的实现方法考虑的是基于OWLDL(OWLdescriptionlogics)描述语言的本体实现,其主要涉及类、类层次关系、公理、属性和属性公理信息[5],故一个完整的本体模型用下列关系式[6]来表示:
O=(C,P,HC,RC,RP)
其中:
C表示类;P表示属性;HC表示类层次关系;RC表示公理;Rp表示属性公理。
RDB模式的组成包括了关系数据表、列、主键和外键,故用下列关系式来表示:
R=(T,CR,Pk,Fk)
其中:
T表示数据表;CR表示列;Pk表示主键列;Fk表示外?
┘?
列。
b)本体与RDB的映射关系。
设从R到O的映射函数关系为map();RDB中的表对应为实体(entity),映射为本体中的类,则有C=map(T)。
据此推出映射关系如表1所示。
表1RDB与本体的映射关系
RDB元素本体元素函数关系式映射表示
列(CR)成员属性P=map(CR)propertyToColumn
主键(Pk)函数属性P=map(Pk)functionalPropertyToPk
外键(Fk)对象属性P=map(Fk)objectPropertyToFk
主从表间继承关系父类与子类的公理Fk=map(RC)classSubClassToFk
基于上述映射关系得出本体数据存储结构:
Onto-RDB映射规则以XML格式存储在文件系统;抽象本体模型以及相关语义推理扩展以OWL文件存储;实例数据存储于RDB数据?
┍碇小*?
3.3异步通信层
异步通信是一个实时过程,运行中只需要载入所需的数据量。
Ajax异步通信技术在Web应用中的典型实现,如Google检索的输入提示、Gmail邮件系统的“黄褪”技术、GoogleMap等。
设计实现过程如图3所示:
输入框内输入字符的变化触发onkeyup事件(如①所示),该事件调用Ajax的getSemanticSuggestion(如②所示)方法获取用户输入的检索词片断,并向Web容器服务器端组件发送异步请求(如③所示),服务器端接口组件调用语义检索引擎对本体数据进行查询推理,并将检索的结果集返回到Ajax应用(如⑤所示)显示到输入提示区。
过程③与⑤是异步通信的核心,视图层的Ajax程序逻辑与服务器端组件进行异步交互,实时更新输入提示框数据的变化。
部分通用代码在Ajax和Java的相关文献都有刊载,故仅列举核心实现。
1)客户端代码
检索词输入界面retrieve.jsp部分代码
varresponseDiv=document.getElementById("suggestion");
//输入事件触发,见一般Ajax文献通用代码
functiongetSemanticSuggestion(){…}
//回调函数处理返回提示
functioncallback(){
if(request.readyState==4){
if(request.status==200){
clearItems();//清空输入提示
//获取服务器端返回的提示结果集
vardom=request.responseXML;
varitems=dom.getElementsByTagName("item");
vartitle="";
varauthor="";
varkeywords="";
//遍历结果集写入输入提示区
for(vari=0;i result=SearchResult.nextStatement().getObject().toString();
returnmyModels.removeType(result);
}
}
从suggestion类中返回的结果集是一个按XML规范封装的字符串,可以通过Servlet将该字符串以XML数据流格式返回给1)中的callback回调函数。
以上选取了Ajax异步机制在检索接口的一种典型应用,同理,该设计模式可以应用到本体系统的其他功能应用。
Ajax技术理论上可以渗透到本体系统的整个表现层,实现用户操作的桌面化和性能的改善。
4结束语
本文在目前本体系统研究领域的相关成果以及现有的国内外已投入运行或概念原型系统的基础上,提出了一种融入异步传输技术的本体系统实现框架。
该框架立足于本体系统的数据存储和检索引擎的设计,在此基础上引入Ajax技术实现了本体系统视图层与服务器端组件的异步通信模式。
本体智能系统的实现方法没有一种固定的模式,并且尽管Ajax技术在互联网站的实际应用中充分证明其在性能和用户体验方面的改善,但在本体系统领域却尚无类似的实证数据。
本文描述的实现框架仅是对本体系统与Ajax技术融合应用的一种尝试,更多实证数据尚待进一步探索。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 异步 本体 系统 实现 框架