APP下载

P2P网络中基于语义的资源检索方案的实现

2011-05-30汪材印

关键词:检索系统本体文档

汪材印,崔 琳,李 鸿,3

(1.宿州学院 机械与电子工程学院, 江苏 宿州 234000;2.宿州学院 信息工程学院, 江苏 宿州 234000;3.中国矿业大学 计算机科学与技术系,江苏 徐州 221008)

近年来,对等网络(peer-to-peer network,P2P)的迅速发展受到人们的普遍关注.P2P系统主要用于信息共享领域, 查询与存取操作是其最基本的操作.国内外各科研机构以及大学对P2P网络的资源检索技术进行了大量的研究,主要包括中心式P2P网、结构化以及非结构化检索技术.结构化的P2P网络能够提高查询效率、减少网络拥塞,从而提高网络性能.传统的结构化P2P网络一般采用分布式哈希表(distributed hash table, DHT)建立P2P 网络拓扑结构,但是使用DHT 技术,经过散列算法之后,破坏了节点原有的一些层次和语义信息,DHT方法在处理查询时,一般采用精确匹配方式,不能支持复杂查询.同时,在节点数据分布集中时,传统的DHT 方法不能很好地处理负载的均衡.另外,DHT 方法存在路由效率的问题,CAN 的路由效率相对较低,在低维的情况下,其节点的维护开销较小,Chord、Tapestry和Pastry有着较高的路由效率,但节点的维护开销较大,在负载较重的动态情况下,存在路由颠簸问题[1].

为解决上述问题,本文借鉴语义覆盖网(semantic overlay network,SON)的思想[2],在P2P物理网络基础上构建了一个本体推理服务器层,传统的服务器上保存着资源的所有内容,用户的一切需求都需要和服务器发生交互,而本体推理服务器只保存有推理机所需要的本体和对等组的一些信息,当用户需要检索时,首先向本体推理服务器提交检索关键词,本体服务器根据本体进行推理,得到语义扩展后的检索关键词,从而支持语义复杂查询.

1 语义Web理论

2000年12月,在XML 2000大会上,Tim Berners-Lee正式提出了语义Web的概念,并专门解释了“语义”和“Web”两个词的含义:在Web背后是可导航空间的思想,用URI(统一资源标识符)映射到资源上,语义Web的目标是使Web上的信息具有计算机可理解的语义[3].有关语义Web的介绍详见参考文献[4].

2 系统设计

2.1 系统的总体结构

针对计算机学科类资源检索的需要,为实现P2P环境下基于语义扩展的计算机类资源的共享和检索.应用P2P技术和语义Web技术,所设计的系统的总体结构如图1所示.

系统的总体结构主要分为两部分:

1)本体推理服务器端:只保存推理机所需的本体库和对等组的一些信息,当用户需要检索时,首先向本体推理服务器提交检索关键词,本体服务器依据本体进行推理,得到扩展后的检索关键词返回给peer端.

2)Peer端:存放共享资源和内容广告,用户需要下载资源时,首先把检索关键词发送给本体推理服务器,服务器返回扩展后的关键词,在Peer端以这些关键词检索P2P网络的所有Peer端,并把检索结果显示出来,供用户下载.用户实际是从相应的Peer端上下载资源的,本体推理服务器仅仅起到推理的作用,无需大量的存储空间和带宽,有效地克服了C/S结构中由服务器带来的性能瓶颈.

2.2 系统详细结构

由系统的总体架构设计出系统详细功能模块如图2所示.

图1 系统总体结构 图2 系统的详细功能模块

3 本体文件的建立

构建良好的本体是本文研究的基础.本体的描述语言有许多种,本系统选择OWL语言描述本体,构建本体时采用专业化的本体构建工具Protégé.

3.1 计算机专业领域本体的设计

将现有的计算机领域分成7类:Computer science and technology based subjects(计算机科学技术基础学科)、Computer Software(计算机软件)、Computer Application(计算机应用)、 Computer Architecture(计算机系统结构)、Artificial Intelligence(人工智能)、 Computer engineering(计算机工程)、Computer science and technology other subjects (计算机科学技术其它学科).

每个大类包含许多个小的分类,每一个小的分类又包含许多个不同的子类,如Computer Software(计算机软件)下可以分为Software Theory(软件理论)、Operating systems and operating environments(操作系统与操作环境)、Program Design and language(程序设计及其语言)、Compiler System(编译系统)、Database(数据库)、Software Engineering(软件工程)以及the other subjects of Computer Software(计算机软件其他学科)七个子类.

定义英语分类的同时,还定义了与英文分类相对应的中文分类,以便在搜索英文时,还可以搜索到中文,为表示中英文词汇的对应关系,将中英文词汇用owl:sameas建立了同义的映射关系,借助于这种同义关系就可以实现扩展词义.例如英文“Database”与中文“数据库”之间的同义就可以用owl:sameas映射表示.

3.2 共享文档的本体设计

为更好地描述各Peer端文档资源,定义了本体Doct,资源的DocTitle、DocPublisher、DocKeywords等作为Doct的Datatype Properties;资源的类别(category)作为其Object Properties,它与所构建的计算机学科类本体文件中的学科分类相对应.

将每一个对等端的共享文件都创建为Doct实例,即OWL语言中的对象Individual,对应的部分程序代码如下所示:

Individual ind=ontClass.createindividual();

DatatypeProperty dtp=ontModel.getDatatypeProperty

(“http://211.86.138.5/wang.owl #DocKeywords”);

ind.addProPetery(dtp,”数据库”);

4 系统推理功能实现

系统的推理实现采用Jena的OWL推理机,其推理主要涉及同义词汇(owl:sameas)和下位词汇(rdfs:subClassof)的扩展检索.OWL语言中,rdfs:subClassof、owl:sameas都有传递性,如果,,那么就可以得到.即M1和M3关系要借助于Jena推理机才能得出.

推理结果需要调用InfModel类提供的liststatements方法,例如:

Resource wangRes=InfModel.getResource(“http://211.86.138.5/wang.owl #数据库”);

Resource res=null;

StmtIterator sti=infModel.liststatements(res, owl:subClassof, wangRes);

变量sti迭代了“数据库”包含的所有子类资源陈述,通过遍历sti就可以得到符合这个三元组关系的陈述.将Rdfs:subClassof替换为OWL:sameAs,同样可以得到每个词汇的同义词汇.

5 实验结果及分析

5.1 实验环境

系统硬件环境中,利用了10台PC机,每台机器虚拟两个对等点,所有机器通过HUB互连,当节点上线或下线时系统都能及时发现并更新成员列表,同时完成文件索引信息的转移.每个节点所共享资源的文件索引信息将按照规则存放在本体推理服务器上,检索文件时首先获得文件的索引信息,然后与资源的所有者建立联系,完成资源的共享.

整个实验环境是在JXTA下运行的,首先要执行JXTA Shell命令配置JXTA运行环境,主要配置JXTA的网络环境,包括Peer的信息、聚合点、中继点和安全配置等.

在系统登陆界面输入正确的对等组名称和密码即可登陆.登陆后即可共享资源和检索资源,用户首先把要共享的资源添加至本地共享文件列表,并通过JXTA的内容管理服务CMS(Content Management Service)共享给其它Peer端,资源文件共享界面如图3所示.

图3 资源文件发布界面

5.2 实验分析

通常用查准率(Precision) 和查全率(Recall)衡量一个检索系统的性能.设检索出的文档数目为N,检索出的相关文档数目为Ra,所有相关文档数目为Rb,则查准率和查全率的计算方法如下[5]:

Precision=Ra/N×100%,

Recall=Ra/Rb×100%.

为检测P2P网络中基于语义的搜索方法的有效性,使用不同的关键字对本系统进行测试,采用的数据来自实验环境虚拟的10个对等点端300篇文档.对采用Ontology技术前后的检索性能进行比较, 得到的结果如表1、2所示.从实验得到的对比结果来看,由于系统在本体的基础上对检索关键字进行了语义的分析、扩展和推理,使得基于本体的P2P检索系统比传统的全文P2P检索系统有着更好的查全率与查准率.另外,发现本体的概念分类越多、关系定义得越细则结果就越精确,检索的效果就越好.因此本体的创建是语义P2P搜索成功的关键.

表1 基于语义P2P检索系统搜索结果

表2 基于全文P2P检索系统搜索结果

6 结束语

本文采用语义Web技术,把对资源信息的语义处理引入到P2P检索领域中.以创建的计算机学科类本体文件和共享文档本体为基础,在JXTA平台下,使用Jena实现了对用户所输入关键字的语义扩展检索.实验结果表明,和全文P2P检索系统搜索结果相比,语义P2P检索系统的搜索结果的查准率、查全率有很大的提高.在下一步的工作中,还需要对本体库进行细化、完善,使计算机学科类本体库和共享文档本体库更为合理;系统中共享资源的语义描述仍需人工干预,更好的的方法是通过对资源内容的挖掘,自动生成资源的描述信息.

参考文献:

[1]史庆伟,许光全,王新海.结构化P2P 网络文本检索研究[J].计算机工程,2010,36(12):43-45.

[2]Ma Jiangang.Web Services Discovery Based on Latent Semantic Approach[C]//Proc of IEEE International Conference on Web Services IEEE Press,2008.

[3]叶育鑫,欧阳丹彤.语义Web 搜索技术研究进展[J].计算机科学,2010,37(3):1-5.

[4]Berners -Lee T.Semantic Web. W3C Recommendation[EB/OL].http:/ /www.w3.org/ 2000/Talks/1206-xml2k-tbl/,2011-02-10.

[5]施雅贤,李璞,肖宝,等.面向旅游领域的语义查询扩展方法[J].计算机工程,2010,36(18):43-45.

猜你喜欢

检索系统本体文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
收录《信号处理》的检索系统及数据库
收录《信号处理》的检索系统及数据库
本刊被以下检索系统及数据库收录
本刊被以下检索系统及数据库收录
基于本体的机械产品工艺知识表示
基于RI码计算的Word复制文档鉴别
《我应该感到自豪才对》的本体性教学内容及启示
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat