语义web服务发现的研究与实现

语义web服务发现的研究与实现

ID:36651855

大小:4.27 MB

页数:66页

时间:2019-05-13

上传者:山楂树
语义web服务发现的研究与实现_第1页
语义web服务发现的研究与实现_第2页
语义web服务发现的研究与实现_第3页
语义web服务发现的研究与实现_第4页
语义web服务发现的研究与实现_第5页
资源描述:

《语义web服务发现的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

北京工业大学硕士学位论文语义Web服务发现的研究与实现姓名:陈颖申请学位级别:硕士专业:计算机应用技术指导教师:于书举20090401 摘要l!曼曼!一曼一一一.一曼!!一一m11111曼曼Web服务是近年来新兴的Web应用方式,其发展十分迅速。随着其应用范围的扩大以及Web服务动态组合需求的提出,Web服务的发布与发现,成为Web服务应用的一个关键问题之一。传统的Web服务的发布与发现通过UDDI服务注册中心实现。然而该体系的发现过程只能基于服务描述的字符串进行关键字匹配,因此发现准确度不能令人满意。语义Web服务的出现,丰富了Web服务的描述信息,为更加准确的进行Web服务的发现提供了可能。本文主要研究语义Web服务的发现问题。首先论述了该课题的研究背景以及国内外的研究现状。其次介绍了语义Web服务的相关技术。然后给出了语义Web服务发现的框架,利用tModel扩展原有的UDDI服务注册中心,使其支持语义信息存储,并描述了服务发布与发现的流程。接下来也即本文的重点,介绍了语义Web服务发现所使用的匹配算法。本文在MassimoPaolucci提出的经典算法的基础上提出了改进的多层次匹配算法,将匹配分为类别信息匹配,文本描述匹配和输入输出匹配三层,每层通过匹配的服务作为下一层的候选服务。该算法与以往的算法相比,有以下几点改进:首先,充分利用OWL—S文件中的ServiceProfile的信息,采用逐层匹配,每一层匹配都可以缩小下一层匹配的候选服务范围,提高效率。其次,文本和输入输出匹配都引入了定量的相似度算法,其中文本匹配基于WordNet,输入输出匹配基于本体,提高了匹配的准确性。另外,在计算单词相似度及本体概念语义距离过程中采取缓存机制,提高匹配算法的速度。因此该算法具有较高的效率以及查全率和查准率。最后,本文利用开源工具对语义Web服务发现系统进行了实现,并在其基础上进行了实验,取得了预期的效果。关键词语义Web服务;本体:服务发现;服务匹配 AbstractIIIW曲ServiceisanewkindofWebapplicationrisinguprapidlytheseyears.AlongwithitsextendingfieldofapplicationandthecomingupofWebServicecompoundingdynamicly,thepublishinganddiscoveryofWebServicehasbecomeakeyissueduringtheapplicationofWebService.TraditionalkindofpublishinganddiscoveryofWebServiceisimplementedbyUDDIserviceregistrationcenter.However,thediscoveryprocesscanonlybeperformedbymatchingthekeywordoftheservicedescription,SOitsaccuracyisnotsatisfactory.TheemergenceofsemanticWebServicehasenrichedthedescribinginformationofWebServiceandgiventhepossibilitytoconductWebServicediscoveryinamorepreciseway.ThepapermainlyresearchesonthediscoveryofsemanticWebService.Firstitgivesthebackgroundstudyandthepresentresearchsituationofhomeandabroad·Second,itintroducestherelatedtechnicalsofthesemanticWebService.Then,thepaperdisclosuresthearchitectureofthesemanticWebServicediscoverysystem,whichusingtModeltoextendtheoriginalUDDIsystemtomakeitsupportthestorageofsematicinformation,anddescribestheprocessofpublishinganddiscoveryofs唧aticWebService.Thenitcomestothefocalpointofthispaper,itintroducesthematchingalgorithmusedduringthediscoveryprocessofthesemanticWebService.Thepaperputsforwardthemulti.1ayermatchingalgorithmbasedontheclassicalalgorithmbroughtupbyMassimoPaolucci.Thealgorithmdividesthematchingprocessintothreepans,categorymatching,textdescriptionmatchingand10matching.Theservicesthatpasslastmatchinglayerwillbecomethecandidateservicesofnextlayer.Comparedtotheothers,thisalgorithmhasfollowingadvantages.First,itmakesfulluseoftheServiceProfileofOWL-Sfileandintroducesmulti.1ayermatching.Eachlayerwillreducethenumberofcandidateservicesforthenextlayer,whichcanspeedupthematchingsystem.Second,itusesthesimilarityalgorithmwhichCangivethequalitativeanalysisduringthetextdescriptionandIOmatch.WhiletheformeroneisbasedonWordNetandthelatteroneisbasedonontology.Finally,itintroducesthecachingmechanismduringthematching,speeduptheprocess.Forthereasonsabove,thealgorithmhasgoodefficiency,precisionandrecall.Atlast,thepaperimplementsthesystembasedonsomeopensourcessoflwaresandcarryesoutatestonit,whichigivestheexpectedrestaltIII 北京工qp大学1=学硕十学位论文KeywordssemanticWebService;Ontology;servicediscovery;servicematchingIV 独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。.签名:隘纽日期:鱼益:主关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。(保密的论文在解密后应遵守此规定)签名:匦聋盈导师签名:日期:盆:茎 第1章绪论1.1课题研究背景和意义Web服务是近年来新兴的Web应用方式,其主要具有以下几大特点:(1)平台无关性。无论Web服务背后采用何种方式实现.只要服务提供者按照协议进行封装并部署,使用者就可以根据服务描述使用这种服务。(2)松耦合性。无论Web服务的实现发生任何变化,只要服务接口不变,那么就不会影响使用者。(3)有一套标准的开放的协议作为支持,如图1-l所示。。∽MⅣ^0景;;裟ⅢⅫ目_。。。。瑟:黧淼I。。】。。鼎篇嬲。 北京T业大学T学硕七学位论文定了要调用的服务并进行绑定的方式为静态组合;与静态组合不同,动态组合在设计阶段只需要给出需要调用的Web服务的需求信息,在服务执行时才确定具体的Web服务并进行绑定。相比之下,动态组合提供了更大的灵活性,不会发生像静态组合中出现的预先绑定的Web服务在执行时不可用的情况,可以适应随时变化的网络环境,并可以根据各种约束条件选择满足需求且最优的服务【31。例如在一个供应链的业务流程中,在订单生产方式中,生产厂商收到订单,需要根据库存向供应商订货。如果采用静态Web服务合成,则需要在流程定义中预先确定采用哪家供应商,如果供应商更换,则流程也需要修改。而对于动态合成,则只要在流程中给出所需的供应商的Web服务的约束条件,那么合成过程中就可以根据供应商提供的服务描述与用户需求的匹配程度得到最优的服务。动态绑定Web服务,需要在绑定前进行Web服务的发现。而Web服务注册中心的存在,使得动态的Web服务发现成为可能。服务提供者利用WSDL(WebServiceDescriptionLanguage)t刮描述自己的服务,并在UDDI(UniversalDescriptionDiscoveryIntegration)中进行发布。服务使用者可以在UDDI中查找需要的Web服务,并根据其WSDL文件进行动态绑定并调用,如图1.2。图卜2Web服务发布羽I发现Figurel一2PublishanddiscoveryofWebService然而,传统UDDI注册中心存储的Web服务的相关信息只是提供者,功能,类别等基本信息的字符串表示,并没有针对该服务的具体能力的语义描述。因此其服务发现过程,也是通过对服务类别或名称,或是服务的属性值等关键词进行精确匹配来实现的。由于服务缺乏语义描述,这种机制对所查找的服务不能准确描述,并且匹配准确度低下[5-101。语义Web的提出,为该问题提供了一种解决方案。语义Web最初由Bemers.Lee在2000一12一18的XML2000的会议上提出,他指出语义Web的目标是使得Web上的信息具有计算机可以理解的语义【l¨,有了语义W曲的帮助,互联网上的丰富信息不仅能被计算机显示,同时能够被计算机所理解。2 第1章绪论!III_II——皇一——————————I———曼I曼蔓!!!!!曼曼为了使信息能够被计算机所理解,引入了本体的概念。本体通过对概念的严格定义和概念之间的关系来确定概念精确含义,表示共同认可的、可共享的知识。在语义Web中,本体具有非常重要的地位,是解决语义层次上Web信息共享和交换的基础。有了本体,Web上的各种信息就可以利用OWL(ontologyweblanguage)112】【¨1语言来描述。而传统的W曲服务描述WSDL也被W曲服务本体描述语言OWL.s【14】(ontologyweblanguageforservices)所代替,OWL.S大大丰富了Web服务描述的内容,包含了Web服务的语义信息。通过引入含有语义信息的服务描述,服务的描述能力大大提高,并且Web服务发现过程从原有的基于字符串匹配转变成了基于语义的服务匹配。而通过研究语义Web服务的发现技术,提高服务发现的准确度和效率,是Web服务组合的关键问题之一。同时,可以在当前异构自治的网络环境中充分利用可用资源,准确定位可用服务,提高服务质量和效率,是SOA概念的一种良好体现。该技术的应用,有利于企业适应快速变化的电子商务环境,提高企业效率;并为跨组织工作流技术提供了一种途径【I51。1.2国内外研究现状在语义Web服务发现方面,国内外的研究主要包括:(1)美国卡内基梅隆大学的MassimoPaolucci等人提出了针对语义Web服务的输入输出进行基于语义的匹配,并在文献[16】[17】中给出了匹配算法的思想以及系统框架,同时基于文献中的研究成果,开发了开源系统Web服务匹配器OWL.S/UDDIMatchmaker。该系统基于原有的UDDI服务发现体系,采用DAML.S作为服务描述语言,该语言是OWL.S的前身。经过验证,提高了原有服务发现体系的效率,在准确度上有所提高。但该系统也存在一定缺陷,包括服务匹配度较为粗糙,造成匹配成功率较低,以及查询相应时间较长等等。(2)美国麻省理工学院的MarkKlein和美国纽约大学的ArahamBemstein提出基于过程本体论的服务发现方法【18】。通过定义过程本体来表述查询请求与web服务,同时定义一种过程查询语言(PQL)检索服务并通过把查询的过程本体与服务的过程本体进行语义匹配实现服务发现。但过程本体与WSDL之间无映射关系,需要花大量时间对服务建立索引,并且PQL解释器的性能没评估,因此服务发现的高效性不能完全保证。另外,近年来国内的一些高校和科研机构也开始了这方面的研究,包括清华,北航,中科院等等,并取得了一定的成果。1.3论文研究内容围绕语义Web服务发现问题,本文主要研究以下几方面内容:(1)扩展原有UDDI体系,使其支持语义Web服务发现。原有UDDI注册3 北京T业大学1二学硕二l二学位论文中心中的Web服务是不包含语义信息的,而本文希望仍然沿用原有UDDI体系,因此需要对其扩展,加入语义信息。(2)基于扩展UDDI的语义Web服务发现框架的研究。基于扩展UDDI,本文提出了一个可行的语义Web服务发现框架,并基于该框架提出了服务发现和发布的流程。(3)语义Web服务匹配算法的研究。该部分是实现语义Web服务匹配功能的核心。本文基于MassimoPaolucci等人的研究成果提出了改进的多层次匹配方法,该算法针对服务的类别信息,文本描述信息,输入输出信息进行了多层次匹配,提高了服务发现的效率和准确性。1.4论文组织结构本文共分为五章。第一章绪论,介绍了本文的研究背景和意义,并列举了国内外相关研究现状。第二章语义Web服务,介绍了Web服务的相关技术,包括其协议体系以及UDDI注册中心,然后引入了语义Web的概念,从下到上介绍了语义Web体系的组成部分,包括RDF,本体,OWL。最后介绍了语义Web服务,包括其描述工具OWL.S,并详细介绍了Web服务发现的关键部分ServiceProfile。第三章语义Web服务发现框架,首先分析了语义Web服务发现体系的新要求,然后探讨了如何改进系统,对原有的UDDI进行扩展以满足这些要求。包括对ServiceProfile和UDDI建立映射关系,以及如何在jUDDI中利用tModel支持这种扩展。然后给出了一个可行的语义Web的服务发现框架,并给出了服务发布与发现的流程。第四章语义Web服务匹配模块,详细讨论了语义Web服务匹配的算法。首先给出了MassimoPaolucci的经典语义算法,并分析了其不足之处。然后针对其不足提出了改进的多层次匹配算法框架,并详细介绍了每一个层次的匹配算法,包括分类信息匹配,文本描述信息匹配,IO匹配,并分析了后两者的时间复杂度。最后针对算法的查全率和查准率做了评价。第五章系统实现,详细描述了系统的实现。首先介绍了实现过程中使用的相关开源工具,然后依次给出了系统的概要设计,包括模块划分和各个子系统的类图。接着描述了系统的详细设计。最后对系统功能作以演示,包括服务发布和服务发现。4 第2章语义web服务第2章语义Web服务2.1Web服务We服务主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。其主要目标是跨平台的可互操作性。为了实现这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。因此使用WebService有许多用途,包括跨防火墙的通信,应用程序集成,B2B的集成,软件和数据重用等。2.1.1W曲服务相关技术Web服务的核心技术也就是其整套标准,如图1.1。其中,贯穿整个协议栈的基础是XML(eXtensibleMarkupLanguage),也即可扩展标记语言。通过提供-.种标准的,可扩展的数据格式,XML满足了Web服务的核心技术要求之一,即跨平台应用。协议栈的中间部分由下到上依次对应了W曲服务的通信,消息,描述,应用相关内容。其中W曲服务特有协议如下:(1)SOAP(SimpleObjectAccessProtoc01),简单对象访问协议。它提供了一种封装和交换XML消息的标准的、可扩展的组成框架。(2)WSDL(WebServiceDescriptionLanguage),W曲服务描述语言。定义了W曲服务提供者和服务请求者之间的消息交换机制。(3)w曲服务的发现和集成协议,而服务发现即本文的研究核心。在大多数情况下,服务调用者需要某种服务,但其对具体的服务提供者的存在并不知晓,因此,在调用之前就需要w曲服务的发现过程。在W3C的标准[1】中,对服务发现过程定义如图2.1。其中各步骤如下:1.a服务提供者向服务发现中心提供服务的描述1.b服务请求者向服务发现中心提出需要的服务的要求1.c服务发现中心向服务请求者返回符合条件的服务描述2~4则是服务的绑定和调用过程整个过程中,服务发现服务处于核心地位,具体实现机制不同,包括注册中心,索引署HP2P方式。本文的研究主要基于UDDI,属于注册中心方式。5 燮est=En。tyj/。?筘:『’B匙一Ⅻ·▲.爿....o⋯Ⅲm,≮/■¨。=:!=~H、卜产7-+_—}图2-1Web服务发现过程Figure2-1ThediscoveryprocessofWcbSer“ce21.2UDDIn&务注册中心UDDI全称为UniversalDescriptionDiscoveryandIntegration,即统一描述、发现和集成协议。其是一个广泛的,开放的行业计划,使得商业实体能够发布自己的Web服用供他人使用,同时发现他人提供的可用的Web服务并集成到自己的应用中。UDDI注册中心采用集中的方式存储所有的Web服务信息。用户可以利用SOAP消息机制(标准的XML/HTTP)与UDDI注册中心交互。服务提供者利用WSDL描述自己的服务,并在UDDI注册中心进行发稚。服务使用者可以在UDDI中查找需要的Web服务,并根据其WSDL文件进行动态绑定并调用【”】。UDDI体系的数据结构如图2-2。其中,一个busincssEnfity对应一个商业实体.每个实体可以发布多个Web服务。实体之间的关系用publisherAsscnion来描述。每个Web服务对应一个businessService。每个busincssServiee可以有多种绑定方式,即多个bindingTemplate。而tModel则提供一些扩展信息,将在后文详细介绍。6富 第2章语义Web服务IIIIIIII图2-2UDDI数据结构【19】Figure2.2Datas仃ucturcofUDDI[1912.1.3基于UDDI服务发现的缺陷传统UDDI注册中心存储的Web服务的相关信息只包括发布者,服务功能,类别等基本信息的字符串表示,并没有针对该服务的具体细节的描述,例如服务的输入输出信息等。因此其服务发现过程,也是通过对服务类别或名称,或是服务的属性值等关键词进行精确匹配来实现的。由于服务缺乏语义描述,这种机制对所查找的服务不能准确定位,并且匹配准确度低下‘5~101。例如用户想查找一个航班查询服务,该服务能根据输入的航班的日期,起始的地理位置,给出航班号码,基于传统的UDDI查询,用户只能查询关键字“航班查询”,UDDI则返回服务描述中包含该关键字的所有服务,但对于服务的输入输出是否满足用户要求,则需要用户自己手工选择。另外,查询结果可能存在遗漏,比如用“班次查询”来描述的服务,意思相同,但因为是关键字匹配,所以并不在查询结果中。为了弥补以上缺陷,需要引入语义Web服务。2.2语义Web当前,虽然互联网的信息在飞速增长,但是各种网页只是单纯的显示信息,却不能表示信息之间的关联,因此信息的利用存在很大程度的限制。例如在搜索引擎中搜索“苹果”,结果会将所有包含“苹果”两个字的网页列出,而不考虑其究7 北京In大学工学顿±学位论文竞描述的是水果,还是电脑的一个品牌。这是因为大部分Web上的信息是给人阅读的.机器只是能够对其显示,并不明白其中的内容和联系。语义Web就是想弥补这方面的不足,Berners.Lee在200012一18的XML2000的会议上提出了语义Web。指出语义Web的目标是使得Web上的信息具有计算机可以理解的语义,满足智能软件代理(Agent)对WWW上异构和分布信息的有效访问和检索⋯】。语义Web并不是代替传统Web,而是处于传统Web之上.传统Web仍然负责显示信息,而语义Web则为这些信息补充语义信息。在其帮助下,各种资源被人为地赋予了各种明确的语义信息,计算机可以分辨和识别这些语义信息,并对其自动进行解释、交换和处理。但是语义Web与人工智能中的语义网络是两个不同的概念.它的研究对象和所采用的方法与传统自然语言处理也是不同的.它对现有的Web进行了语义扩展.从而使其能被计算机做一定的理解和处理,从功能上看它将是一个能够“理解”人类信息的智能网络。语义Web的概念和体系结构如图2-3。在其体系结构中,第一层是Unicode和URI,它是整个语义Web的基础,Unicode(统一编码)处理资源的编码,URI(统一资源定位器)负责标识资源;第二层是XML+名空间+XML模式,用于表示数据的内容和结构:第三层是RDF+RDFschema,用于描述资源及其类型:第四层是本体词汇,用于描述各种资源之间的联系;第五层是逻辑,在下面四层的基础上进行逻辑推理操作:第六层是验证,根据逻辑陈述进行验证以得出结论;第七层是信任,在用户间建守信任关系。削2-3语义Web柴构““Figure2-3TheanhitmwofsemanticWeb【1”22lRDFRDF(ResourceDescriptionFramework),即资源描述框架,是一种描述万维网上的资源的语言,尤其用来描述Web资源的元数据.例如标题,作者,Web页的修改时间,版权以及关于Web文件的许可信息或者某共享文件的可用时间8 第2荦语义Web服务II—I—I一一III_Ill曼!曼苎曼苎曼曼曼曼!曼篡曼!曼!曼等等。然而,通过广义化Web资源的概念,RDF也可以用来表示不能直接从Web上提取,但可以识别出来的信息,例如Web用户的偏好信息。RDF的目的不仅仅是展示信息给用户看,其表示的信息需要给应用程序进行处理。RDF提供了一个表示这类信息的通用框架,这样信息可以在应用之间交换而不用担心丢失信息。RDF使用URI来标识信息,并用属性和属性值来表述资源。所以一个陈述可以用一个三元组来表示,即(资源,属性,属性值)。RDF陈述也可以用图形来表示,如图2.4,表示信息“有一个人,用http://www.w3.org/People/EM/contact#me来标识,他的名字是EricMiller,邮箱地址是em@w3.org,称谓是Dr.”。图2-4描述EricMiller的RDF图【20】Figure2-4RDFgraphdescribingEricMillert201RDF是语义Web体系中的一个重要部分。在语义Web体系中,RDF三元组用XML来表示。以上RDF用XML表示如下120】:EricMiller</contact:fullName>Dr.</contact:personalTitle></contact:Person></rdf:RDF>9 北京3-.业大学1.学硕-{:学位论文RDF提供了一种使用(资源,属性,值)来表达陈述的方法,但是RDF用户需要定义在这些陈述中用到的词汇术语,尤其是当描述特定的资源时,需要用特定的属性。例如在上文的例子中,contact:Person需要使用contact:fullName,contact:mailbox,contact:personalTitle来描述。RDF本身并不提供来定义特定应用的类和属性的手段,而是使用RDFSchema来定义。RDFSchema相当于RDF的元数据,是一个描述RDF资源的属性(Property)和类(Class)的词汇表,提供了关于这些属性和类的层次结构的语义。例如,RDFS中定义的几个主要元素如下:rdfs:Class:表示该资源属于某个类rdfs:subClassOf:表示类之间的父子关系rdfs:domain:表示一个属性的主体的类rdfs:range:表示一个属性值所属的类对于上文的RDF,其Schema中会有如下片断,表示fullName是Person的属性,其值的类型是string,而Person是一种类。</rdfiProperty>通过RDFS,信息之间具有了更丰富的联系,有助于计算机对信息的理解。2.2.2本体本体Ontology最早是一个哲学的范畴,后来随着人工智能的发展,被人工智能界给予了新的定义。由于最初人们对Ontology的理解并不完善,这些定义也处于不断的发展变化中,比较有代表性的定义如表2.1:表2—1Ontology的发展历程‘21】Table2.1HistoryofthedevelopmentofOntolgyl2l】范畴提出时间/提出人定义客观存在的一个系统的解释和说明,客观现实的一个抽哲学象本质1991/Neches等给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义计算机l993/Gruber概念模型的明确的规范说明1997’/Borst共享概念模型的形式化规范说明1998/Studer共享概念模型的明确的形式化规范说明本体通过对概念的严格定义和概念之间的关系来确定概念精确含义,表示共同认可的、可共享的知识【22】【23】,从而解决上面的问题。因此在语义Web中,10 第2素语义Web服务曼!曼曼曼!曼曼!曼!曼!皇曼皇!!苎!曼曼曼!曼曼曼!!曼!!!曼!曼!i—m.曼蔓!皇!曼!曼!曼曼曼曼曼苎曼曼!曼!曼!曼!曼!!!!曼!曼!皇!!!!皇Ontology具有非常重要的地位,是解决语义层次上w曲信息共享和交换的基础。另外,本体还包含一套推理规则,使得程序可以进行自动推理。简单地说,本体就是在不同的系统间定义一本字典或者度量表,使它们对特定领域的实体及其之间的关系达成共识,以便交流和共享【241。本体~般由特定领域的领域专家建立。Perez等人用分类法组织了Ontology,归纳出5个基本的建模元语(ModelingPrimitives):1.类(classes)或概念(concepts).指任何事务,如工作描述、功能、行为、策略和推理过程。2.关系(relations):在领域中概念之间的交互作用,形式上定义为n维笛卡儿积的子集:R:ClxC2X⋯×Cn。如子类关系(subclass.of)。在语义上关系对应于对象元组的集合。3.函数(functions):一类特殊的关系。该关系的前n—1个元素可以唯一决定第n个元素。形式化的定义为F:ClxC2x⋯xCn_】_C。。如Mother-of就是一个函数,mother-of(x,y)表示y是X的母亲。4.公理(axioms):代表永真断言,如概念乙属于概念甲的范围。5.实例(instances):代表元素。从语义上讲实例表示的就是对象。另外,从语义上讲,基本的关系共有4种,如表2.2:表2-2Ontology的关系类型Table2-2TherelationshiptypeofOntolgy关系名关系描述part·of表达概念之间部分与整体的关系。kind-of表达概念之间的继承关系,类似于面向对象中的父类与子类之间的关系。instance-of表达概念的实例与概念之间的关系,类似于面向对象中的对象和类之间的关系。attribute.of表达某个概念是另一个概念的属性。如“价格”是桌子的一个属性。在实际建模过程中,概念之间的关系不限于上面列出的4种基本关系,可以根据领域的具体情况定义相应的关系。图2.5是针对交通工具建立的本体的~部分,该例子较简单,is.a即kind—of关系,忽略了属性等其他关系。 北京工业大学T学硕士学位论文图2.5Vehicle本体Figure2-5OntogyofVehicle2.2.30、礼OWL即(W曲OntologyLanguage),即Web本体描述语言,是“语义Web远景’’的组成部分,其目标是川f25】[261(1)Web信息拥有确切的含义:(2)Web信息可被计算机理解并处理;(3)计算机可从Web上整合信息。OWL基于XML和RDF,虽然RDF也属于本体描述语言,并可以对Web文档中的属性进行表示,但是要想基于Web文档的内容进行逻辑推理,则需要更丰富的语义信息。OWL能够被用于清晰地表达词汇表中的词条的含义以及这些词条之间的关系。而这种对词条和它们之间的关系的表达即本体。OWL相对XML、RDF和RDFSchema拥有更多的机制来表达语义,从而OWL超越了RDF具备更强大的解释能力。OWL提供了三种描述能力逐渐递增的子语言,依次为OWLLite,OWLDL和OWLFull,描述能力越强,术语越丰富【21l。OWL在RDFschema的基础之上,具备更丰富的词汇。例如在属性的特征方面,OWL支持如下术语:。inverseOfi表示一个属性是另一个属性的翻转属性。。TransitiveProperty:表示属性是传递的。。SymmetricProperty:表示属性是对称的。。FunctionalPropeny:表示属性有一个值。即一个individual如果被声明为FunctionalProperty,那么对于这样的一个实例它最多只有一个值。这可以被方便的用来说明一个属性的cardinality最小为0,最大为l。。InverseFunctionalProperty:表示该属性的翻转属性是functional的,也就是说该属性的翻转属性的每个individual最多只有一个值。另外还包括属性值限制,类关系,集势等多种类型术语。12 第2章语义Web服务!I—I一一I曼曼!!IIIIIIIII鼍!!!曼蔓通过OWL,本体就可以使用XML来描述,如2.3.2中的Vehicle本体就可以通过如下XML文本描述:</rdfs:subClassOf></owl:Class></rdfs:subClassO今</owl:Class></rdfs:subClassOf></owl:Class></rdfs:subClassOf></owl:Class></owl:Class></owl:ObjectProperty></rd£RDF>2.3语义web服务 北京工业大学工学硕士学位论文语义Web即传统Web服务与语义Web的结合。随着语义Web的发展,作为Web资源的重要组成部分之一,Web服务也加入了语义内容。为了利用Web服务,必须对其进行定位,而传统的Web服务查找是基于关键字的,查找效率较低。通过对Web服务引入语义描述,大大增加了Web服务的描述能力和机器理解力。通过对Web服务定义一个通用的本体,其中包括一些基础的类和属性等等,Web服务描述具备了语义内容,从而机器可以从中得到更多内容,甚至进行推理等等,大大提高了Web服务描述的能力。2.3.1O、礼一SOWL.S(SemanticMarkupforWebServices),即Web服务本体描述语言。其是W3C为Web服务专门定义的本体,丰富了Web服务描述的语义信息。OWL.S具有以下三项主要任务:(1)自动服务发现;(2)自动服务调用;(3)自动服务组合和集成。本文主要研究自动服务发现。Web服务的本体主要用来提供三项基本信息,如图2-6,其中包括:(1)服务为客户提供什么?即ServiceProfile类。其提供了服务名称,类型,输入输出等呈现给服务使用者的基本信息,是服务发布时对外提供的服务描述。通过presents属性关联到ServiceProfile类;(2)服务如何使用?即ServiceModel类。其描述了服务的流程,告诉调用者与使用服务的细节,以及出错处理等等。通过describedby属性关联到ServiceModel类;(3)如何与服务交互?即ServiceGrounding。其描述了服务的传输协议,消息传输机制等,告诉服务调用者具体的协议绑定方式。通过supports属性与ServiceGrouding类关联。图2-6Web服务本体的顶层类‘271Figure2-6ThetopclassofWebServiceOntologyl27】14 第2章语义Web服务_II_II可见,ServiceProfile是语义Web服务发现的信息来源,因此本文仅涉及ServiceProfile内容。2.3。2W曲服务发现的关键ServiceProfileServiceProfile是Web服务发现的关键内容。一方面,ServiceProfile可以供服务发布者用于描述其提供的服务,另一方面,其也可以供服务发现者描述其服务需求。这样:经过对服务发现者提出的ServiceProfile和已发布服务的ServiceProfile进行匹配,即可以找到所需要的服务。而ServiceProfile的具体属性和值即匹配的主要内容。ServiceProfile具有子类Profile,用于具体描述服务。Profile类提供了服务的三方面信息,如图2.7:提供服务的组织,服务的功能,服务的一系列其他特征(e.g.类别)。图2.7ServiceProfile【271Figure2.7ServiceProfilel271Profile提供的信息分为以下几类:(1)文本描述信息,用于提供给用户阅读,而不是给机器进行处理,具体信息包括:serviceName:服务名称textDescription:服务的简短描述。其概括描述TIJ艮.务提供什么,服务工作的前提条件,以及一些其他信息contactlnformation:提供了服务负责人的联系方式。该属性的值可能涉及到其他本体,例如FOAF,VCard(2)服务的功能信息,即服务的输入输出前提结果,包括:hasParameter:描述了服务的参数。15 北京下业大学下学硕士学位论文hasInput:服务输入hasOutput:服务输出hasPrecondition:服务执行的前提条件hasResult:服务执行的结果(3)服务特征serviceParameter:用于描述服务的一些扩展参数,例如服务质量等等。serviceCategory-用于描述服务所属类别另外还有两个属性用于描述服务类别,但其与serviceCategory不同的是serviceCategory是用NAICS或UNSPSC等标准分类体系中的字符串来表示的。而这两个属性则是用本体中的概念来表示分类的。serviceClassification:服务类别serviceProduct:服务提供的商品类别可见,在ServiceProfile类中,提供了关于服务的丰富的信息,包括名称,输入输出,类别等等,大大丰富了服务的语义信息,以及服务发现的可用信息。2.4本章小结本章首先介绍了Web服务的相关技术,包括其协议体系以及UDDI注册中心,然后引入了语义Web的概念,从下到上介绍了语义Web体系的组成部分,包括RDF,本体,OWL。最后介绍了语义Web服务,包括其描述工具OWL.S,并详细介绍了Web服务发现的关键ServiceProfile,其是语义Web服务发现的基础。16 第3章语义Web服务发现枢架第3章语义Web服务发现框架3.1语义W曲服务发现的新要求引入了语义的概念后,Web服务的发现有了新的要求,需要对原有的基于UDDI注册中心的服务发现体系进行扩展。一方面语义Web服务使用OWL-S来描述,增添了语义内容,因此在发布服务时,注册中心需要存储语义信息,这样在服务发现时才能利用这些语义信息。而原有的UDDI中并没有存储这些信息,因此需要对原有UDDI数据中心所存储的数据信息进行扩展,增加语义信息的存储。另一方面,原有UDDI注册中心在服务发现时仅仅使用关键字匹配的方法,准确率较差。当UDDI扩展后,服务发现者可以使用OWL.S中的ServiceProfile来描述包含语义信息的服务需求,然后UDDI需要将该需求与中心存储的已发布服务的ServiceProfile进行基于语义的匹配,因此,需要为原有UDDI注册中心增加一个基于语义的服务匹配模块,该模块不同于基于传统UDDI的服务发现仅仅进行关键字匹配,而要能够根据语义信息判断服务的相似度。针对UDDI的语义扩展,文献[16,28~34]给出了不同的解决方案。其中,文献[28】提出了jUDDI+系统,该系统基于开源jUDDI系统,主要用于支持语义Web服务组合,且实现起来难度较大。而文献[29]的解决方案需要用户安装客户端,不便于使用。文献【31]提出的系统不支持OWL.S的服务描述。文献[321提出了一种支持“半语义”的扩展UDDI系统。文献[33]提出了一种支持多种不同注册中心的方案。本文提出的系统主要基于Paolucci在[161130][34]qb提出的解决方案,并在其基础上进行进一步扩展并给出了可行的系统实现。3.2UDDI扩展UDDI扩展的目标是使UDDI能够存储描述语义Web服务的OWL—S的信息。因为OWL.S中用于服务发现的主要是ServiceProfile,因此只要把ServiceProfile映射到UDDI中,将存储ServicepProfile返回的ServiceKey与OWL-S文件相关联存储到一个附属的库中。扩展的UDDI结构如图3.1:17 北京工qk大学1二学硕J:学位论文曼Ill—t—一一一tt一.一:iii!!!!曼!!曼曼曼苎!曼!!曼曼皇!苎曼!!曼!!!图3-I扩展的UDDIFigure3-1TheextendedUDDI3.2.1ServiceProfile与UDDI对应关系在2.1.2和2.3.2中分别介绍了UDDI和ServiceProfile的数据结构,可以得到ServiceProfile与UDDI的映射关系如图3.2所利161。ServiceProfilese州ceNametextDescriptioncontactInformationhasParameterhaslnputhasOutputhasPreconditionhasResultserviceParameterserviceCategoryserviceClassificationse州ceProductBusinessEntityONameJOContactsobusinessKeyBusinessServiceoNameoDescriptionObusinessKeyqCategoryBag、OhasPammetertModel、?haslnput_tModel~9hasOutput_tModel、OhasPreconditiontModel、OhasResulttModel、OserviceParametertModel\OserviceCategory_tModel、0serviceClassificationtModelOserviceProducttModel图3-2UDDI与ServiceProfile的对应关系Figure3-2TherelationshipbetweenUDDIandServiceProfile18OoOoOo 第3章语义Web服务发现框架从图中可以看到,Profile中的字符串描述信息ServiceName和textDescription可以直接映射。而haslnput,hasOutput等等这类在原UDDI中没有的信息,则需要利用tModel来存储。tModel是UDDI数据结构的重要组成部分,它的主要角色是作为描述一种技术规范的机制存在。规范的设计者可以通过使用tModel注册规范的信息,以达到在一个UDDI注册中心中建立一个唯一的技术标识的目的。一旦通过这种方法注册之后,其他人就可以方便地通过在他们的技术服务描述bindingTemplate数据中增加一个相应的tModel标识符(称为tModelKey)的引用来表示提供了符合某种规范的Web服务。另外,tModel还用于表示服务的分类信息。在BusinessService的CategoryBag中,存放着一系列tModel引用的集合,用于表示服务特征。通过注册一个tModel,可以在UDDI中建立一个分类体系供别的服务发布者使用。只要在服务的CategoryBag中引用这个tModel,就表明了属于某种类别。例如图3—3定义了NAICS分类体系的tModelName:ntls—gov:nalcs:1997Key:UUSID:COB9FEl3·。179F--413D-SASB-’5004DBSE5BB2TechnicalModelDescrlptlon(s):BusinessTaxonomy:NAICS(1997Release)TblstModeldefinestheNAICSlndustryzaxonomy.OverviewURL:http://wV.uddl.org/乞axonomles/Core_Taxonomy一0vervlewDoc。htm#NAICSTechnicalModelLocater(s):Code:categorizationDe8cription:typesType:UDDITYPE图3-3NAICS分类体系的tModel定义Figure3-3tModeldefinitionofNAICScategorysystem通过在服务的CategoryBag中添加如下tModel引用,就可以声明该服务在NAICS分类体系中的类别。KeyedReferenceKeyName=NAICScodeKeyValue=5221lTModelKey=UUID:COB9FEl3--179F--413D—-8A5B·-5004DB8E5BB2ServiceProfile与OWL.S的映射,就需要利用tModel的第二种用途。将无法直接映射到UDDI数据结构中的数据利用tModel放到服务的CategoryBag中。但该方法需要由UDDI管理者在UDDI中预先发布好需要使用的tModel,例如图3—2中的haslnput_tModel,hasParameter—tModel。然后在CategoryBag中引用相应tModel即可。19 i堑三当:;萎::茎堡:茎塞墼圣32.2使用UDDl4]扩展UDDI的tModel系统使用JUDDI作为Web服务注册中心。jUDDI是Java实现的UDDI注册中心的开源包.而为了与UDDI交互,例如查询发布服务,则需要使用UDDl4j。UDDl4j也是Java实现的开源包,是用于与UDDI交互的API,遵守UDD!规范发布的API标准。为了扩展tModel,需要为系统添加新的tModel。可以使用API的SavetModel接口,代码如下(只发布了后文匹配算法中需要的心todd):VectortModels=newVectotO;TModeltModel=newTModel(””,“InputJModel”);tModelsadd(tModel);tModel2newTModel(””,”Output_TModel”);tModelsadd(tModel);TModelDetailtMd=proxy.save_tModel(token.getAuthlnfoStrin90,tModels);通过查看iUDDI的数据库.可咀看到己磐发布的tModel,如图3-4幽34jUDDI中与ServieeProfile部分参数对应的tModelFigure34TModelcorre*pondiflgto80lncofthepmmcterofSerecieProfileinjUDDI这样只要在CategoryBag中引用相应的tModel即可以声明相应参数,例如下面声明了服务的haslnput参数:KeyedReferenceKeyName=InputKeyValue=financialOntology:tickerTModelKey-‘uuid:D462D4F0-D6E3—11DD-94F0一AC410BDFBCB5’可见,通过tModel,ServiceProfile可|=上完整的映射到UDDI。323UDDI以及UDD[4j扩展为了满足在3.2中提到的扩展原有UDDI使其能够存储OWL.S文件,需要对UDDI数据库增加一个表并扩展UDDl4j的API。首先,在JUDDI数据库中添加一个表owls,其包含两个字段,即 SERVICEKEY和URL,即从servicekey映射到OWL.S文件的URL。其次,要扩展UDDl4j的API,为其增加接口Booleansave_owl(ServiceKeykey,DiscoveryURLsURL)H存储Servicekey到owl文件URL的映射DiscoveryURLsget_owl(ServiceKeykey)//根据ServiceKey得到owl—S文件的3.3W曲服务匹配模块该模块执行基于语义的服务匹配功能。模块的输入是服务请求的ServicepProfile描述和所有已发布服务的ServicepProfile描述,输出是经过匹配后筛选得到的符合要求的服务。模块的核心即服务匹配算法。因为待匹配的服务数量很大,要求该算法效率应该尽可能高,使得响应时间在用户可忍耐的范围内。具体的匹配算法将在第4章详细研究。3.4基于扩展UDDI的服务发现框架根据以上分析,得到基于扩展UDDI的服务发现框架如图3.5。整个框架包括ServiceProfile/UDDI转换器,扩展UDDI,Web服务匹配模块三部分。其中,ServiceProfile/UDDI转换器用于将ServiceProfile转换成UDDI对应的结构。扩展UDDI存储已发布服务的描述信息及其OWL—S文件。Web服务匹配模块用于在用户需求和已发布服务之间执行基于语义的匹配。W黼L-SOWLS.一∥心ServiceProfile厂UDDI转换器存储扩展UDDI发现\ServiceProfileOWL.SOⅥ凡.SWeb服务匹配模块图3-5基于扩展UDDI的服务发现框架Figure3-5WebservicediscoveryarchitecturebasedOilextendedUDDI3.4.1服务发布服务发现的前提条件是服务提供者已经进行了服务发布。服务发布的过程如21 北京1一qk大学工学硕士学位论文图3-6,用户向注册中心提交待发布服务的OWL。S文件的URL,系统得到该OWL,S文件,然后ServiceProfile/UDDI转换器将OWL—S的ServiceProfile部分转换成UDDI格式的数据存储到原有UDDI中,同时将得到的ServiceKey和原始OWL.S文件的URL映射存储到OWL.S库中。图3-6Web服务发布过程Figure3-6PublishingprocessofWebService3.4.2服务发现服务发现过程如图3.7,用户向注册中心提交所需服务的OWL.S的ServiceProfile描述,Web服务匹配模块得到该ServiceProfile,然后从扩展UDDI中读取现有服务的ServiceProfile进行匹配。匹配后返回给用户一系列最优匹配的服务的ServiceKey和匹配程度量化值以及其ServiceProfile描述,当用户最终选择了一个服务后,返回给用户该服务的OWL.S文件。22 第3章语义Web服务发现框架III图3-7.Web服务发现过程Figure3-7DiscoveryprocessofWebService3.5本章小结本章首先分析了语义Web服务发现体系的新要求,然后探讨了如何改进系统,对原有的UDDI进行扩展以满足这些要求。包括对ServiceProfile和UDDI建立映射关系,以及如何在jUDDI中利用tModel支持这种扩展。然后给出了一个可行的语义Web的服务发现框架,并给出了服务发布与发现的流程。23 第4章语义Web服务匹配本章将探讨语义Web服务发现框架中的Web服务匹配模块,该模块的核心即实现一个服务匹配算法,实现将用户给出的ServiceProfile与注册中心现有的ServiceProfile进行匹配,将得到的最优匹配的结果集返回给用户。传统的Web服务仅仅基于字符串进行关键字匹配,而语义Web服务与传统Web服务相比,其服务描述有了更多的可用信息,包括类别,输入输出等等,因此可以充分利用这些信息进行匹配,达到更高的精确度。4.1经典的语义W曲服务匹配算法及其缺陷MassimoPaolucci在文献[17】中给出了一个经典语义Web服务匹配算法。该算法对ServiceProfile的haslnput和hasOutput输入输出语义描述进行基于本体的匹配。在2.3.2中曾经介绍过,在每个服务的ServiceProfile中,都具有若干个haslnput和hasOutput,并且用本体中的类来描述,表示服务的输入输出的本体描述。例如在某汽车报价服务的Profile中,具有如下内容:即根据价格和颜色查找符合条件的SUV。参数都用本体中的概念表示。MassimoPaolucci的经典算法即主要针对这些利用本体概念描述的输入输出参数进行基于本体的匹配。算法最外层利用一个循环,将请求服务与UDDI中每个已发布服务进行匹配,当匹配成功,则将匹配度和该服务添加到匹配结果集中,最后将匹配结果按匹配度排序并返回。主循环代码如下:match(request){recordMatch=emptylist//匹配结果集置空foralladvinadvertisementsdo{ifmatch(request,adv)thenrecordMatch.append(matchValue,adv))returnsort(recordMatch);)而其中的match(request,adv)为真时,即指请求服务和待匹配服务匹配。该算25 北京工业大学工学硕士学位论文法定义,当请求服务和待匹配服务匹配时,当且仅当请求服务的每个输出能够和待匹配服务的某个输出匹配,且待匹配的服务的每个输入能够和请求服务的某个输入匹配。即匹配的服务一定要产生用户需要的所有输出,但输入可以是用户提供输入的子集。可见,match(request,adv)包括输入匹配和输出匹配两部分。首先讨论输出匹配,对于请求服务的每个输出,需要找到待匹配服务中和该输出具有最佳匹配的输出,并得到匹配度。输出的总匹配度由所有输出的最低匹配度决定。如果任何一个输出匹配失败,则服务匹配失败。算法伪代码如下:outputMatch(outputsRequest,outputsAdvertisement){globalDegreeMatch=ExactforalloutRinoutputsRequestdo{findoutAinoutputsAdvertisementsuchthatdegreeMatch=maxDegreeMatch(outR,outA)if(degreeMatch=fail)returnfailif(degreeMatchmatch2.outputthenmatchl>match2ifmatchl.output=match2.output&matchl.input>match2.inputthenmatchl>match2ifmatchl.output=match2.output&matchl.input=match2.inputthenmatchl=match2}以上算法给出了基于服务的输入输出的本体概念相似度进行语义Web服务匹配的算法,但该算法存在一定局限。首先,该算法只利用了服务描述的输入输出信息。对于注册中心的每个服务,都需要例如上文提到算法进行匹配,而每次匹配的时间复杂度为O(nm),如果注册中心存在大量服务,用户的相应时间将无法满足要求。我们可以利用在OWL—S中存在的其他有用信息,例如服务类别,服务文本描述等等。充分利用这些信息,对服务进行逐层筛选,每层筛选都会减少下层可选服务的数量,提高匹配效率。其次,在概念相似度判断函数degreeOfMatch中可以看到,两个概念间的语义相似程度只定性的分为了四种,即Excat,Plugin,Subsume,Fail,然而实际情况要复杂的多。如图4.1,按照该标准,(Car,CityLeisure)和(Vehicle,CityLeisure)都属于plugin关系,然而后者的相似度要明显高于前者。因此,我们需要对概念的相似度引入定量分析才能得到更加准确的结果,计算两个概念的相似度,而不是仅仅做出定性分析。27 北京工qk大学T学硕十学位论文图4一I扩展的Vehicle本体Figure4一ITheextendedVehicleOntolgy4.2改进的多层次匹配算法通过4.1种对经典语义匹配算法的介绍和探讨,本文基于文献【35]的多层过滤思想,给出一种改进的多层次匹配算法。该匹配算法依次对ServiceProfile中的分类信息(包括serviceCategory,serviceClassification,serviceProduct),文本描述textDescription,和输入输出信息进行匹配。为了缩小待匹配服务范围,每层匹配度超过一定阈值的服务才能进入下一轮匹配。如图4.2。分文输类本入/觚酬略产信描输。/吒配结耍/息述出7⋯⋯⋯7匹配图4—2服务匹配流程Figure4-2ProcessofServicematching该算法相对经典的Paolucci算法,具有以下特点:首先,算法充分利用了ServiceProfile中的信息。可以看到除了输入输出,还利用了分类信息和文本描述信息。当然,匹配过程利用的信息越多,匹配结果就越准确。然而利用的信息越多,匹配过程所需的步骤就越多,因而用户请求服务的响应时间就越长。因此,需要在时间和准确度上进行权衡。本算法选择了服务特征最鲜明的三类信息,类别,文本描述,输入输出,它们能较明显的将该服务与其他服务区分开来。同时算法匹配过程中舍弃了服务的前因后果(Precondition,Effect),服务质量等信息,因为该类信息的匹配算法时间复杂度28 粥4币语义Web服务匹配!。一一一一II一.一II—II—III!曼!曼!!曼曼较高,并且匹配效果也并不一定能尽入人意,因此将这些信息给用户去选择,而在匹配算法中并不涉及。其次,为了加快匹配速度,将每类信息的匹配单独作为一层,只有通过上一层匹配的服务,才能进入下一层继续匹配。一方面最大程度的缩短了每一层匹配的候选服务数量,从而加快了匹配速度;另一方面,将不同层的匹配实现为独立的子模块,这样整个匹配过程相当于一个流水线,通过上一层匹配的服务,马上进入下一层,而不用等待所有服务匹配结束再进行下一层匹配。这样极大的加快了吞吐率,提高了服务请求的响应速度。另外,在该算法中,文本描述匹配不是基于以往的字符串匹配,而是通过wordNet得到词汇在语义上的相似度,即根据词汇的具体含义进行匹配。而输入输出信息匹配中,两个概念间的关系也不仅仅分为四种,而是基于本体进行相似度的计算,根据本体定义得到两个概念相似程度的具体值。4.2.1分类信息匹配在ServiceProfile中服务的分类信息有以下几个字段,serviceCategory,serviceClassification,serviceProduct,在2.3.2中已经对每个字段的意义进行了介绍。分类信息匹配依次对每个分类信息字段进行匹配,只有全部匹配通过才能进入下一层匹配。下面具体给出每种分类信息的匹配策略。(注:分类信息并不是ServiceProfile的必须字段,当且仅当两个待比较服务的ServiceProfile均具有某分类信息字段时,才进行基于该字段的匹配)serviceCategory:因为该字段内容为基于NAICS或UNSPSC分类法的字符串类别值,无法判断所属关系,故直接采用字符串精确匹配,相等则进入下一轮匹配。serviceClassification和serviceProduct:这两个字段用本体中的概念来表示分类,当两个分类概念相同或具有上下从属关系时,通过匹配。设请求服务分类为CR,待匹配服务分类为CA,则IG=cA概念相同服务通过匹配兮{G∈cAR是Am子类Iq∈GA是R的子类例如需求服务的ServiceCategory字段如下:Airlinereservationservices</profile:value>29 北京工业大学工学硕十学位论文!曼曼鼍!皇!曼!曼!!!!!曼曼!!!!!!曼!曼!!曼!!曼!!曼!!毫曼曼苎!!鼍!曼II;I!!曼!苎苎曼!!!!!!!!曼!曼曼苎曼曼曼!!!曼!!曼!!!曼561599</profile:code></addParam:NAICS></profile:serviceCategory>Vehicle#SUV</profile:serviceClassification>那么在注册中心的服务中,以下几种情况的服务会通过筛选:1.服务没有serviceCategory和serviceClassification信息2.服务没有serviceCategory信息,但serviceClassification是SUV的子孙或祖先结点3.服务serviceCategory具有561599的NAICS分类,但没有serviceClassification信息4.服务serviceCategory具有561599的NAICS分类且其serviceClassification是SUV的子孙或祖先结点通过分类信息匹配的服务,将继续进入下面的textDescription匹配。4.2.2文本描述匹配textDescription为服务的文本描述。传统的服务匹配对于服务描述只是基于关键字进行匹配,例如匹配关键字‘'buy'’,如果某服务具有关键字“purchase”,虽然两者是近义词,但是却不能通过匹配,因为是基于字符串精确匹配的。为了改善这种情况,系统采用基于语义相似度的文本匹配算法。该方法首先将文本描述分解成单词的集合,然后对于请求服务描述中的每个单词,得到其与待匹配服务描述中的单词具有的最大语义相似度,最后综合每个单词的相似度得到文本的相似度。4.2.2.1基于WordNet的名词相似度计算而单词的相似度计算即词汇的语义相似度计算问题,该问题是自然语言处理和信息提取领域的重要内容。在过去的十年间,出现了很多词汇的语义相似度计算方法,整体可以分成两类【36】[371:(1)内源度量法:基于词汇所表示的概念在分类树中的语义距离的方法。语义距离即两个概念之问在分类树中的最短距离的路径的边的长度。同时还要考虑分类的密度对相似度的影响。分类越细,同等分类之间相似度越大。(2)外源度量法:基于信息论的算法,定义相似度为在分类树中能够包含这两个词汇所表示概念的共同父概念的最大信息量。该信息量由某个文集统计得到。可见该方法对所使用的文集有较大依赖性。本文的单词相似度计算主要根据文献【36】的算法进行扩展,该算法综合了这30 第4荦语义Wcb服务口E配两种方法,给出了名词相似度计算的方案。该算法的词汇树采用WordNet。WordNet是由普林斯顿大学认识科学实验室在心理学教授乔治·A·米勒的指导下建立和维护的。它是一个英语字典。由于它包含了语义信息,所以有别于通常意义上的字典。WordNet根据词条的意义将它们分组,每一个具有相同意义的字条组称为一个synset(同义词集合)。WordNet为每一个synset提供了简短,概要的定义,并记录不同synset之间的语义关系【3引。在WordNet中,名词,动词,形容词和副词各自被组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接。如图4.3是名词WordNet的一部分。可以看到每个节点都是一个同义词集合,节点之间具有上下位关系。而对于形容词WordNet,则具有Similarto关系。不同词网中的关系含义不同。该算法主要对于相似度的判断主要基于上下位关系,因此适用于名词和动词WordNet。entity,somethingIlifeform,being.../\\k蛳一////一一1,adult,IllillC,pmgr纯o。v』,r;n。gnpa。,mmaa。leeIphe酗rso,nprofessionalpersonboy,childleducator,pedagoguelteacher,觚mlpcfS∞I。femalechild,毋^child.1ittlegirl扣啪‘l唯啪nchil也kld,minor.⋯图4—3名词WordNet的一部分Figure4-3SegmentofNoneWordNet而文集采用BrownCorpust391,BrownCorpus是第一个现代计算机可读的美国英语综合文集,它由布朗大学的Francis和Kucera编制。该文集包含一百万个美国英语单词。文集的内容选自15类不同种类的文本,目的是使该文本具有良好的参考价值。下面给出该算法思想:定义单词wl,w2的语义相似度如下:S(wl,w2)=/(石(,),五(^),石(d))(4-1)其中,』表示语义距离对相似度的贡献,,表示w1,w2的语义距离;31 北京工业大学工学硕十学位论文五表示分类密度对相似度的影响,密度用共同祖先的深度来表示,深度越大,密度越大。h表示LCA(wl,w2)的深度,LCA即最深共同祖先,例如在图16中,LCA(boy,girl)吕1](person,human)Synset结点。六表示包含w1,w2的概念中的基于文集计算出的具有的最大信息量对相似度的影响。d表示信息量。S(wl,w2)∈[0,1】,0表示没有任何相似度,1表示相同概念。可以看出,该算法综合了上文的外源和内源度量多种方式,综合了多种信息来源来计算相似度。下面分别给出Z,五,六的定义。彳(,)反应了w1与w2之间的语义距离对相似度的影响。其定义如下:Z(J『)=e咄。(4.2)其中口越大,彳(,)所占比重越大。L(h)反应了LCA(wl,w2)的深度对相似度的影响。显然,当共同祖先深度越大,单词相似度越大,因为在WordNet越深的地方,分类越细,相似度也就越大。如图16,LCA(girl,animal)的深度为1,LCA(girl,boy)的深度为2,而后者的相似度要大于前者,故f2(h)与h成正比,给出定义如下:L(h)=万eOh干_e≯-Oh(4-3)其中∥>o,是平滑因子,∥越大,厶(厅)所占比重越小。石表示包含wl,w2的概念中的基于文集计算出的具有的最大信息量对相似度的影响。定义Cl,C2的相似度Sim(C1,C2)如下:sim(c1,c2)_max。)[一logp(c)](4-4)cEsub(clc2。)其中C表示WordNet中同时包含Cl,c2的概念。于是两个单词的信息共享度定义如下:usim(cl,c2)=嘴[sim(cl,c2)](4-5)与厶(^)类似,石(^)着wsim(cl,c2)的增加而递增,于是得到六(J11)如下:32 p)uvsim(cl,c2)一p一灿sim(cl,c2)z(wsim)=≥丽再≥面丽(4-6)其中A>O,入越大,f3(h)所占比重越小。有了石五石的定义,需要将这三个因素结合得到S(wl,w2)的定义。文献[36]基于Miller和charles㈤的实验选取了28个单词对,基于石石石的各种组合以及Q所的参数变化得到不同的方案,对每种方案计算得到每对单词分别的相似度,并和人类判断得到相似度进行比较,最后得到效果最优的公式如下.Sr(wl,w2):e-at,丽e3h_e-3h(4.7)其中Ot≥0,∥>O,且当Ot=O.2,∥=0.6时基于此实验数据的效果最佳。4.2.2.2其他词性单词相似度计算以上仅解决了名词相似度的计算问题,然而文章中存在包括名词,动词等多种词性单词,下面就来讨论其他词性相似度计算问题。在动词的相似度计算中,本文主要关心动词的上下位关系,例如run是move的子类,因此其计算方法采用与名词的方法,公式如下:s,。而(w,%);P-al·丽eOh_e-#h(4.8)而形容词WordNet中,同义词节点之间的关系主要是对称的相似关系,而不是上下位关系,例如happy和glad相似,因此其计算方法与名词动词不同。其衡量方式是这种相似关系的远近程度,因此,可以用两个形容词间具有相似关系的路径的长度来衡量,并且希望其相似度随长度指数下降,因此给出其公式如下:咒讲(wI,WE)=e~,,为路径长度(4-9)由于其他词性单词对文本含义的相似程度贡献不大,因此在相似度计算过程中忽略它们。综上得到单词相似度计算如表4-2。33 北京]二业大学工学硕士学位论文表4.2不同词性的相似度计算公式Table4—2Formulaforwordofdifferentkindofpartofspeech单词相似度名词既√w。心,--e刊戋荔动词s岍bWI,W2)__e-ateeep#^h+_ee-一#卢h^形容词S口巧(w1,w2)=P一74.2.2.3文本相似度计算有了单词相似度的计算方法,便可以将文本分成由名词,动词,形容词组成的单词集合,然后计算单词的相似度,综合得到文本的相似度。然而在计算文本的相似度之前,仍需要解决一系列问题。首先,需要把文本分裂成单词,由于英文文本采用空格作为单词分割符,这一工作可以很方便的进行。然而对于中文,则需要具有自然语言处理功能的分词工具进行分割[41】。由于本文主要研究英文的服务描述,因此对中文的分词问题不做讨论。其次,由于单词相似度的计算要分别根据名词,动词,形容词分情况来进行计算,因此需要联系文本上下文对每个单词进行词性标注,确定单词所属词性,然后才能与待比较文本中对应的单词进行相似度计算。词性标注研究内容本文不做深入讨论。系统直接采用斯坦福大学的开源的词性标注器POStagger。该软件能基于一定的训练数据,根据文本上下文标注每个单词的词性【421。另外,4.2.2.1的单词相似度计算忽略了多义词的情况,认定一个单词只有一个含义,只对应一个Synset。这需要我们根据文本上下文来确定单词的词义,属于词义消歧的研究内容,本文不做涉及。默认两个单词的相似度为单词所具有的含义之间的最大相似度,设wl:{Sll,Si2,...S2n),w2:{S2l,S22,...S2m),S代表WordNet中的Synset,则w1与w2的相似度为任意两个synset之间的相似度的最大值,即s(矽l,∥2)2州l焉0蚕1.。1(s(s⋯s2,))(4-10)最后,还存在一个问题,即对于请求服务描述中的任何一个单词,待匹配服务中都有若干个单词与其词性相同,本文的算法将该单词与每个具有同词性单词进行相似度计算,其中最大的值认为是该单词的相似度。最后文本相似度等于每个单词的相似度之和除以总的单词个数。公式如下:设请求服务描述为TR_{WRl,WR2,...WRn),34 第4蕈语义Web服务匹配待匹配服务描述为TA={WAl,WA2,...WAn},则s(疋,L)=吉·∑iE积譬凳x(殳(%r,%))(4-11)其中,X代表对于当前i,与w砌具有相同词性的WAj的J值集合,万为TRfnone,%f是名词中单词个数,而x={verb,%,是动词l乜孝,%是形容词下面采用以上方法给出文本相似度计算实例。原文本:Thisserviceprovidestheopportunitytobrowseabooksellingsiteandbuybookthere.待匹配文本:neserviceenablesuserstofindbooksandtopurchasebooks.表4.3实例l匹配结果Table4-3MatchResultofExamplel原文本中单词和待匹配文本中匹配度综合匹配度匹配最佳单词SerVlCeServlCe1.O0.586182762270434opportunitySer、rlCe0.19115683721006452bookBooksI.0sellingSerⅥCe0.299704732346l6507sitebooksO.1986005286072422browse无0buypurchase1.04.2.2.4时间复杂度分析该算法的时间复杂度为O(nms),其中n为请求服务文本的单词个数,m为待匹配服务与当前匹配单词具有相同词性的单词个数,s为匹配的两个单词的synset之积。该算法的时间复杂度较高,相当于O(n3),但如果加入了词义消歧系统【43|,复杂度可以降低为0(rim),消歧的时间可以忽略不计,因为只要在服务发布时计算一次即可,且服务需求的文本消歧也只要计算一次即可。另外,为了提高效率,要求服务描述最好不要过长。并且对于单词相似度的计算可以采取缓存机制,对经常计算的单词或synset的相似度,在缓存中存储。这样如果当单词缓存命中时,复杂度可以下降成o(n),而当synset缓存命中时,复杂度下降成O(n2)。4.2.3输入输出匹配35 北京1一业大学-T.学硕十学位论文服务的输入输出匹配算法仍然基于4.1的经典算法,但对于每对概念之间的相似度的匹配引入了定量分析,而不仅仅分为四类。所谓定量分析,就是对概念之间的相似度给出具体的值,更精确的表示相似程度。4.2.3.1本体概念相似度计算本体概念的计算主要基于本体树。本体树是由领域专家建立的,反映某个领域的共同认可的、可共享的知识。关于本体概念的相似度计算主要分为两大类,以下分别作以介绍。1.基于共享属性计算相似度。通常情况下,人们区分不同事物的方法就是比较它们的属性:相同的属性越多,事物越相似。基于属性的相似度计算即通过计算相应的属性集的相似度来计算概念的相似度。文献【44]给出了依据属性计算相似度的公式如下:Sim(爿,B):一一竺盟坐巡型塑趔(4—12)、。。max(cD“以f(4ff,.(彳)),count(Attr(B)))、根据该公式,就可以计算请求服务和待匹配服务的输入和输出的相似度。在文献[45][46】中,给出了一种基于属性判断IO相似度的算法。该算法设有需求服务的某输出为R与待匹配服务的某输出为A,则两者的相似度Sim(A,R)如下:Sim(A,R)=l,A,R代表同一概念1,A是R父概念嘲,哦子概念件㈣—Pr—o(—A)—N—Pr了o(R),两概念无直接关联Pro(A)1.3Pro(R)I’。一其中,Pro(C)代表概念C的属性。这种方式比较符合人类的判断和认知标准。但是需要在本体中完整的表示所有概念的属性,但通常本体的建立无法复合这样严格的标准。另外该方法只利用了本体树的属性表示,忽略了上下层次关系,因此文本不采用这种方式。2.基于本体树的概念相似度计算。这种计算方式与4.2.2.1中基于WordNet的单词相似度计算存在相似之处。因为WordNet本身也是一种本体,它是属于词汇领域的本体。因此,可以直接利用公式(4.7),对于任意两个概念A,B,其相似度如下:pph—p—phSim(A,占)__e-at.二e卢h—_二一at_e-ah即本体树中的概念相似度由概念的LCA深度h和概念之间的最短路径长度h相关。l越大,相似度越大,因为在本体越深的地方,分类越细,分类之间的相36 第4荦语义Web服务匹配似度越小。h越大,相似度越小,因为路径越远表示关系越弱,相似度越小。如在图4一l中,(StationWagon,Crosscountry)的相似度要小于(Station_Wagon,SUV),(CityLeisure,Crosscountry)的相似度要大与(Station_Wagon,Sedan)。另外在文献[47][48]中,也给出了另一种基于层次结构计算概念相似度的公式,即彤刑㈣=蔫鬻(4.14)然而该算法只适用于概念在层次结构的叶节点的情况,因此并不适用于本文。在文献[491150][51]中,也给出了类似的基于语义距离计算相似度的模型。然而以上方法存在一个不足之处,即只考虑本体概念之间的上下位关系,忽略了二元关系【521。但在一个完整的本体中,存在大量的二元关系,例如在图4.1的本体中,Vehicle可以有一个属性Color,于是Vehicle和Color之间便存在一个二元关系。当计算本体的相似度时,二元关系是非常重要的一种关系。例如某服务的某个输出是Vehicle,现在请求服务的某个输出需要是汽车的Color,因为Vehicle有属性Color,因此两者之间存在一定匹配度。引入了二元关系之后,本体就不再是一个单纯的层次体系,而更像是一个有向图,因此在计算概念相似度过程中,共同祖先以及深度这个概念也就没有意义了。例如图4-4中,存在(B,D),(D,E)二元关系,此时本体己经发展为一个有向图,如果要找B,E的共同祖先已经没有意义。图4.4添加二元关系的本体Figure4-4Ontologywithbinaryrelation添加了新的二元关系后,需要对本体概念的相似度相关内容重新定义如下:定义本体概念A,B之间的相似度Sim(A,B)如下:Sim(A,曰)=e一(4—15)其中,表示A,B之间的语义距离,可见,相似度随着语义距离的增大而减小。37 北京工业大学工学硕十学位论文定义本体概念A,B之间的语义距离l如下:,={dis(∞A,B,:乏善磊拿蒿!;森体c4一·6,I,),A,B属于同一本体、7认为不属于同一本体的概念之间的语义距离为无穷大,即没有相似度。而当A,B属于同一本体时,语义距离为两个节点之间存在的最短路径的长度。因为在有向图中,节点之间可能存在多条路径,例如图4.4中,(B,D)之间就存在B.>A.>C.>D和B一>D两种路径(认为继承关系是可逆的),那么如何衡量路径的长短就是需要解决的下一个问题。一种传统的方法不区分不同的关系类型,认为继承关系和二元关系地位相同,因此路径的长度也就是路径上边的个数。这种方法操作起来比较简单,但是并没有考虑不同类型关系对相似度影响不同。然而,按照认知标准,存在继承关系的概念之间要明显比存在二元关系的概念之间的关系要近。例如轮胎和汽车零件的关系要明显比轮胎和汽车之间的相似度要高【53】。因此,需要对不同关系赋予不同的权值,权值越大表示距离越远,因此相似度也就越低。语义距离即路径上每条边的权值的和。为边分配权值需要满足以下条件:1.权值需要反映不同类型关系对距离的影响2.虽然在公式(4.15)中忽略了深度这一概念,但在本体的继承关系中,深度对语义距离仍然产生影响。在继承体系越深的地方,语义距离越小,因此对于继承关系的权重值应该能反映出继承关系的深度对该值影响。3.在经典算法中,可以看到对于degreeOfMatch(outR,outA),当OutA包含OutR时的值要高于OutR包含OutA的值,即继承关系是可逆的,且当方向不同时,距离不同。例如,Car属于Vehicle,显然按照人们的认知标准,Sim(Car,Vehicle)是要大于Sim(Vehicle,Car)的。故将继承关系的一条边分裂成不同方向的两条边,并且不同方向权值不同。很明显,如果A继承自B,即A“IS.A”B,那么A一>B的权值要小于B一>A的权值,因为权值越小,相似度越大。综合以上几个条件,定义权值如下:(1)当A,B之间存在继承关系,且A“IS.A”B时,其中,Depth(A)表示A的深度。38而㈣~呦㈤~脚哪一阱哪一m一胁一印一D—D一)一A—A丽●|暑●卜皂●一印两而一2—2曰彳爿B (2)当A,B2_fBq存在--元关系,即B是A的某个属性时,恻f(删)=万1而·i1(4—18)其中Q∈(o,1),且血越小,表示二元关系的权值越大,即二元关系与继承关系相比相似度越低。下面来验证定义是否符合要求。通过以上定义,若B“IS—A”C,且C是A的属性,那么Weight(∞)2万1丽木面丽De再pth丽(B),Weigh‘(翻)=毒杀。Og显然,Weight(CB)Wight(CA),符合条件3的要求。39 北京1=业大学工学硕十学位论文曼皇!!曼苎!曼!!!曼曼!曼曼曼曼苎曼!曼曼蔓曼!曼!苎II⋯I—I—一一llI—I曼曼!!!!!曼曼Weight(C原始的本体(部分)添加权值并转换之后图4-5继承关系转换Figure4.5Transforamtionofirthefitancerelationship注:本文算法忽略了多继承的情况,对于多继承情况,节点具有多个深度值,因此对应不同父节点,该节点与其子节点之间的边具有不同权值。通过权值公式,我们可以将原有的本体转换成一个有向图。如对于图4.4,经过分配权值,得到有向图如图4.6:Weight(AB)=0.333Weight(BA)=0.I67Weight(At)=0.333Weight(CA)=0.167Weight(CD)=0.150Weight(DC)=0.100Weight(BD)=0.5Weight(ED)=1.0(取Oi=0.5)Weight(AB)=0.333Weight(BA)=0.167Weight(AC)=0.333Weight(CA)=0.167Weight(CD)=0.150Weight(DC)=0.100Weight(BD)=1.25Weight(ED)=1.0(取Q=0.2)图4,6图4-4转化得到的有向图Figure4—6Directedgraphtransformedfrom4-4可以看到,当取Q=0.5时,dis(B,D)l=dis(BA)+dis(AC)+dis(CD)=0.650dis(B,D)2=dis(BD)=0.5得到B.>D是最短路径当取,9/=0.2时,dis(B,D)1一dis(BA)+dis(AC)+dis(CD)=O.650dis(B,D)2=dis(BD)=1.25得到B.>A.>C.>D是最短路径可见,ot的不同取值,反映了二元关系和继承关系两者对距离的不同影响,得到的最短路径也各不相同。可以根据不同应用的情况调整ot的值以得到最优的 第4荦语义Web服务匹配匹配结果。通过对各边赋予权值以及继承关系的变换,原有的本体转换成了具有权值的有向图,于是,求概念A,B之间的语义距离问题就转换为求A,B之间的最短路径问题,可以直接采用Dijkstra算法求解,设其最短路径为l=dis(A,B),然后带入公式(4.15),便可以得到概念A,B之间的相似度。对于图2.5中的Vehicle本体,以下是采用经典算法和本节算法的结果对比:表4—4经典算法Vehicle匹配结果Table4.4MatchResultofVehicleOntolgybyclassicalalgorithm\\VehicleCarBUSSedanStation_WagonSUVVehicleExaclSubsumesCarExaclFaiSubsumesBUSExacIFailExaclFailFaiFailSedanPlugInExaclFailExaclFailStationNagonPluglnExaclFaiFailExaclFailSUVPluglnExaclFailExact表4-5相似度算法Vehicle匹配结果Table4-5MatchResultofVehicleOntolgybysimilarityalgorithm\VehicleCarBUSSedanStation_WagonSUVVehiclel0.71653l0.7165310.6l6724O.6167240.616724Car0.846482l0.60653l0.860708BUS0.8464820.60653l0.522046Sedan0.7659280.9048370.548812l0.77880l0.77880lStation_Wagon0.7659280.9048370.5488120.77880l0.77880lSUV0.7659280.9048370.5488120.77880l0.77880l通过以上对比,可以看到相似度算法与传统的只进行定性表示的经典算法相比,定量表示的结果描述更加准确。例如在经典算法中,(Vehicle,Car),Sim(Vehicle,suv)结果都是Subsume,但在相似度算法中,Sim(Vehicle,Car)=O.716531,Sim(Vehicle,suv)=0.616724,前者的相似度大于后者,更符合实际情况。4.2.3.2IO匹配度计算服务的输入输出是由若干本体概念的集合组成的,基于本体概念的相似度计算,下面要计算输入输出整体的匹配度。设请求服务和待匹配服务的输入输出如下:41 北京工业大学T学硕十学位论文巩={ZRLI心⋯厶。),DU疋={q。,q:,...%);巩={L,,L:⋯.IA。.),DuL={OA。,g:⋯.q用.);在4.1.1的算法中,忽略了输入输出个数的判断,但该判断代价很小,效率却很高,故本算法加入了基于参数个数进行判断的步骤。很明显当OUTA的个数小于OUTR或,INR的个数小于ⅣA,服务必然不能满足需求,可以直接淘汰。接下来要分别进行输入和输出的匹配。首先看输出匹配。与4.1.1中的算法类似,对于任意一个q,,i∈[1,m】,其匹配度由OUTA中所有的q,,J∈FI,m’】能够与其达到最大本体概念相似度的q,决定。而OUTR与OUTA的匹配度,则由每个%,i∈[1,m]综合得到。在4.1.1的算法中,OUTR与OUTA的匹配度由所有oR,,i∈[1,肌]之中最小的匹配值决定,因此最后的匹配度仅由匹配度最低的那个输出决定,这种方式并不能很好的反映匹配的整体情况。本文对这种方式进行改进,对每一个吼,i∈[1,m】,可以Fh用户在提交请求的时候赋予相应的权值,权值越高,表示这个输出越重要,在总体匹配度中的影响力越大。默认情况下权值等于输出个数的倒数。有了权值,那么总体的匹配度则由每个输出的最大匹配度和权值的积累加得到,即l0,m’a,即输出的匹配度对总的匹配度影响更高,因为输出是不可操控的,而输入相比较灵活性更大,用户可以根据匹配得到的输入调整可以提供的输入。将用户请求与通过文本描述匹配的服务一一匹配得到每个服务的匹配值,将该值大于一定阂值的服务按照匹配值由高到底返回给用户即最后的匹配结果。4.2.3.3时间复杂度分析该算法的时间复杂度为O(mnT),mn为请求服务与待匹配服务的输入或输出个数之积,T为求两本体概念相似度的时间复杂度,该过程主要操作即求有向图的最短路径,该操作的时间复杂度较高,另外为有向图的边计算权值也是一项比较费时的工作。而在用户查询服务阶段,如此高的时间复杂度将使用户相应时间达到无法忍耐的程度。由于领域本体是事先在注册中心发布的,因此可以在发布阶段就对本体进行处理,将其转换成一个带权有向图,并且利用Dijkstra算法计算出每两个点对之间的最短路径,从而得到相似度,将该结果存储到数据库中,这样T就成为了常数的时间复杂度,只是访问一次数据库的时间。还可以采用与计算文本相似度类似的方式,将常用的概念相似度结果存储在缓存中,这样将访问数据库的时间节省为访问内存的时间,再次提高了效率。4.2.4算法评价首先看查全率和查准率。其中,查准率指查询返回符合查询条件的Web服务数量与查询返回Web服务总数量的比率,反映了某次匹配中匹配到的服务多少是相关的。查全率指查询返回符合查询条件的服务与测试样本集中符合查询条件的Web服务的比率,反映了某次匹配中实际存在的服务在多大程度上被检索出来【s4】。对于一个匹配算法,查准率、查全率越高,匹配算法越好。但是,查准率、查全率通常是矛盾的,查准率的提高,可能带来查全率的降低:查全率的提高,可能带来查准率的降低【55】。与传统的基于关键字匹配的服务发现相比,服务的查全率和查准率都有所提高。查准率方面,因为引入了类别、文本描述和输入输出匹配,可以大大提高匹43 北京工业大学1=学硕=j二学位论文配结果的准确率。查全率方面,因为采用基于语义的匹配,匹配结果范围与基于关键字精确匹配的方式相比大大提高。而与文献『171@的经典语义匹配算法相比,由于在输入输出方面引入了基于相似度的匹配,而不是仅仅进行定性匹配,因此查全率大幅提高。而在查准率方面,传统的经典算法查准率很高,但其匹配成功率较低,而改进的算法牺牲了一定的查准率,换来了查全率的大幅提高。在算法效率方面,传统的经典语义匹配算法只进行一层输入输出匹配,但是要对所有候选服务都执行该过程,效率不尽如人意。而本文算法虽然匹配层次增加,但是每一层都会过滤掉一些候选服务,缩小进入下一层的候选服务范围,同时采用流水线操作,可以更好的加快效率。另外,第一层匹配是类别匹配,这个耗时很小的操作能很有效的缩小下~步匹配的服务范围,因此算法的匹配步骤虽然增加了,但是效率并没有降低。4.3本章小结本章详细讨论了语义Web服务匹配的算法。首先给出了MassimoPaolucci的经典语义算法,并分析了其不足之处。然后针对其不足提出了改进的多层次匹配算法框架,并详细介绍了每一个层次的匹配算法,包括分类信息匹配,文本描述信息匹配,IO匹配,并分析了后两者的时间复杂度。最后针对算法的查全率和查准率做了评价。 第5章系统实现本章将基于前文的内容,给出语义Web服务发现框架的具体设计与实现。5.1相关工具在系统实现过程中,充分利用了相关的开源工具。通过这些工具,可以加快系统的开发速度,并且提高系统的正确性和稳定性。系统使用开源的Web服务注册中心juddi,并对其进行扩展,使其支持语义Web服务。使用uddi4j访问uddi注册中心。在文本相似度计算子模块部分,利用了JWNL来访问WordNet,并利用了斯坦福大学的PosTagger来对词性进行标注。在10匹配子模块部分,使用了Jena来对处理本体之间的关系。另外,系统使用prot696t561作为本体建模工具,使用owlseditor来生成OWL.S文件。5.2概要设计为方便部署,系统采用B/S架构,服务器端采用Java实现,并集成多种开源工具,数据库采用mySQL,应用服务器采用Tomcat5.0,客户端采用JSP实现。系统类图如图5—1.图5-l系统类图Figure5-1Classviewofthesystem系统整体类图如图5.1,GUI为JSP实现的用户界面,OWLSImporter负责将用户指定owl.S文件导入系统,ServiceMatcher负责根据用户的输入进行服务匹配,而TextProcesser和OntoMatcher分别负责文本匹配和本体概念匹配。OWLSImporter和ServiceMatcher都依赖与Profilelnfo,其负责存储owl—S文件的45 北京二『:业大学T学硕十学位论文●II_IIServiceProfile信息。5.3详细设计本节分模块对系统作以详细介绍。5.3.1服务导入模块服务导入模块主要由OWLSImporter类完成。其详细类图如图5.2。图5-2OWLImporter类图Figure5-2ClassviewofOWLImporterOWLSImporter类主要成员如下:属性proxy:与juddi进行交互的代理,来自于uddi4j工具包属性config:与juddi进行连接所需要的属性值集合。方法importOWLS(String):用于将指定路径的owl—s文件导入到注册中心,该方法内部首先调用getProfilelnfo(String)和addtoUDDI(ProfileInfo)。方法getPmfileInf0(string):从文件中解析得到ServiceProfile信息存储在Profilelnfo中。方法addtoUDDI(Profilelnfo):利用proxy将ServiceProfile存储到注册中心。5.3.2服务匹配模块服务匹配模块由ServiceMatcher完成,其类图如5.3。 第5章系统实现曼!!曼!曼曼舅曼曼!I一=I一一一一I—I—I—I一一—一鼍I图5-3ServiceMatcher类图Figure5-3ClassViewofServiceMatcher方法findMatch(ProfileInfo):用于给JSP页面调用,实现查找所有与Profilelnfo匹配的服务。其对注册中心的每个服务调用doMatchO方法,判断其是否匹配,如果匹配则加入结果集。在doMatehO方法中,要调用文本匹配模块TextProcessor和本体匹配模块OntoMatcher的相关方法完成分步匹配。下面首先进行介绍两个子模块。5.3.2.1文本相似度计算模块TextProcessor主要用于完成基于WordNet的文本相似度的计算。其类图如5.3。图5-4TextProcessor类图图5-4ClassViewofTextProcessor其中SimCalculator类利用jwnl包,借助WordNet用于完成单词相似度计算。其中,方法senseSimCalulator(Synset,Synset,,POS)"根据POS指定词性调用senseSimCalulatorNandV或senseSimCalulatorAdj计算Synset的相似度。名词和47 北京T业大学工学硕二I:学位论文动词的Synset的计算方法相同,分别得到两个Synset之间的路径的长度和LCA的深度,然后根据表4.2中公式计算。方法wordSimCalulator(String,String,,POS):用于得到POS指定词性的两个单词的相似度计算。该方法通过计算两个单词的Synset集合中的最大相似度来得到单词的相似度。而TextProcessor则通过SimCaculator来计算文本相似度。其中,方法calTextSim(StringsourceText,StringdesText):返回两段文本的相似度。其分别调用POSOf'l'ext0标注词性以及调用TextSimCalculator0计算相似度。方法POSOfrext(Stringtext):用于对text进行词性标注,利用POStagger工具包进行。结果存放在三个HashMap中,对应三个词性集合,HashMap中存放单词和其对应的出现次数。方法TextSimCalculator(LinkedListsource,LinkedListtoBeCompared):用于计算两个进行词性标注后的文本的相似度。认为与对应词性集合中具有最大相似度的单词的相似度为该单词相似度。5.3.2.2本体相似度计算模块图5.5OntoMatcher类图Figure5-5ClassviewofOntoMatcherOntoMatcher承担了用本体表示的服务分类serviceClassification和serviceProduct的判断以及服务的IO集合相似度的判断。其利用的Jena工具包。其中,48 方法Preprocess(String)和update(String),类似,前者表示对指定的本体进行预处理,后者表示更新指定本体.其内含操作是相同的。预处理包含两个步骤:(1)首先将指定本体在内存中创建一个OntModel,映射到map2中。该OntModel在isRelated方法中会用到。(2)通过层序遍历本体类然后遍历属性的方法,将本体转换成一个有向图,正如在前文4.23中的算法中所示。该有向图的信息存放在MinDistancelafo对象里,然后映射到map中。MinDistancelnfo中存放着节点名称列表list,边的权值信息distance,以及各个节点之间的晟短路径minDistance。而eaeulateMin0方法用于对每个节点调用dijkstra(int,double[])计算该节点到各个节点的最短路径-通过以上预处理.任意两个概念之间的相似度,也即它们之间的最短路径长度就可以直接得到了,而不用每次分别计算,提高了系统的效率。方法isRelatedOJ羽来判断两个概念是否有上下位关系,即服务分类信息中serviceClass讯cacion和servioeProduct的相关性判断,使用Jena工具包的相关方法即可实现。方法matchl00用-T完成服务的lO匹配,其调用matehlOGroup分别对输入和输出进行匹配,然后返回二者的平均数。5.4系统演示5.4.1服务发布系统服务发布界面如图5-6所示。用户选择要发布服务的OWL-S文件,点击“发布”按钮发布服务。i”4川z】扑∞口^“㈨t㈤q)}o£{r√立当r},~特☆懈e占,,d,n盛口脞:萄⋯,巾州h,t谕n.ii=ii“d.f⋯dv口龅l*{”口hct目目6。语义Web服务注册中心篮直选择服务描述的o_l文件直塑注馈!二坚⋯札m⋯ts·童三三·一=—=匝邕i:3倒5—7。圈5-6服务发布界面Figure5q5InterfaceofServicepuhlishing选择发布一个汽车租赁服务,服务发布成功,返回给用户ServiceKey,如图 塑些垒:.筌篓!!!Umo削【do,M‘W‘H拶譬{∞’n陆U1⋯∞、..,.j,。j。===.Z..。。一j.,■n-⋯⋯口一日Ho,语义Web服务注册中心发直发布结果壹盥拄盟£$&≈蛐£Kw⋯B68co■m3伽1_^988一Ⅱ48∞Dn9*5.42服务查询_鳌l57服务发布结果界面Figure5-7InterfaceofServicepublishiagresult为了演示服务查询,首先在系统中发布若干服务见表5.表5-I己发布服务Table5-lServicesthathadbce“published服务名称类别信息文本描述输入输出CarRentalQueryse丌iceClassificatfon:ProvidequeryserviceforIDateRange,CityCⅡRentalQuerycal.mnhlbusinessEnableO:Cadnfo.FamcuslomeBtofmdavailableCarAgeneycalfrentalinfowithgivedaterangeandclty.ser“ceClassification:Providecarr叽h1servicel:C盯Agency,EnablecuskmeB10mnmlCarlnfo,DateRange,一throtlghintemelwiththeircreditcardsHotelQueryserviceClassification:Providehotel1nformafionI:DateRange,City,HotelRoomOueryforcusI帅U8emhavetoMiaFare.MaxFa/e,providethedaterange,cityRoomTypeandroomtypem吖wanted0:HotelLath,FareFaterangeisoptionalHotelFindingscrviceClnsificatlon:0fferhoteljnformationI:DateRange.City,HotclRoomQueryCustomershavetoprovidethedaterangeandcin0:Hotel/nfo,Fare,RoomType 第5章系统实现曼曼!曼!!!!!!曼!!!曼!!曼!!曼!!曼!皇曼曼!曼巴曼曼DiNIIlillHi鼍量服务名称类别信息文本描述输入输出HotelInquiringserviceClassification:GivenhotelI:DateRange,ServiceHotelRoomQueryinformationwithCountry,City,designatedlocationMinFareandpricefor0:Hotellnfo,Fare,customers.RoomTypeHotelReservationserviceClassification:ProvidehotelI:HotelInfo,ServiceHotelRoomReservationreservationServiceRoomType,Number,forcustomers.CreditCard,ClientUsetscart_book0:OrderlD,Fareroomsinthedesignatedhotel.AirlineQueryServiceserviceClassification:ProvideairlineI:DepartureCity,AirlineQuery.informationforDestinationCity,Datecustomers.UsersO:AirAgency,Fare,havetoprovidetheFlightdepartureeity,destinationandleavingdate.AirlineBookingserviceClassification:ProvideairlineI:AirAgency,Flight,ServiceAirlineReservation.ticketreservationNumber,ser、,iceforSeatClasses,customers.CreditCard,ClientO:OrderlD,Fare,.AirTicketWeatherQueryserviceClassification:Provideweather1:City,DateServiceForcastQueryforcastfortheO:Wind,designatedcityandTemperature,date.Pressure注:以上本体概念的命名空间均为:h!!卫;丛122:Q:Q:!;墨Q墨Q垃巡!墨堑型曼!Q鱼:Q型i壁,该本体由清华大学某实验室建立,涵盖了旅游领域的基本概念。下面进行服务查询,服务查询界面如图5.8,51 语义Web服务注册中心基蛊壹Ⅻ《目*#^*镕m*信B点盘庄照腮雠:墨譬:.兰;端“‘l=.‘::!:竺?“;一z“t日‘㈣_⋯⋯t⋯㈣)一一lu·l^c·t1日·n⋯‘。l‘’⋯Ⅷ⋯女o^K'·h11D.Ⅳ】’⋯⋯一。⋯【一¨-【r⋯"E,“Ⅲ4~1⋯一t。⋯l”l⋯m二~1wt-目。圈58服务查询界面Figure5-8InterfaceofServicediscover/在本例中.要矗询的服务信息如下:类别信息:serviceClassification:http://12701:8080/owls/travelOflowl#TravellnfoQuery文本描述:Findhotelinformationinthegivoncitywithdesignateddate.priceandroomtype输入:http://12701:8080/owls/travelOflowl#DateRangehttp://12701:8080/owls/travelOflowl#Cityhttp://12701:8080/owls/travelOflowl#MinFarehtth://12701:8080/owls/travelOflOWl群MaxFareh№:/112701:8080/owls/travelOflowl#RoomType输出:http://12701:8080/owls/travelOflowl#Hotellnfohttp://1270I:8080/owls/travelOft.owl#MinFare点击查询按钮。得到查询结果列表如图5-9。详细匹配结果见表5-2。 语义Web服务注册中心.立兰:。2曼一⋯。j=‰一.一摹荤㈣勰,。;k~。。?:=i。⋯⋯⋯⋯⋯一⋯⋯⋯.=&⋯一⋯⋯·:三‘。"⋯1_==:!三:?:捌誊兰i誊釜:_掣:缚龆.辨.图5-9壹询结果列表Figure5-9Resultlistofservicediscovery表5-2详细查询结果Table5-2DetailedmsultofservleedlseoveTy服务名称类别信息匹配文本描述匹配输入辅出经典方法匹配匹配结果CarRcntalQuexyCarRentalQuery属于O739>闽值0542>闽匹配失败TravelInfoQueary通过通过值通过CarRenmlReservation与匹配失败TravellnfoQuea3。无上下关系,来通过HotelQuetyServiceHotelReomQucfy属于O.704>闽值0.984>阈TmvellnfoQuery通过通过值通过HotelFindlngHotelRoomQuery属于0690>阈值O850>阈TmvellnfoQum7通过通过值通过HotelQueryServiceHotelRoomQuct】'属于0.“2>闺值O891>阈匹配失败1hveunfoQu。7通过通过值通过HotelRe日mReservatlon与匹配失败TmvellnfoQumy无上下关系.来通过AidmeQueryAifline。uery.属于0586>闷值0460>阈匹配失败值通过TravelInfoQuery通过通过<阐值未通过 北京工业大学工学硕士学位论文服务名称类别信息匹配文本描述匹配输入输出匹配经典方法匹配结果AirlineBookingAirlineReservation匹配失败Service与TravellnfoQuery无上下关系,未通过WeatherQueryForcastQuery属于0.456<阈值未匹配失败ServiceTravellnfoQuery通过最后呈现给用户的备选服务依次为HotelQueryService,HotelQueryService,HotelFindingService,CarRentalQueryService。5.4.3结果分析若采用传统基于关键字匹配的服务发现,则在上述实验中,查询“HotelQuery'’,那么匹配结果只有HotelQueryService一个服务。而采用经典的语义匹配算法,则只能查找到两个服务,且无法看出哪个服务更适合用户需求。针对本例服务发现的查全率与查准率结果对比如表5—3:表5-3算法效果对比Table5-3Comparisonofthealgorithm查全率查准率传统UDDI方法33%lOO%经典语义匹配算法66%100%本文算法100%80%在本例中,本算法结果准确给出了所有酒店查询服务,查全率达到了100%。在查准率方面,在结果的四个服务中,有一个并不是所需服务,查准率为80%,通过在服务发布时细化服务类别等信息,查准率可以得到进一步提高。与经典算法相比,查准率有所牺牲,但查全率和查准率是相互矛盾的,查全率的大幅提高,使得查准率略微降低。同时,当结果呈现给用户时,用户可以看到根据匹配程度排序的列表,与传统算法相比,结果量化更加详细。另外,就本例来看,发现响应时间与经典算法相比没有较大变化,但具体效果有待未来有大量候选服务时进行验证。5.5本章小结本章详细描述了系统的实现。首先介绍了实现过程中使用的相关开源工具,然后依次给出了系统的概要设计,包括模块划分和各个子系统的类图。接着描述54 第5章系统实现了系统的详细设计与核心算法的实现。最后对系统功能作以演示,包括服务发布和服务查询。55 结论Web服务发现是随着Web服务应用的发展而出现的一个研究热点。传统的Web服务发现采用基于服务描述的关键字的匹配,效果不能令人满意。而语义Web服务的出现为服务发现提供了新的方式。本文的目的即针对语义Web服务,提出一个新的支持基于语义匹配的服务发现系统,使其具有更高的准确度。本文的核心研究成果主要包括以下几点。首先,结合语义Web服务不同于传统Web服务的特点,提出了新的语义Web服务发现框架。该框架基于jUDDI,但采用tModel对原有系统进行扩展。其次,也是本文的核心,即提出了改进的多层次语义Web服务匹配算法,将匹配分为类别信息匹配,文本描述匹配和输入输出匹配三层,每层通过匹配的服务作为下一层的候选服务。该算法抛弃了原有Web服务发现的单一的关键字匹配方式,而是针对语义Web服务的特点,采用基于语义信息的匹配方式。具有如下特点:1.充分利用OWL.S文件中的ServiceProfile的信息,采用逐层匹配,每一层匹配都可以缩小下一层匹配的候选服务范围,提高效率。2.文本描述采用基于WordNet的词义相似度匹配,比传统的关键字匹配更准确。3.输入输出匹配在Paolucci提出的经典算法上进行了改进,在原有仅具有定性结果描述的基础上,引入了基于本体相似度的定量匹配,使得结果描述更加准确。4.采用缓存机制,提高了算法效率。通过以上算法支持的语义Web服务发现系统,具有较高的效率,具有较好的服务查全率和查准率,取得了良好的效果。本文的研究结果还存在一些不足有待改进。一方面,由于收集大量语义Web服务的难度较大,本系统并没有在大量Web服务下进行测试,需要在未来条件具备的时候,进行压力测试。另一方面,在输入输出相似度计算时,忽略了本体中多继承对概念深度的不同影响,应该在未来对算法实现进行完善。语义Web服务的发现技术的完善,使得根据用户需求准确定位可用的Web服务成为可能,从而可以在当前异构的网络环境中充分利用网络资源,准确定位可用服务,提高服务质量和效率。而Web服务的准确定位,也为Web服务的动态组合提供了技术基础,从而可以将不同功能的原子Web服务按照业务规则组合在一起,实现一个完整的业务流程,满足企业实际应用需求。同时有助于企业适应快速变化的电子商务环境,提高企业效率,并为跨组织工作流技术提供了一种途径。57 参考文献1DavidBooth,HugoHaas,FrancisMcCabe,eta1.WebServicesArchitecture[OL].http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/,llFebruary2004.2蒋军,冯志勇.面向跨组织业务流程的服务组合策略[J】.计算机工程与设计.2007,2805):3678—3681.·3高尚.基于Web服务动态合成框架的服务组装引擎研究及实现[D】.合肥工业大学硕士论文.2007:14.14.4RobertoChinnici,Jean—JacquesMoreau,ArthurRyman,eta1.WebServicesDescriptionLanguage(WSDL)Version2.0[OL].http://www.w3.org/TR/2007/REC-wsdl20-20070626,26June2007.5段韧,张卫华,张波.一种基于语义的UDDI服务发现机制【J】.微电子学与计算机.2007,24(9):206-208.6林清滢.基于UDDI的语义Web服务发现研究[J】.计算机工程与设计.2006,27(12):2215.2217.7潘云峰,蔡明.基于OWL.S的w曲服务匹配模型设计[J】.计算机工程与设计.2007,28(9):2145—2147.8董媛媛,袁捷,王洪生,等.基于OWL.S的w曲服务匹配的研究[J].微电子学与计算机.2006,23(9):185—187.9马可方,李陶深.语义Web和UDDI集成的研究[J】.广西科学院学报.2006,22(4):244—245,249.10郭李娟,史浩山,王巍.基于OWL.S/0WL的Web服务发现机制[J】.科学技术与工程.2007,7(9):2103-2107.1lTimBemers·Lee.SemanticWeb·XML2000[OL].http://www.w3.org/2000/Talks/1206-xml2k-tbl/,6December2000.12DeborahL.McGuinness,FrankVallHarmelen.OWLWebOntologyLanguageOverview[OL].http://www.w3.org/TR/owl-features/,10February2004.13MichaelK.Smith,ChrisWelty,DeborahL.McGuinness,eta1.OWLWebOntologyLanguageGuide[OL].http://www.w3.org/TR/owl-guide/,10February2004.14DavidMartin,MarkBurstein,JerryHobbs,eta1.OWL—S:SemanticMarkupforWebServices[OL].http://www.w3.org/Submission/OWL-S/,22November2004.15沈玉竹,向勇,张少华,等.扩展BPEL4WS实现基于语义的服务流程动态细化【J].通信学报.2006,27(11):106一l12.16M.Paolucci,T.Kawamura,T.R.Payne,eta1.ImportingtheSemanticWebinUDDI[C],ProceedingsofE-ServicesandtheSemanticWebWorkshop(ESSW2002),2002.London,Springer-Verlag:225—236.59 北京T.qk大学工学硕一lj学位论文l7M.Paolucci,T.Kawamura,T.R.Payne,eta1.SemanticMatchingofW曲ServicesCapabilities[C],ProceedingsofFirstInternationalSemanticWebconference(ISWC2002),2002.London,Springer-Verlag:333-347.18MarkKlein,AbrahamBernstein.SearchingforServicesontheSemanticWebUsingProcessOntologies.InProceedingsoftheInternationalSemanticWebWorkingSymposium(SWWS).19TomBellwood.UDDIVemion2.04APISpecification【OL】.http://uddi.org/pubs/ProgrammersAPI-V2.04-Published-20020719.htm,19July2002.20FrankManola,EricMiller.RDFPrimer[OL].http://www.w3.org/TR/rdf-primer/,10February2004.21宋炜,张铭.语义网简明教程【M】.高等教育出版社,2004:120.145.22VKashyap,A.Sheth.Semantics-basedInformationBrokering[J],InProceedingsofthethirdInternationalConferenceonInformationandKnowledgeManagement(CIKM),1994.NewYork.ACMPress:363-370.23A.Sheth.ChangingfocusOilinteroPerabilityinsystems:Fromsystem,syntax,structuretosemantics[J].InM。Kottman,editors,InteroperatingPublishers,l998,5-30.24Benjamins,V.D.Fensel,et.a1.KnowledgeManagementthroughOntologies[J].ProceeedingsoftheSeceondInternationalConferenceOilPracticalAspectsKnowledgeManagement,1998.Basel,Switzerland:29—30.25DeborahL.McGuinness,FrankvanHarmelen.OWLW曲OntologyLanguageOverview[OL].http://www.w3.org/TR/owl-features/,10February2004.26MichaelK.Smith,ChrisWelty,DeborahL.McGulnness,eta1.OWLWebOntologyLanguageGuide[OL].http://www.w3.org/TR/owl-guide/,10February2004.27DavidMartin,MarkBurstein,JerryHobbs,eta1.OWL—S:SemanticMarkupforWebServices[OL].http://www.w3.org/Submission/OWL-S/,22November2004.28FrancescoColasuonno,StefanoCoppi,AzzurraRagone,eta1.jUDDI+:ASemanticWebServicesRegistryenablingSemanticDiscoveryandComposition[C].Proceedingsofthe8thIEEEInternationalConferenceonE-CommerceTechnologyandthe3rdIEEEInternationalConferenceonEnterpriseComputing,E—Commerce,andE—Services(CEC/EEE’06),2006.Washington,IEEEComputerSociety:69.29JimLuo,BruceMontrose,AnyaKim,cta1.AddingOWL·SSupporttotheExistingUDDIInfrastructure[C],IEEEInternationalConferenceonWebServices(ICWS’06),2006.Washington,IEEEComputerSociety:153—162.30NaveenSrinivasan,MassimoPaolucci,KatiaSycara.AnEfficientAlgorithmforOWL—SBasedSemanticSearchinUDDI[C],SWSWPC2004.Spfinger-Vedag,Berlin:96一110.60 参考文献31JimLuo,BruceMontrose,MyongKang.AnApproachforSemanticQueryProcessingwithUDDI[C],OTMWorkshops2005.Springer-Verlag,Berlin:89—98.32XiaojieDong,WeiqinTong,JinFeng.UsingCategorizationtoFurtherEnhancetheUtilizationofSemanticWebinUDDI[C],ProceedingsoftheFirstInternationalMulti-SymposiumsonComputerandComputationalSciences(IMSCCS’06),2006.Washington,IEEEComputerSociety:475-479.33Kyong-HaLee,Tae—KyungLee,Kyu—ChulLee.AMethodtoIntegrateBusinessRegistriesbyUsingOWL·SOntologies[C],ProceedingsoftheInternationalConferenceonNextGenerationWebServicesPractices(NWeSP’05),2005.Washington,IEEEComputerSociety:131.34DavidMartin,MassimoPaolucci,SheilaMcllraith,eta1.BringingSemanticstoWebServices:TheOWL-SApproach[C],SWSWPC2004.Springer-Verlag,Berlin,2005:243.277.35TakahiroKawamura,Jacques·AlbertDeBlasio,TetsuoHasegawa,eta1.PublicDeploymentofSemanticServiceMatchmakerwithUDDIBusinessRegistry[C],ISWC2004,2004.Springer-Verlag,Berlin:752—766.36YuhuaLi,ZuhairA.Bandar,DavidMcLean.AnApproachForMeasuringSemanticSimilarityBetweenWordsUsingMultipleInformationSources[J].IEEETransactionsonKnowledgeandDataEngineering.2003,l5(4):871—882.37夏吴翔,王玉影,宣照国,等.基于概念相关性度量的语义Web服务匹配:模型及匹配器原型【J】.情报学报.2008,27(3):375.385.38GA.Miller.WordNet:ALexicalDatabaseforEnglish[J].Comm.ACM,1995,38(11):39-41.39W.N.Francis,H.Kucera.BrownCorpusManual--RevisedandAmplified[OL].http://khnt.hit.uib.no/icame/manuals/brown/INDEX.HTM,1979.40GA.Miller,W.GCharles.ContextualCorrelatesofSemanticSimilarity[J].LanguageandCognitiveProcesses.1991,6(1):pl-28.4l徐利谋.基于语义的Web服务发现研究【D】.湖南工业大学硕士论文.2008:29.30.42KristinaToutanova,ChristopherD.Manning.EnrichingtheKnowledgeSourcesUsedinaMaximumEntropyPart—of-SpeechTagger[C].ProceedingsoftheJointSIGDATConferenceonEmpiricalMethodsinNaturalLanguageProcessingandVeryLargeCorpora(EMNLP/VLC一2000),HongKong,2000.NewJerseBAssociationforComputationalLinguistics:63—70.43Schutze,H.WordSenseDisambiguationWithSublexicalrepresentations[C】.InAAAIWorkshoponstatistically—BasedNLPTechniques,1992.California,AAAI:109一ll3.44XuXianghHa,HuangJialai,WanJian,eta1.AMethodforMeasuringSemanticSimilarityof6l 北京丁业大学1二学硕十学位论文!!曼曼曼曼曼!!曼!!!!曼曼!!曼兰!曼!曼!!!曼曼曼!IllI!曼!曼!!!!!!!!曼!曼皂!!!!!苎曼!!!!!!!!!苎!!曼曼!曼曼曼!皇!曼曼ConceptintheSameOntology[C].IMSCCSComputerandComputationalSciences,2008.207.213.。08InternationalMultisymposiumsonWashington,IEEEComputerSociety:45钟福金.基于过滤级的语义Web服务发现策略[J】.计算机工程与设计.2007,2806):4582-4584.46郑德.基于语义的w曲服务发现与匹配的研究[D】.武汉理工大学硕士论文.2007:58—59.47PrasannaGanesan,HectorGarcia—molina,JenniferWidom.ExploitingHierarchicalDomainStructuretoComputeSimilarity[J].ACMTransactionsonInformationSystems.2003,2l(1):p64—93.48彭薇.一种改进的语义Web服务匹配算法[J】.现代图二伟情报技术.2007,(10):76-79.49徐德智,郑春卉,K.Passi.基于SUMO的概念语义相似度研究[J】.计算机应用.2006,26(1):180—183.50YuchenFu,TaoJin,XinghongLing,etal。AMultiStrategySemanticWebServiceMatchingApprach[C].2007.InternationalConferenceonConvergenceInformationTechnology,2007.Washington,IEEEComputerSociety:253—256.51PengHui,ShiZhongzhi,ChangLiang,eta1.ImprovingGradeMatchtoValueMatchforSemanticWebServiceDiscovery[C].ICNC’08FourthInternationalConferenceonNaturalComputation,2008.Washington,IEEEComputerSociety:232—236.52张献,李舟军,李梦君.一种关于语义w曲服务匹配的策略和实现【J】.计算机科学.2007,l(34):99—103.53GongzhenWang,DonghongXu,YongQi,eta1.ASemanticMatchAlgorithmforWebServicesBasedonImprovedSemanticDistance[C].4thInternationalConferenceonNextGenerationWebServicesPractices,2008.Washington,IEEEComputerSociety:101-106.54潘云峰,蔡明.基于OWL-S的w曲服务匹配模型设计【J】.计算机工程与设计.2007,28(9):2145—2147.55M.Buckland,EGeyTherelationshipbetweenrecallandPrecision[J].JournaloftheAmericanSocietyforInformationScience.1994(45):12-19.56Hogeboom,M,FuhuaLin,Esmahi,L.Constructingknowledgebasesfore-learningusingProtege2000andWebservices[C].AdvancedInformationNetworkingandApplications,2005.AINA2005.19thInternationalConferenceon,2005.Washington,IEEEComputerSociety:2l5-220.62 攻读硕上学位期间发表的学术论文攻读硕士学位期间发表的学术论文1.陈颖,于书举.基于MBSAxapta的短信商务系统的设计与实现[J].计算机应用研究.2009.7.63 致谢.首先感谢我的导师于书举老师,从本文的选题、研究到撰写的过程中,于老师不断的给予我指导,并提出很多宝贵意见,帮助我最终顺利的完成论文。其次要感谢于书举和许向众两位老师在过去三年的研究生生活中给予我的谆谆教诲,两位老师不仅在科研上使我受益匪浅,同时在生活上也给予我们很多关心照顾,使我顺利走过三年的研究生生活。此外,感谢在本科四年的学习生活中所有给过我指导的老师,正是由于他们在本科阶段对我的指导,为我打下了坚实的基础,从而为我研究生阶段的学习做了良好的铺垫。还要感谢我的母校北京工业大学,在过去的七年时间里,母校为我提供了良好的环境和优秀的师资力量,使我能够得到自由的发展。同时还要感谢实验室的周雅稚,谢俊以及已经毕业的师兄师姐,在和他们讨论问题的过程中,我也得到了很多启发。另外,还要感谢我的父母,他们是我人生的第一任老师,在我成长的过程中持续给我无尽的关爱。最后,感谢所有曾给予我关心和帮助的老师、同学、家人和朋友165

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭