Web服务发现

2024-05-11

Web服务发现(共8篇)

Web服务发现 篇1

0 引言

Web服务是一个崭新的分布式计算模型,是Web上数据和信息集成的有效机制,是完全低耦合的,它提供了从简单请求到复杂商业过程的功能,一旦Web服务被部署,就能被其他应用程序(或其他Web服务)发现并调用[1,2]。许多传统的Web站点,像Google和Amazon.com都通过Web服务的APIs来提高各自的通信量[3]。一个典型的Web服务体系结构包括三个实体:服务提供者、服务代理商、服务请求者,由三个主要的规范组成:WSDL、UDDI、SOAP[4]。在Web服务框架中,服务代理商是一个统一的注册库,负责服务提供商发布服务的注册并建立索引,另外还处理:事务监督、安全映射、基于内容的路由等。服务发现是用户找到符合自己需求的服务的过程。当人们在使用Web服务和其他面向计算的服务模式时,服务发现是其中一个最有挑战性的问题。服务发现也是促进服务组合自动化一个关键性过程。支持服务发现的有效机制对Web服务组合是很有用的。所以,Web服务发现已经引起了广大研究者的兴趣。

对于Web服务发现来说,现有不同的研究方法。基于语法的服务发现、基于语义的服务发现、基于本体的服务发现[5]以及基于代理的服务发现[6]等等。其服务发现过程都是客户根据语法、语义和策略在服务注册机构中一个一个地查找满足条件的服务,然后在返回的多个服务中选择满意的服务结点,最后组合成符合用户需求的服务流。这些服务发现方法都没有考虑服务提供组织提供的系列服务之间的联系和客户需求系列服务之间的逻辑关系。从注册中心中发现合适的服务是一件非常耗时的工作,因为需要搜索的空间呈指数级增长,因此如何进行有效的Web服务发现变得越来越重要。在文献[7,8]中,提出了一种基于图搜索的服务发现算法,当有多个Web服务满足用户的请求时,它使用Web服务的输入和输出参数间的关系来组合Web服务满足用户的需要。发现和组合的过程运用了典型的图搜索理论。从实验结果知道,服务发现的效率大大提高了,然而他们并没有研究是否有可能在UDDI注册中心的Web服务之间建立一个图索引,也没有考虑用户可以把他们的请求描述成一个电子工作流过程,而不仅仅是一个任务。基于这些发现,在本文中,我们提出了Web服务图,并研究其在服务发现中的应用。

1 Web服务图

1.1 概念

Web服务图的概念是在Web图的理论基础上提出来的。Web图是一个非常有意思的研究课题,自从90年代Web开始流行后,就出现了很多文章和实验来描述Web图,也产生了大量非常有用的实验结果,比如:将Web图应用到Web搜索中,可以提高Web搜索的效率,也使得主题分类算法变得更加精确。在Web图中,图中的顶点代表的是网页或网络站点,图中的边代表的是网页与网页,或者是网站与网站之间的超链接。

既然Web页面和网站可以用一个图来表示,那么Web服务呢,我们是否也可以用一个图来表示呢?尽管Web服务之间的关系不像Web页面一样明显,但在实际的过程中,Web服务之间也是存在某种关系的,如图1所示。

共有五个独立的商业组织,他们分别提供自己的服务:(1)Travel Agency:提供旅游服务,如组织到各个不同的景点旅游;(2) Airways:提供有关铁路部门的服务,如购买去全国各地的火车票;(3) Theater:提供剧院有关的服务,如购买某场影剧的票;(4) Hotel:提供酒店住宿服务;(5) Supermarket:提供超市购物的服务。Travel Agency A有一个隐含的链接连接到Airways A、Hotel A与Hotel B,它们之间之所以能够建立联系,也许是由于它们之间是商业合作伙伴,Airways A有一个隐含的链接连接到Hotel A,Hotel A与Theater A、Supermarket A、Supermarket B之间存在合作伙伴关系,从这个例子可以看出,实际的Web服务图是存在的,但是它们之间的链接关系不能够被计算机所识别,是隐式的。

定义1一个Web服务w有两组参数:w.in={I1,…,Ip}是SOAP请求的输入集合,w.out={01,…,Oq}是SOAP请求的输出集合。当w被所有输入参数w.in调用的时候,它将返回输出参数w.Out。

命题1 (有向链接)如果一个Web服务的服务请求输入集合wj.in是另一个Web服务的服务请求输出集合wi.out的子集,即wi.out⊇wj.in,那么就认为服务wi到服务wj语义关联。

定义2一个Web服务图是由一组节点V和一组弧E构成的有向图。每条弧是一对有序节点(u,v),代表从u到v的有向联系。在Web服务图中,每个节点代表一个Web服务,每条弧代表从服务u到服务v的关系。

图2显示了一个Web服务图,由实体提供的服务之间存在着一些联系。图2中的Web服务图由一系列Web服务组成,如电子签证、预定火车票、预定飞机票、预定酒店、旅游安排A、旅游安排B、预定剧院票等等。有了Web服务图,我们便可以做很多有用的工作。例如:因为服务“电子签证”与服务“预定飞机票”存在有向链接,如果有人请求签证和飞机票,他就能首先发现“电子签证”服务,然后使用“电子签证”与“预定飞机票”之间的链接直接找到“预定飞机票”的服务。这就没必要去查找所有的“预定飞机票”服务,其数量可能是数百甚至上千个。Web服务图在Web服务发现中扮演了重要角色,特别是对于组合Web服务请求来说,它可以节省大量的时间。

1.2 Web服务图的构造原理

在某种程度上来说,在UDDI中心构造Web服务图是复杂的。因为Web服务间的链接不像网页间的超链接那么简单、直接。网页间的超链接只是从一个页面跳转到另一个页面。然而,对于Web服务间的链接(u,v),需要考虑v的输入参数和u的输出参数(命题1中提出的)。

已经发布在UDDI注册中心的Web服务之间的关系是能够被抽象出来的,例如:虽然旅行社的服务是由旅行社提供的,住酒店服务是由酒店行业提供,预定火车票由铁路运输部门提供,旅行的景点又由旅游部门提供,但它们之间预先建立好的关系,可以在UDDI注册中心中通过UDDIv2中引入的新特性:关联关系断言来体现。

为支持企业集团注册多个彼此具有某种关联关系的businessEntity(关于企业的信息),UDDlv2提供了关联关系断言的这个特性。通过关联关系断言,使得企业集团在UDDI注册中心中能以多个组成部分的形式来实施注册。关联关系的基本模型是使用了publisherAssersion这个断言元素。

比如我们要将酒店和交通运输部门关联起来,可以在UDDI中加入publisherAssersion。酒店部门与交通部门必须都发布断言,UDDI操作入口站点匹配了这两个断言,当双方的断言一致后,UDDI将会使这样一个关联关系有效。

当定义好了断言后,两个服务实体之间就建立了关联。任何通过传入BK1或BK2作为business Key而对find_relatedBusinesses这个查询API进行调用的用户都会发现这个关联关系,从而获得一组与bussinessEntity相关的企业结构列表。通过这种手段我们就可以将企业之间的联系抽象成一个图(如图3所示)。

1.3 UDDI注册中心的Web服务图存储

为了更好地处理Web服务图,最好把它存储在计算机中。我们采用基于邻接矩阵的数据结构来存储Web服务图。

定义3 G代表一个有向图,它包括顶点集V(G)={v1,v2,…,vn}和边集E(G)={e1,e2,…,em}。在有向图G中,令aij为vi邻接到vj的边的条数,称[aij]n×n为G的邻接矩阵,记作A(G)。如果vi是ej的一个端点,那么[mi,j]n×m的值为1,否则就为0,称[mij]n×m为G的关联矩阵,记作M(G)。

图2中的Web服务图可被描述成如图4所示邻接矩阵。矩阵中的v1,v2,v3,v4,v5,v6和v7分别代表电子签证、预定火车票、预定飞机票、预定酒店、旅游安排A、旅游安排B和预定剧院票服务。邻接矩阵的数据结构可用Java表示出来。

1.4 Web服务图构造算法

Web服务流的定义如下:

定义4一个Web服务可以用下面的表达式来描述:WSi(Ii,Oi),其中WSi是Web服务请求的名字,Ii是服务请求的输入集合,Oi是服务请求的输出集合。

定义5一个Web服务请求可以用下面的表达式来描述:WSRk(Ik,Ok),其中:WSRk是Web服务请求的名字;Ik是该服务请求的输入集合;Ok是该服务请求的输出集合。

定义6对于两个服务wSi(Ii,Oi)和WSj(Ij,Oj),如果有,则称从服务WSi到WSj语义关联,记为WSi>WSj,其中,WSi称为WSj的前驱服务,WSj称为WSi的后继服务。

定义7对于服务请求WSRk(Ik,Ok)和服务WSi(Ii,Oi),如果Ii⊇Ik,则称从服务请求WSRk到服务WSi语义关联,记为WSRk>WSi,其中,wSi称为WSRk的后继服务;如果Oi⊇Ok,则称从服务WSi到服务请求WSfRk语义关联,记为WSi>WSRk,其中WSi称为WSRk的前驱服务。

定义8一个服务流是指能够满足某个服务请求WSRk的一个服务序列WS1,WS2,…,WSn,该序列满足以下三个条件:

算法1构造了Web服务图并把Web服务图存储在UDDI注册中心。图中的各Web服务是语义关联的,就像一个数据库索引。

算法1中,首先找到business entity间的关系。根据命题1,如果相关的business entity中的Web服务存在有向链接,那么Web服务图的索引中将相应地增加一条边。

假设UDDI注册中心中有n个服务,服务与服务之间存在关系的可能性为概率p,这样Web服务图中会有pC2条边,因此算法1的时间复杂度为pnC2+pC2,也就是O(n3)。

2 基于Web服务图的服务发现

Web服务图对服务发现或服务组合都是有效的,因为用户请求也可被描述成图。在现实生活中,人们可以使用电子工作流建模工具或者面向用户的程序设计方法把自己需要完成的任务或目的进行分解,一般为自顶向下的分解技术。例如:要出国旅行,我们可以先使用电子工作流建模工具制定一个计划,如图5所示。每个任务的Web服务发现可以使用两种方式执行。传统的方法就是METER-S[9]中所提到的,一个接着一个进行服务发现。首先找到并选择“电子签证”服务,然后执行“预定火车票”服务,最后是“预定剧院票”服务。那么,对于每个任务,可能有成百上千个Web服务满足。这对于组合Web服务请求来说,是非常耗时的。如果使用语义覆盖Web服务来构造Web服务图,那么就可以使用图匹配原理,从UDDI中心方便、快速地找到整个组合Web服务请求。

定义9如果V(G)⊆V(H),且H(G)⊆E(H),那么认为图H是图G的子图。并且在H中端点到边的任务与G中相同。

在得到客户需求图和从UDDI库中抽取出服务提供商提供的Web服务图后,我们就可以对这两个图进行匹配,根据选择最大匹配服务流序列的原则,找出满足服务请求的服务组合,具体的服务发现算法如下所述(从头节点开始匹配的算法):

(1)按照广度优先算法遍历客户服务请求图。

(2)每遍历一条边,从服务提供图中寻找是否存在这样一条边:边对应顶点的信息和相应的客户需求服务图相同。

(3)每成功遍历一条边,匹配度加1,重复过程(2),直到不能匹配为止,选择出匹配度最大的服务流序列作为整体服务流的一部分。

(4)继续从整体服务流中不能匹配的服务出发,重复过程(2)、(3),直到得到满足客户需求的服务序列。

算法2的形式语言描述如下:

算法2基于Web服务图的匹配的算法

在算法2中,由于客户端的服务请求图只有有限条边,假设边的条数为C,此外假设UDDI注册中心中有n个服务,而且其中任意两个服务之间存在关系的概率为p,则UDDI注册中心中的Web服务图存在的边的条数为,则算法2的时间复杂度为,也就是0(n2)。

3 仿真实验

在仿真实验过程中,我们对传统的Web服务组合方法[9]与基于Web服务图的匹配算法2进行比较。

3.1 实验环境

硬件环境CPU为Intel Pentium4 3.0GHz,内存为512MB,操作系统为Windows XP,算法实现语言为Java,工具是Eclipse。

实验数据虽然前人提出了一种Web服务测试数据自动生成方法,但并不适合本文的仿真实验,因此,本文采用随机生成的模拟Web服务与服务的QoS,及根据概率模型来模拟服务之间是否存在关系,我们共生成6个数据集,它们包含的服务总数分别为:500,1000,2000,4000,8000。在这次仿真实验中,使用MySql数据库模拟UDDI库,数据库的表字段为:(1)服务在UDDI库中的标识码,我们通过MySql的DBMS按照Increase方法自动生成。(2)服务描述:服务提供商所提供的服务种类,我们假设有100种不同的服务,分别用数字1-100来表示,在实验中用随机数来产生。(3)服务的QoS:为实验的方便这里仅使用一维的QOS(C),C:服务的价格开销,为了尽量模拟真实,我们假设同一种服务的QoS上下波动范围为15%。(4)服务的断言:服务与服务之间是否存在关系,保存有关系服务的服务标识码,类似指针,服务与服务之间是否有关系采用概率分布中的几何分布模型,假设两个服务之间有关系的概率为1/500。

另外,假设在数据库中每执行一次操作,消耗的时间为0.1ms。然而,仅仅考虑服务结点的耗费是不够的,还需要将Web服务图中边的代价考虑进来,在实际的Web服务组合的过程中,从一个服务到另一个服务是要代价的,而且有关联的服务之间的代价比没有关联服务的代价要小得多。为了模拟这样的一种情况,我们建立了下面的这个模型:

我们假设有50个城市,城市与城市之间距离是不同的,它们之间的距离就是服务与服务之间代价的一部分,我们把所有的服务分布到这50个城市中去,定义服务与服务之间边的代价函数为y=kf(x),其中y是距离x的函数,k是比例系数,若两个服务之间存在关系则0

3.2 实验结果

(1)比较反应时间在服务总数为500,1000,2000,4000,8000的5个数据集上分别使用随机产生的30个服务请求,比较两种不同的方法在组成这个服务流上所耗费的时间。实验结果如图6所示。从图6可以看出,随着服务数目的增多,基于图的匹配的组合方法在反应时间上的优势就体现出来了,而且越来越明显,其主要原因是搜索数据库的次数减少了。根据实验结果,如果我们的服务流包含30个服务,按照传统的组合方法,我们需要对整个数据库搜索30次,而采用基于图的匹配的组合方法,大大地减少了搜索的次数。由图7可知,随着服务数量的不断增多,搜索数据库的次数反而逐渐减少。

(2) QOS结果从图8可以看出,如果我们将服务节点和边的代价考虑进来,普通组合方法的QoS大部分情况下还是要高于基于图的匹配组合方法的QoS,但是相差得不大。这是因为普通的方法每次都是选择出QoS最优的服务,而基于图的匹配方法则是选择出匹配度最大的系列服务。

3.3 结果分析

从以上的实验结果可以看出,新方法存在以下优势:(1)基于图的匹配组合方法与普通组合方法相比,在反应的时间上占有很大的优势,服务数量越多,优势越明显。(2)而在QoS的比较上,并不比普通组合方法差得太远,大概5%左右。

4 结束语

Web图是一个有趣的研究课题,在实际中应用广泛。UDDI v2中新增加的特性使得创建一个服务关系索引成为了可能。利用UDDI注册中心的Web服务图,把组合的Web服务发现问题变成了图匹配问题。在前人的工作基础上,本文提出了Web服务图及其应用。首先讨论了Web服务图原理和构造算法,然后提出并分析基于Web服务图的服务发现算法。最后仿真实验,由实验结果得知,对于组合Web服务发现来说,Web服务图是种非常有效的方法。

将来要做的工作包括Web服务图的更新和维护以及基于图的组合Web服务发现算法的优化。

参考文献

[1]Langdon C S.The State of Web Services[J].IEEE Computer,2003,6: 93-94.

[2]Wang H B,Huang J Z,et al.Web Services:Problems and Future Directions [J].Web Semantics:Science,Services and Agents on the World Wide Web,2004,(1):309-320.

[3]Menasce D A.Response-Time Analysis of Composite Web Services [J].IEEE Internet Computing,2004,12.

[4]Roy J,Ramanujan A.Understanding Web Services[C].IEEE IT Pro, 2001,12.

[5]Bianchini D,Antonellis V D,Pernici B,et al.Ontology-based methodology for e-service discovery[J].Information Systems,2006,31(4,5): 361-380.

[6]Huang C L,Lo C C,Li Y S,et al.Service Discovery through Multi-Agent Consensus[C].Proc.of the 2005 IEEE International Workshop on Service-Oriented System Engineering,(SOSE'05),2005.

[7]Oh S C,0n B W.Larson E J,et al.Web Services Discovery and Composition as Graph Search Problem[C].Proc.of the IEEE International Conference on e-Technology,e-Commerce and e-Service(EEE),Hong Kong,China,March 2005(Web Service Challenge Contest).

[8]Li M.Wang D Z,Du X Y,et al.Dynamic Composition of Web Services Based on Domain Ontology[J].Chinese Journal of Computer,2005,28 (4):644-650(In Chinese).

[9]Cardoso J,Sheth A.Semantic E-Workflow Composition[J].Journal of Intelligent Information Systems,2003,21(3):191-225.

Web服务发现 篇2

Windows Server 2003 中Internet 信息服务(IIS) 升级为IIS 6.0,其安全性更高。默认情况下,Windows Server 2003没有安装IIS 6.0,要通过控制面板来安装。具体做法为:

1. 进入“控制面板”。

2. 双击“添加或删除程序”。

3. 单击“添加/删除 Windows 组件”。

4. 在“组件”列表框中,双击“应用程序服务器”。

5. 双击“Internet 信息服务(IIS)”。

6. 从中选择“万维网服务”及“文件传输协议(FTP)服务”。

7. 双击“万维网服务”,从中选择“Active Server Pages” 及“万维网服务”等。

安装好IIS后,接着设置Web服务器,具体做法为:

1. 在“开始”菜单中选择“管理工具→Internet信息服务(IIS)管理器”,

2. 在“Internet 信息服务(IIS)管理器”中双击“本地计算机”。

3. 右击“网站”,在弹出菜单中选择“新建→网站”,打开“网站创建向导”。

4. 依次填写“网站描述”、“IP 地址”、“端口号”、“路径”和“网站访问权限”等。最后,为了便于访问还应设置默认文档(Index.asp、Index.htm)。

上述设置和Windows 2000 Server网站设置基本相同,但此时Web服务还仅适用于静态内容,即静态页面能正常浏览,常用Active Server Pages(ASP)功能没有被启用。所以还应在“Internet 信息服务(IIS)管理器”的“ Web 服务扩展”中选择允许“Active Server Pages”。

另外,还应注意如果Web服务主目录所在分区是NTFS格式,而ASP网页有写入操作时(如用到新闻后台管理功能的),要注意设置写入及修改权限。

Web服务发现 篇3

关键词:Web服务发现,Web服务匹配,语义聚类,主题模型

1 介绍

Web服务作为一种分布计算技术, 已经引起了工业界和研究界的极大兴趣。Web服务采用开放标准的接口和协议, 可以作为一个基本的软件组件用于面向服务的应用程序 (SOA) 中。当前, 在Web服务领域, 研究人员主要集中于两个领域:Web服务发现和Web服务合成。

W e b服务发现通常被定义为可用的Web服务的功能匹配服务使用者需要的过程。Web服务的功能通常隐含在服务的名称、方法的名称以及一些包含在服务中的描述信息。这些功能可以通过使用标准的Web服务描述语言 (WSDL) 表述成一个抽象的接口。通过标准的Web服务描述, 各种方法被开发用来发现Web服务, 如Web搜索引擎、服务门户网站以及服务注册, 如UDDI。UDDI在语法上允许使用基于关键字的搜索和基于分类目录的服务浏览。因此, 在UDDI中, 一个服务查询者可以使用关键字获得相关服务。

然而, 被UDDI和绝大多数服务搜索引擎使用的关键字发现机制存在一些重大缺陷。首先, 基于关键字搜索得到的Web服务数目巨大, 使得用户找到需要的服务非常困难。虽然可以通过压缩数据从而减小返回的Web服务大小, 然而, SVD和SVM之类的技术不适合于处理大规模文档集合, 因为SVD的存储和计算成功太高。

第二, 关键词不足以表达语义概念。部分原因是关键词通常使用自然语言描述。自然语言中大量存在的同义词使得查全率降低, 大量存在的多义词导致查准率降低。因此, 查到的服务可能完全与期望的服务无关。为了解决这个问题, 研究人员提出了语义Web的概念, 在语义Web中, 本体被用来表示Web服务中的元素。然而, 集成不同的本体比较困难, 而且本体的创建和维护本身也需要巨大的人力。

针对上述问题, 本文提出了一种基于聚类算法的两阶段Web服务发现机制。第一阶段, 给定一个查询, 首先通过聚类算法过滤掉哪些内容与查询不符合的Web服务;第二阶段针对这个数据集使用PLSI算法, 进一步进行聚类获得一个有限的语义相关组, 使用PLSI方法可以发现隐藏在查询和Web服务中的语义概念, 这样服务匹配可以在语义概念层次进行。

2 相关工作

Dong等[1]提出了一种用于搜索Web服务的聚类算法, 这种搜索算法分为两个阶段:一个用户首先在搜索引擎中输入关键词去寻找相对应的服务;然后, 基于这些被返回的服务集, 应用算法从Web服务的自然语言描述中提取语义概念。特别地, 如果相同的词语出现在输入和输出、操作的名称、Web服务的描述中, 这个算法应用凝聚聚类算法将这些术语聚类成有意义的概念。通过原先的关键词和从服务的描述中提取出的概念的结合, 两个Web服务的相似性可以在概念层次进行比较, 改进了查全率和查准率。

Arbramowicz等[2]提出了一种用于Web服务过滤和聚类的架构。服务过滤基于代表用户和应用程序信息的profiles, 这个可以进一步通过OWL-S描述。为了提高过滤过程的有效性, 在过滤过程中应用聚类分析算法比较服务集与相关簇。这个过程的目标是节约执行时间和改进存储数据的提炼效果。另一个相似的Web服务发现机制[3]集中在使用OWL-S和聚类技术上, 该方法包含3个步骤:首先需要使用聚类算法对各种Web服务进行分组;然后OWL-S跟WSDL结合来代表服务的语义;最后, 通过将用户查询与所有簇进行匹配, 返回合适的服务。

方法[4]关注基于目录的服务发现上, 首先Web服务被聚类到预先定义的层次结构商务目录上。在这种情况下, 合理的服务发现性能取决于服务提供者和服务查询者在服务的组织架构上是否有预先了解。

本文提出的方法与[1,2,3]相似, 关键词被用来获得初始Web服务集合, 然后使用聚类算法从Web服务的自然语言信息描述中提取语义概念。不同之处在于, 对通过关键词获得的初始Web服务集合首先通过应用一个聚类算法消除无关服务, 减小返回服务集的大小。

3 Web服务发现框架

本文提出的Web服务发现机制结合关键词技术和语义提取技术, 目标是降低计算大量数据集的成本以及可以在语义概念层次上进行服务匹配。为了实现这个目标, 在获得一个最初的服务集后, 首先使用一个修改过的聚类算法消除无关服务, 然后使用PLSI算法提取Web服务和查询之间的相同语义概念, 使得服务匹配可以在概念层次上进行。

该方法基于这样一个假设:发现服务的效率可以通过在使用语义提取算法之前消除无关数据来实现。如图1所示, 主要有以下几个步骤组成:给定一个查询, 本方法首先从Internet获得一个Web服务集, 返回的数据中可能包含与查询无关的服务, 可以通过使用聚类算法将无关的服务过滤掉, 从而得到一个加工过的服务集;接下来在这个服务集上应用PLSI算法, 进一步将该数据集聚类成有限个语义相关的集合。这个阶段主要目标是获得Web服务的潜在语义概念;最后, 用户查询和Web服务的语义相似性在相关的簇中进行比较。

4 算法分析

4.1 消除无关服务

当用户输入一个查询, 利用VSM技术[6], 通过计算查询和服务之间的相似度, 可以首先从Internet上获得一个Web服务样本集。考虑这个可能性:初始获得服务集可能包含一些与用户查询无关的数据, 因此为了提高服务发现的效率和降低计算成本, 有必要清除这些无关数据。因为一方面, 这些数据可能降低算法的准确性, 另一方面, 会增加计算负担。因此, 本文提出的Web发现机制的第一阶段就是要清除这些无关数据。

几种方法可以用来清除这些无关数据。一种可能的方案是, 基于特征值选取, 如[5]。这种方法, 首先设置一个数字阈值, 然后计算数据对象出现在集合中的个数和次数。如果这个数值小于预先定义的阈值, 这个对象被视作一个无关数据, 被清除。

本文使用一个不同的方法清除无关服务数据。这个方法包含两个步骤:首先使用聚类算法将初始服务集划分成不同的簇, 并计算出簇中心;接下来, 计算每个数据对象与每个簇中心的距离, 如果距离大于预先定义的阈值u, 这个数据对象被视作无关数据, 应当清除。

定义1:假设对于查询q, 返回w个服务S={s1, s2, …, sw}, 聚类S到k个簇C={c1, c2, …, ck}。如果满足, k

本文采用的聚类算法是k均值算法, 服务集S被分为k个簇cj, 每一个簇的中心被表示为:, 这里|cj|表示的是簇cj的数据个数。

数据is和簇中心cmj的距离采用欧式距离公式计算:

下面的目标函数被用来表示聚类的质量:

一直运用k平均值算法, 直到目标函数达到最小值。

4.2 基于PLSI的服务发现

本文提出的Web服务发现机制的第二阶段基于主题模型。主题模型的核心思想是认为一个文档是由一系列的主题分布组成的, 而每个主题又是由一系列的关键词组成。区别于传统bag of words模型, 主题模型强调文档是由文档—主题—关键词3层关系组成, 而不仅仅是文档—关键词, 即文档不是仅有单个主题组成, 而是由多个主题组成。主题模型是一种生成概率模型, 可以应用于文本数据、图像、生物图像以及其它多维数据的识别、分类和数据挖掘。

本文采用目前被广泛使用的主题模型PLSI。PLSI使用一个贝叶斯网络建模一个观察事件, 这个观察事件由两个随机变量使用一个概率分布集合。在文本的上下文概念中, 一个被观察事件对应一个单词w在一个文档中的出现次数。PLSI模型通过引入一个称为隐藏因子变量Z={z 1, z2, z3, ..., zk}的中间层将关键词与对应文档间接关联在一起。

基于这个假设, 文档和单词是条件独立的, 当隐含概念被给定时, 观察对 (di, wj) 的联合概率的计算公式:

从公式 (1) , PLSI模型通过映射高维的词语-文档矩阵到低维的语义空间 (k维) , 降低了计算复杂度。

这个被学习的隐含变量可以被用来聚类Web服务。已经提到过, Web服务可以被描述成在隐含变量zf∈Z=z 1, z2, ..., zk上的多项式概率分布P (z f|d) 。这种表示方法反应了某个服务属于某个概念组的似然性。给定一个Web服务di, 如果针对一个指定的因子zf的概率分布是高的话, 那这个Web服务di可以被聚类到主题zf中。这也表示PLSI模型可以作为一个聚类方法, 将一个被观察的对象映射到相对应的自然概念。换句话说, 如果服务用户的一个查询与某些Web服务紧密相关, 则查询和Web服务应该有更高的概率被映射到一些因子上, 相反应该以较低的概率映射到其它因子上。

因此, 针对每一个隐藏主题因子, 可以使用公式 (2) 计算对于一个确定的Web服务di的P (z f|di) , 并得到一个最大值Zmax (d i) , 然后使用这个值作为这个服务的类标号。使用这种方法, 所有的Web服务文档可以被聚类到不同的类别, 每一个类别的Web服务属于相似类型。

本文提出的基于PLSI的聚类服务算法的基本步骤如下:

输入:服务矩阵

输出:k个服务簇

步骤1:选择一个服务, 使用公式 (2) 计算机相对于每个隐藏变量的概率。

步骤2:找到最大值

步骤3:把这个服务归到相对应的组, 选择下一个服务。

因为查询可能在模型之外, 需要使用EM[7]算法将查询嵌入模型中。最后, 使用下面公式计算相似性:

5 实验分析

本文的实验采用了Internet上检索的W e b服务数据集。该数据集包括4 2 4个WSDL文件, 覆盖25个类别, 如天气信息、邮政编码等。基于PLSI主题模型的Web服务发现机制, 需要首先训练PLSI概率语义模型, 为止设置隐含语义变量的数目从2一直到20, 代表20个训练类别。用Business, Money, Converter, Communication四个类别作为测试, 并将本文提出的算法和关键词算法在查全率和查准率上进行了比较。

表1给出了4个示例主题, 并且给出了分布其上的5个关键词。

表2是本文提出的方法与基于关键词方法在查准率和查全率上的一个对比, 从表中可以看出, 本文提出的方法在查准率和查全率上比传统的关键词方法有明显优势。

6 结语

针对Internet上大规模Web服务发现问题, 本文通过一个两阶段的Web服务发现方法, 在第二阶段采用PLSI算法挖掘Web服务的潜在语义信息, 实现Web服务和查询之间的精确匹配。通过实验设计和分析, 证明了基于主题模型Web服务聚类机制具有较高的查询效率和精确度。

参考文献

[1]X.Dong, A.Halvey, J.Madhavan, E.Nemes and J.Zhang.SimilaritySearch for Web Services.In Proceed-ings of the 30th VLDB Conference, Toronto, Canada, 2004.

[2]W.Abramowicz, K.Haniewicz, M.Kaczmarek and D.Zyskowski.Ar-chitecture for Web services filteringand clustering.In Internet and WebApplications and Services, (ICIW'07) , 2007.

[3]R.Nayak and B.Lee.Web serviceDiscovery with Additional Semanticsand Clustering.In Web Intelligence, IEEE/WIC/ACM Internationa lConference, 2007.

[4]I.Constantinescu, W.Binder and B.Faltings.Flexible and efficientmatchmaking and ranking in servicedirectories.In Proceedings of the IEEEInternational Conference on WebServices (ICWS’05) , 2005.

[5]B.Mandhani, S.Joshi and K.Kummamuru.A Matrix Density BasedAlgorithm to Hierarchically Co-ClusterDocuments and Words.In the 12thInternational World Wide Web Con-ference (WWW2003) .May 20-24, Budapest, Hungary, 2003.

[6]C.Platzer, S.Dustar.A Vector SpaceSearch Engine for Web Services.Pro-ceedings of the Third European Con-ference on Web Services (ECOWS’05) , 2005.

Web服务发现 篇4

关键词:服务发现,情境,本体,用户反馈

0 引 言

随着Internet、无线通信网络、嵌入式系统和传感器等技术的快速发展与广泛应用,传统的计算模式和计算机软件正在发生重大的变革。普适计算(Pervasive/Ubiquitous Computing)是在分布式计算、通信网络,移动计算、嵌入式系统、传感器等技术基础上发展起来的一种超越桌面计算的全新计算模式。它体现了信息空间和物理空间的融合,使人们可随时随地、透明地获得信息服务[1]。在普适计算环境下,仅仅基于关键字服务发现方法,缺乏对服务内容的理解,已经不能满足用户需求,针对这个问题,人们将语义Web技术同Web服务相结合,产生了语义Web服务。

但是现有的语义Web服务发现方法主要是从服务的功能角度匹配服务,缺乏对服务所处的情境信息的语义描述,所以难以从大量的服务中选择最佳的服务。因此,在服务功能匹配的基础上,对服务的情境信息进行描述,进行基于情境的服务匹配,将得到更合乎用户需求的Web服务,从而提高服务匹配的精度。

本文在研究情境本体和语义Web服务的基础上,提出了一种基于情境的Web服务发现框架,采用本体进行情境建模,利用用户反馈信息进行权重计算,并给出了一个基于相似度的语义Web服务的匹配算法。最后,实验证明了该方法的有效性。

1 情境模型

本体(Ontology) 在哲学领域称为“存在论”,在计算机科学和人工智能领域则译为“本体”。施图德等在格鲁伯和波尔斯特的定义的基础上,对ontology 给出了一个最完整的定义:“ontology 是对概念体系的明确的、形式化的、可共享的规范”[2]。本体具有良好的概念层次结构和对逻辑推理的支持,在查准率和查全率上有更好的保证,因而在Web服务的发现和发现过程中得到了广泛的应用。鉴于OWL-S 在本体描述方面的优越性,本文采用OWL-S作为本体建模语言,并使用Protégé作为本体的编辑工具,制定了Web服务的情境模型。

前人对情境做出了不同的定义,文献[3]提出情境模型主要包含位置、日程安排、活动、时间和服务等。文献[4]提出情境模型分为用户情境和服务情境,其中用户情境主要包含个人偏好、操作历史、网络状态和联网方式等,服务情境主要包含个性化业务情境、实时情境和QoS等。综合前人的研究成果,本文把情境分为用户情境、服务情境和环境情境三大部分。其中,用户情境主要包括用户偏好和用户评价。用户偏好主要指用户在匹配服务时对服务的某些情境的偏好,其中包括网络偏好和设备偏好。用户评价主要指用户对服务的满意程度。服务情境主要包含用户平台和QoS。用户平台指用户使用的联网设备和网络状态,包括硬件设备和网络状态,硬件设备主要指用户所使用的计算设备,如PC或者PDA等。网络状态包括网络延迟、网络带宽和安全性等;QoS主要包括服务价格、可靠性、响应时间和吞吐量等。环境情境指服务状态和用户状态,主要包括服务所在的位置、用户所在的位置,服务执行当前任务的开始时间、结束时间和持续的时间,还有用户目前进行的物理活动和服务活动,物理活动指和网络无关的活动,服务活动指以网络为背景进行的活动。情境模型如图1所示。

2 Web服务发现模型架构

服务发现是一个不断筛选、逐步求精的过程。本文采用的发现策略是将服务发现主要分为两个阶段: IOPE匹配和情境匹配。大体流程如下:服务提供者通过OWL-S/WSDL转换器把服务描述转换成WSDL格式注册到UDDI注册中心;服务请求者通过查询条件生成器把查询条件转换成服务发现引擎可识别的描述,并将其传入发现引擎,首先进行IOPE匹配得到候选服务集,IOPE分别指的是服务的输入(Inputs)、输出(Outputs)、前提(Conditions)和结果(Effects),搜索候选服务列表中的服务,计算每个候选服务与请求服务之间的IOPE匹配度,如果匹配度大于或等于服务请求者所能容忍的匹配度,则将其加入到候选列表中。然后进行情境匹配,计算候选列表中的每个服务与服务请求之间的情境匹配度,如果得到的匹配度大于等于服务请求者所能容忍的匹配度,将其加入到最终结果列表中。最后通过排序管理模块对匹配结果进行排序,把服务结果集返回给查询条件生成器,通过查询条件生成器把符合用户要求的结果集返回给用户。依据此思想设计的Web服务发现模型框架如图2所示。

下面阐述各功能模块的主要功能:

OWL-S/WSDL转化器 负责把服务描述从OWL-S格式转换为WSDL格式。

查询条件生成器 提供把服务请求者的查询条件转化为服务发现引擎可识别的格式,并将服务发现引擎获得的结果集返回给用户。

服务发现引擎 服务发现引擎在服务发布和服务发现过程中起到重要作用,是整个平台的核心组成部分,主要包含IOPE匹配、情境匹配和排序管理三个模块。它采用两阶段匹配方法,首先,进行IOPE匹配,主要是对服务的输入、输出、前提和结果进行匹配,找出满足用户容忍匹配度的候选服务,然后进行情境匹配,计算候选列表中的每个服务与服务请求之间的情境匹配度,找出满足用户要求的服务,最后通过排序管理模块把发现结果进行排序,筛选出满足用户语义相似度的服务,最后把服务结果集返回给查询条件生成器。

UDDI注册中心 提供使用WSDL描述的服务进行注册和查找。用户在使用合乎用户需求的Web服务前先向服务注册中心发出请求, 获得Web服务提供者的地址和服务接口信息,之后服务请求者使用SOAP协议与Web服务提供者建立连接,进行通信,从而使用服务提供者提供的服务。

3 情境的发现过程

限于篇幅,本文重点介绍情境匹配,假设已经得到IOPE候选服务集。

Sim情境(wsp,wsr)本文仅考虑服务请求者和服务提供者所描述的服务的情境属性都是可量化的,分为数值型属性和区间型属性两种。因此,情境属性相似度的计算分为:数值型属性相似度计算和区间型属性相似度计算。通过向量形式表示描述服务和请求服务,表示如下:描述服务wsp=(c1,c2,…,cm,p1,…,pn),其中,c1到cm是服务的数值型属性,p1到pn是服务的区间型属性。请求服务wsr=(c′1,c′2,…,cm,p′1,…,pn),其中,c′1到cm是服务的数值型属性,p′1到pn是服务的区间型属性。情境属性相似度公式定义如下:

Sim情境(wsp,wsr)=i=1mαisim(ci,ci)+i=1nβisim(pi,pi)

其中,m表示数值型属性的个数,n表示区间型属性的个数,αi表示第i个数值型属性的权重,βi表示第i个区间型属性的权重。

1) 属性权重计算

权重大小由用户反馈的属性相似度衡量,数值型属性权重计算公式为:

αi=n×aj=1ni=13(eik-rik)2

其中,k分别为1,2,3;eik表示服务在运行过程中用户记录的第i个属性的最小值、最大值和平均值,rik表示服务提供者提供的第i个属性的最小值、最大值和平均值,n表示记录次数,a是一个调节参数。用户反馈的属性相似度值越大则该属性权重越大,反之,则越小。区间型权重计算公式为:

βi=cos(pi,pi)=<pi,pi><pi,pi>×<pi,pi>

式中,pi=(xi1,xi2,…,xin)是请求服务的前n次区间型属性i的区间值;pi=(yi1,yi2,…,yin)是服务运行中用户记录前n次区间属性i的区间值;<pi,pi>为两个区间向量的内积。n表示用户记录次数,函数返回的值越大表明该属性权重越大,反之,则越小。

在计算数值型属性和区间型属性相似度之前需要对权重数据规范化处理,以确保属性权重和为1。规范化公式如下:

αi=αii=1mαi+j=1nβjβj=βji=1mαi+j=1nβj

其中,αiβj是权重规范前的值,m表示服务数值型属性个数,n表示服务的区间型属性个数。

2) 数值型属性相似度计算

两个数值型属性相似度公式定义如下:

sim(ci,ci)=1-|ci-ci|ci

其中,ci是描述服务第i个数值型属性的值,ci请求服务第i个数值型属性的值。函数返回一个0到1之间的实数,返回值越接近1,两个数值型属性就越匹配。

3) 区间型属性相似度计算

区间型属性又可分为效益型和成本型两类,效益型指属性值越大越好,成本型指属性值越小越好。在计算区间型属性相似度之前,需要对区间数p=[pl,pu]规范化,其规范化方法参照文献[6]中区间型数据规范化方法,区间型属性相似度公式定义如下:

sim(pi,pi)=1-(ail-bil)2+(aiu-biu)2

其中,pi=[ail,aiu]是描述服务第i个区间型属性规范化后的区间值,pi=[bil,biu]是请求服务第i个区间型属性规范化后的区间值,其函数返回相似度值越大,表示两个区间型属性越匹配。

4 实验及结果分析

为了验证本文服务相似度算法的可行性,通过实验模拟网上购物服务。经过IOPE匹配后得到七个候选服务,在本实验中,我们选取必要服务参数为价格、响应时间、可靠性、可用性和历史评价构成情境参数,其中, 价格、响应时间和可靠性是数值型属性,可用性和历史评价是区间型属性;价格和响应时间的单位分别是美元和毫秒,可靠性和可用性用百分数来表示,历史评价用取值范围在[1]之间的整数表示。表1定义了两个请求服务的情境属性值和权重值,a取值为1,n取值为10。表2是七个候选服务的情境属性值,其值为随机生成。

按照本文的服务相似度计算方法,结果如表3所示,得到的相似度值大,表示服务越匹配。

请求1最匹配的服务是WS5,请求2最匹配的服务是WS3。由实例可以看出,根据不同的服务请求,我们可以个性化地为不同的请求者推荐不同的服务。以上服务相似度的计算,不仅考虑了请求用户和描述服务属性数值的相似性,而且还考虑了用户反馈信息,进一步提高了服务相似度的准确性,提高了服务匹配精度。

5 结 论

本文提出了一种基于情境模型的Web服务发现方法。我们用一个情境模型及相应的词汇来描述情境信息,提出了一个基于情境模型的服务发现框架,情境信息分为数值型和区间型两类,并利用了用户反馈信息作为权重计算服务的语义相似度,提高了服务匹配的精度,较好地满足了用户的性能需求。实验结果证明了本方法的有效性。

参考文献

[1]李明禄.普适计算环境中的服务管理关键技术研究[J].China Ac-ademic Journal Electronic Pubilishing House,2007:130.

[2]Studer R,Benjiamins V R,Fensel D.Knowledge Engineering:Principleand Met hods[J].Data&Knowledge Engineering,1998,25:161197.

[3]Maria A Strimpakou,Ioanna G Roussaki,Miltiades E Anagnostou.AContext Onotology for Pervasive Service Provision[C]//Computer Socie-ty.Proceeding of the 20thInternational Conference on Advanced Informa-tion Networking and Applications(AINA’06),2006,20:155159.

[4]冯在文,何克清,李兵,等.一种基于情境推理的语义Web服务发现方法[J].计算机学报,2008,31(8):13541363.

[5]高亚春,张为群.基于QoS本体的Web服务描述和选择机制[J].计算机科学,2008,35(12):273276.

[6]李春梅,蒋运承.具有QoS约束的语义web服务发现的研究[J].计算机科学,2007,34(6):116121.

Web服务发现 篇5

在一个以WEB为中心的时代,面向服务架构(SOA)的发展越来越迅速。WEB服务可以说是一种在网络环境下的应用程序,具备良好的互操作能力,在电子商务等领域扮演着越来越重要的角色。现今的网络是以服务为中心的,各服务商提供各种各样的服务构成了现在的互联网。随着WEB服务的数量巨增,从众多的服务中发现与用户的需求相匹配的服务成为一个关键的问题。现在网络上的服务发现是以UDDI注册中心为基础的,通过对服务的注册信息(如服务的名称、分类、公司名称等)进行基于关键字的精确匹配。WEB服务主要是基于WSDL(Web Service Description Language)作为WEB服务描述语言来描述的。由于WSDL缺少对WEB服务功能的描述,使得现有的服务注册与发现机制仅支持对服务语法层面的操作,大大影响了服务发现的精度。人们提出查询请求时,往往对于相同概念有着不同的描述,这一种人类与生而来的认识和思维上的不同,带来了相同概念,不同描述间的不可匹配现象。这时,迫切地需要一种能够自动、快速和准确的服务发现机制的出现。在语义WEB提出后,在信息检索等方面取得了一定的成就,解决了在信息检索等由于概念描述问题造成的查全率的低下。而语义WEB服务的提出,则又使得WEB服务发现的研究进入了一个全新的阶段。借助本体等技术,准确刻画服务的功能及属性,并通过语义推理等技术准确地完成服务匹配,从而提高了服务发现的效果。W3C组织提出了一种基于OWL的语义WEB服务描述语言OWL-S,它可以为服务的发布和请求者提供统一的语义基础,使得请求者可以发现满足需要的服务。这对于之后的服务组合来说,也有着重要的意义。

综合考虑各种因素,本文提出了一种新的综合相似度计算方法,加入了对共享信息增益,以及结点权值的考虑。并提出一种匹配框架,改变了对服务的输入的处理。这主要是由于服务的输入对用户来说是透明的,使得用户提出服务请求时,会有某一服务的输入由于用户的未知没有给出,但实际上用户可以提供该输入,以至于服务不被发现的情况,引起很多不必要的查全率的降低。改变将服务的输入和服务的输出同样作为过滤服务的方法,将服务的输入作为一种服务满意度计算依据,对发现到的服务进行排序。最后给出了实验结果,验证了该框架及算法的可行性。

1 相关定义

1.1 OWL-S

OWL-S是由OWL Services Coalition研究组提出的基于OWL的语义WEB服务本体。OWL-S包含一整套本体提供了WEB服务的词汇表,能够根据服务的输入、输出、前提以及结果进行推理,OWL-S描述的服务使得WEB服务具备机器可理解性和易用性,从而让机器能自动地、动态地对WEB服务发现、执行、组合和互操作。

在OWL-S中,服务描述的基本信息主要包括三种本体:Service Profile,描述服务做什么;Service Model,描述服务如何工作;Service Grounding,描述如何访问服务。

1.2 定义

定义1 WEB服务可以定义为一个三元组:

S={Basic,Function,Qos}

其中:

(1)Basic表示服务的基本信息,包括服务的名称以及服务描述信息两个部分,形式化描述如下:

Basic={name,description}

(2)Function表示服务的功能信息,包含服务的输入、输出信息两个部分,服务的In和out分别为两个输入集合和输出的集合:

Function={in,out}In={in1,in2,…,ini}out={out2,out2,…,outj}

(3)Qo S表示服务的质量信息,用于在发现服务后对服务的可用性或满足用户请求的程度进行评测,将发现到的服务进行过滤或排序。用于评价服务的参数,包括服务的稳定性、可访问性、价格、花费、访问时间等:

Qos={price,time,stabillty,…}

1.3 本体概念相似度

由于在服务发现的过程中进行服务的功能匹配时,要对服务的输入、输出进行接口匹配,此时的匹配与否的判断,主要源自于对相似度计算。本体树中概念的相似度的计算主要是依据本体中概念间的距离。除了距离之外,概念在本体树中的深度,结点的密度,共享信息等都对相似度的计算有着一定的影响。为了提出更为准确的相似度计算方法,在本体中进行的服务概念相似度计算依据的准则如下:

a)深度:在本体树中,两个概念的共同祖先结点的深度越大,两个概念的相似度越大。如(Emergency Station,Healty Resort)的最短距离与(Region,Disease)的最短距离均为3,但显然,在客观世界中,前者的相似度是大于后者的。

b)共享信息增益:本体中两个概念间,共享信息越多,越相似。这里,共享信息的判断,主要依据概念的属性计算。

c)语义距离:两个概念间的语义距离越大,则它们间的相似度就越小。

d)赋予父概念比子概念更大的权值。如用户欲查找全国天气预报的服务,以查找不同省份的天气情况。但系统内仅有能提供某省天气预报及全球所有国家各省天气预报的两种服务。这时,显然返回全球所有国家各省天气预报服务则更有可能包含用户的要求。

e)服务发现过程中,不仅要考虑包含关系,还要考虑以及服务概念具有的属性,以及其它关系的影响。如,同样兄弟结点的概念(Emergency Phy Sician,Hospital Physican)与(Physician,Patient),后者在本体中的关系有disjoint With关系,一个person为physician,就不可能为patient,此时,两个概念如因为语义距离短被发现,则会影响服务发现的精度。

2 综合相似度计算函数

在服务的匹配过程中,判断两个服务是否匹配的依据主要是对服务的输入、输出分别进行配对,得到最后的相似度最大的配对。在这个过程中,对输入、输出间的概念间的相似度计算的准确度大大地影响了匹配的结果。文献[5]中提出,相似度函数应该依据以下准则:

a)当概念间的语义距离为0时,相似度为1。即当两个概念相同时,相似度为1。

b)相似度函数随语义距离的增加而减小。即语义距离大的概念间的相似度小于语义距离小的概念间的相似度。

c)相似度函数的输出必须保证在[0,1]内。既不能出现大于1的值,也不能出现小于0的值。

提出一种改进的相似度计算函数,在概念间的相似度计算中综合考虑本体树中概念间的概念语义距离,以及共享信息等进行概念相似度计算。改变以往的服务相似度计算中单独考虑语义距离及共享信息的方式。使两种方式相互影响,相互制约。以往综合考虑两者相似度计算时,往往是采用加权并相加取和的方式,这种方式的缺点是,即使两个概念间没有任何共享信息,若两个有较短的语义距离,也有可能被认为是相似的概念,反之亦然。这种由于缺少了服务间相似度计算的两种方法的相互制约而引起的相似度的计算不准确,大大影响服务发现的精度。所以,这里综合考虑服务中概念的共享信息增益,以及概念的属性,概念间的关系。提出一种综合了语义距离和信息共享的服务输入输出相似度计算方法,并使得两种方法相互制约,其中任一种相似度方法计算出的相似度为0时,最后计算出的总的相似度都为0。首先给出通过语义距离计算服务概念间SD相似度的方法,这里SD相似度指概念间的语义距离相似度:

在计算服务间概念的SD相似度时依据的准则如下:

a)当服务请求(in,out)中的概念等价于服务(in,out)中的概念时,则相对应的两个概念间的SD相似度为1。

b)当两个服务概念的语义距离小于阈值,服务请求in中的概念是服务in中的概念的子概念或服务out中的概念是服务请求out中的概念的子概念,用式(2)计算。

c)当两个服务概念的语义距离小于阈值,服务请求out中的概念是服务out中的概念的子概念时,服务in中的概念是服务请求in中的概念的子概念时,用式(3)计算。

d)当两个服务概念的语义距离小于阈值,服务中的概念与服务请求中的概念,没有直接的包含关系,但在本体中都找得到,有共同的祖先节点时,采用式(4)计算。

e)当两个服务概念的语义距离大于阈值时,认为相似度是为0,即两个概念是不相似的。

在上式中,distance的计算采用文献[5]中给出的GCSM计算方法,式中LCA(s,r)为s,r间的共同最深父结点:

下面给出概念间共享信息相似度(SC),通过计算两个概念a,b间的属性集合的重合度得到这两个概念间的SC相似度,从下式中可以看出若两个概念的没有属性重合时,两者间的SC相似度必然为0。即若两个概念若没有共同属性,可以视为是不相似的。给出下式:

给出综合的服务概念相似度计算方法,为了使SD相似度和SC相似度相互约束,即当语义距离为0时或没有共享的信息,其中任一条件满足时,均认为概念间是不相似的。给出下式:

在实际的相似计算过程中,由于采用了一个基于wordnet的综合本体。所有的概念在本体树中都可以发现,本体中概念间的SD相似度为0的服务数量会比较小,而没有共享信息的概念较多,而且,提出的SC相似度方法与SD相似度计算方法相比更为容易计算。所以,在下文中的输入、输出的相似度计算中,采用上文中给出的综合相似度计算方法,并先通过服务间的信息共享计算相似度,若两概念共享信息相似度为0则不计算SD相似度,并认为两个概念不相似。最后,通过实验进行评价该综合的相似度算法的效果。

3 基于过滤及排序的匹配算法

提出一种改进的匹配策略,将服务发现的过程分为过滤和排序两个阶段。在整个匹配算法的过程中,针对服务的不同要素的特点,分别采用更为适合的相似度计算方法。在过滤过程中,使用服务请求方给出的服务名称,描述信息以及OUTPUT作为服务发现过程中的过滤条件。在排序过程中,使用用户给出的INPUT和服务的Qo S作为排序的依据。当用户提供了输入时,计算服务INPUT的满足度和服务Qo S的满足度,将服务两个满意度的合成排序。当用户没有提供输入时,将服务按照质量的可满足度高低排序,最后输出满足阈值的服务。

对于服务请求,要查找到相应的服务,主要对服务IOPE进行匹配。对服务的IOPE的匹配主要是基于服务概念的相似度计算。文献[1]中指出,本体概念间的匹配分为以下几个类型:

a)exact matching:两个元素在词典中是相同的。

b)Approximate matching:由某种相似度计算算法判定是否相似。如:Password和passwd是区配的,当且仅当使用编辑距离的方法。并且,两者的编辑距离小于一定的值。

c)使用一定的进行分割的时候,license-Free和Free for license可以是区配的,当使用物定的token segmentation consinesimilarity function between{licence,fee}and{fee,for,license}is used with TF/IDF weight。

d)Semantic matching:此时,若两个元素的语义含义是可交换的或者是满足一定条件的也可以认为是匹配的。如cost和fee是同义词,在wordnet中,则这两个词是语义匹配的。

由于服务中各要素又各有其特点,为了优化服务发现的效果,提出了一种较有针对性的相似度计算策略。下面分别针对服务的各要素,详细给出采用的相似度计算策略。

3.1 名称及描述信息过滤

在服务发现过程中,由于往往服务的名称包含缩写的情况。首先对服务的名称进行处理,利用特征词提取技术,取出名称及文本信息中所包含的概念。并当某概念在本体树中找不到时,采用了基于编辑距离的匹配,也是作为一种容错的机制,可以避免由于请求方出现拼写上的错误而引发的准确率的降低。依据词汇库,根据词汇概念距离将名称补全。然后,对名称和描述信息中包含的单词进行处理,去除停用词,去除时态信息等。由于服务的名称和描述信息可能包含的词汇数目较多,这里采用基于IR的相似度计算方法。采用推理技术,利用本体中概念中的包含关系,对词汇进行扩充,这里采用文献[4]给出的基于扩展的jacquard相似度计算方法,计算名称和描述信息的相似度。

3.2 输出信息过滤

在服务的输入输出的匹配过程中,服务的输入和输出都分别为两个集合,要找到服务与请求最终的综合相似度最大的服务,采用文献[6]中给出的基于二分图的匹配。在服务的输出的相似度计算中,采用广度优先搜索,如果两个概念间存在disjoint With关系,则搜索终止,两个概念的相似度为0。由于对输出描述的差异,可能比较大,而且输出在服务发现过程中又占据着较为重要的地位,为了尽可能地增加服务发现中输出所占的比重,这里采用上文给出的SIM综合相似度计算方法。

3.3 基于质量和输入的服务排序

基于Qo S和输入的匹配主要是为了对服务进行排序进行的,在这个过程中不过滤服务。仅将合成后的总的满意度作为一种排序的标准使用。这里服务输入间的相似度计算采用上文给出的综合相似度计算方法。服务输入的满足度计算依据:

为了在大量功能相似的服务中选择最佳服务,采用了对服务Qo S的匹配。Qo S主要包括响应时间、服务价格、服务稳定性、信誉度等参数。服务Qo S的满意度的各个参数的计算这里全部采用文献[5]给出的如下的方式,以时间为例:

对各个Qo S值取算术平均值,得到Qo S相似度。将服务的输入满足度和服务的Qo S满意度加权合成,将合成后的结果用于排序,最后给出满足阈值的服务序列。

4 实验对比

在这里,采用OWLS-TC 2.2测试集对实验结果进行对比测试,将采用给出的分类匹配策略及综合相似度计算的服务发现与OWL-S MX提出的采用nearest-neighbor相似度方法的基于IR的matchmaker算法进行对比。

实验的主要目的是针对现有的服务概念相似度计算中漏查和错查的问题,即文献[7]中给出的服务发现中会出现false positive和false negatives情况,改进服务发现的效果,在提高服务发现的查全率的前提下,力求不减小服务发现的查准率。依据服务的查全率/查准率对实验的结果进行评价。实验结果对比如图2所示。

由图2可以看出,使用提出的基于过滤与排序的匹配算法以及综合的相似度计算方法,在查全率/查准率方面与基于Paolucci提出的匹配算法使用nearest-neighbor方法进行相似度计算相比有了一定的改善。达到了预期的效果,验证了本文提出的综合的相似度计算方法及改进的匹配过程的可行性。

5 结论及展望

在服务发现过程中的概念相似度计算中,充分考虑了各种因素以及服务的特点。实验结果显示,通过该匹配框架以及相似度计算方法,改进了其他方法的不足,得到了较好的结果。以后将研究当发现不到适合的服务时,如何根据现有的服务,组合出合适的服务。并在服务发现中,利用服务质量本体,使得服务质量的计算也能处理模糊的语义,并根据Qo S的各个参数的不同影响,设定权重,减小由于注册服务的服务提供商对服务质量的描述的不同所引起的效率低下。

摘要:服务发现的主要过程就是对服务请求和己注册服务间IOPE进行匹配。提出一种新的服务发现框架,以及改进的综合相似度算法。综合考虑语义距离,本体树中概念的深度、密度,以及信息共享来计算服务的相似度。将服务发现过程分为过滤和排序两阶段,并对服务的各参数分别采用更适合的相似度计算方法。将用户给出的服务输入用于最后的排序阶段,以减少由于用户给出信息不准确带来的偏差。在SME2评测环境以及测试集进行评价后,与其他算法相比,查全率/查准率有一定的改进。

关键词:服务发现,匹配算法,相似度计算,OWL-S

参考文献

[1]Seog-Chan OhHyunyoung KilDongwon LeeKumara,S.R.T.WSBen:Aweb service discovery and composite bechemn[C].

[2]Paolucci M,Kawamura T,Payne T R,et al.Semantic Matching ofWeb Services Capabilities[C].Proceedings of the 1st International Se-mantic Web Service,Las Vegas,Nevada,USA:[s.n.],2003.

[3]David Martin,Massimo Paolucci,Sheila Mcllraith,et al.Bringing Se-mantics to Web Services[C].SWSWPC 2004.LNCS 3387:26-42.

[4]Matthias Klusch,Benedikt Fires Katia Sycara.Automated Semantic WebService Discovery with OWLS-MX[C].AAMAS 2006 May 8-12,2006,Hakodate,Hoddaido,japan,ACM.

[5]张钋.基于语义的网络服务匹配机制的研究与实现[D].北京:清华大学,2005.

[6]邓水光,尹建伟,李莹,等.基于二分图匹配的语义WEB服务发现方法[J].计算机学报,2008,31(8).

[7]Matthias Klusch,Benedikt Fries.Hybrid OWL-S Service Retrievalwith OWLS–MX:Benefits and Pitfalls[C].First International JointWorkshop on Service Matchmaking and Resource Retrieual in the Se-mantic Web.

[8]Joyce El Haddad,Maude Manouvrier,Guillermo Ramirez,et al.QoS-driven Selection of Web Services for Transactional Composition[C].2008 IEEE DOI 10.1109/ICWS.2008.116.

Web服务发现 篇6

随着Web服务的应用范围不断扩大,Web服务数量逐渐增多,不可避免地出现了许多服务提供者提供相同功能服务的情况,而这些服务具有不同的服务质量(QoS)。因此,如何基于请求者的QoS要求对具有相同功能的Web服务进行选择成为重点。

传统的UDDI基于关键词和简单分类的服务发现机制,没有考虑服务发现之后的过滤和选择问题,从而不能确保其发现的服务能够满足请求者的QoS需求;目前支持QoS的服务选择方法有基于QoS语义[1,2]的也有基于QoS属性计算的[3,4]。基于QoS语义的服务选择方法是语义级的,其基础是本体论,即通过建立QoS本体来描述服务的QoS属性,依据本体中的概念相似度来进行QoS匹配。文献[1]提出了一个Web服务信誉框架和概念模型,但是没有队QoS约束进行定义;文献[2]通过QoS本体扩展了OWL-S,并且提出了一个基于QoS的匹配算法,但是其QoS模型不够完善,QoS本体的推理过程很慢。基于QoS属性计算的服务发现方法则是语法级的,其基础是QoS属性矩阵(通常矩阵中的每一行代表一个服务的QoS),方法首先构建QoS属性矩阵,然后对矩阵进行计算或评估,依据某一标准来衡量QoS的匹配程度。文献[5]首先通过两个服务QoS属性的欧氏距离来度量两者的匹配度;由于QoS属性的计量单位不同,文献[6]则首先对QoS属性矩阵进行归一化,然后进行加权评估,依据评估结果的发现服务。

然而,当前的服务发现方法都是基于这样一个假设:所有Web服务的QoS属性值都必须以一个确定实数来表示,并未考虑QoS属性的模糊性。事实上,某些QoS属性存在突发的最大值和最小值[7],此时对于这些不确定的QoS属性,一个精确的数字并不能很好地描述其真实含义,会导致许多有用的数据丢失。本文针对该问题,采用区间数的方式来描述服务的QoS属性,并在此基础上提出了一种支持模糊QoS属性的服务发现算法。

1Web服务QoS参数定义

QoS描述了一个服务满足消费者需求的能力。Web服务的QoS可以用一个参数集Q={q1,q2,…,qm}(m表示参数个数)来表示。支持QoS约束的服务发现就是比较请求者期望服务和备选服务对应参数值的匹配度,然后选择匹配度满足需求的服务。根据Web服务的QoS需求,这里我们定义几个基本的QoS参数:

(1) 响应时间(t) 客户端从提交服务请求到获得服务响应所花的时间,包括服务时间和往返通信时间。

(2) 服务价格(p) 每次服务调用所需支付的费用。

(3) 可用性(u) 是指服务能成功、正常运行的比率。

(4) 可靠性(r) 是QoS最关心的属性之一,它表示Web服务完成其功能的能力,是指通过Web服务成功完成其功能的概率。

m=4,q1=qt,q2=qp,q3=qu,q4=qr,则Q={qt,qp,qu,qr}就可以作为Web服务的一个QoS属性集,此QoS属性集已能基本描述服务对质量的需求。如果要描述更严格的QoS需求,还可加入新参数到QoS属性集中进行扩充。

2Web服务发现框架

Web服务发现框架由UDDI Registration Center、Service Classifier、QoS Fuzzy Convertor、QoS Matcher四大部分组成(如图1所示)。

Web服务提供者将带有QoS属性Web服务注册到UDDI Registration Center上,服务查找时,请求者依据需求提交服务的功能以及QoS要求,Service Classifier负责对UDDI Registration Center上的服务按服务功能进行筛选分类,QoS Fuzzy Convertor负责对提交QoS信息的去模糊化,在选择出符合请求者功能的Web服务后,通知QoS Matcher开始对服务的QoS进行筛选,并返回最符合请求者QoS需求的Web服务。QoS Matcher包含3部分:QoS Interpreter负责从UDDI Registration Center中提取相应服务并对其QoS进行量化;QoS Evaluater运用模糊数学理论对量化后的QoS信息进行综合评估;QoS Monitor依据评估结果返回符合请求者期望阈值的服务。

3Web服务的QoS模糊筛选

3.1相关定义

模糊理论主要用来处理现实世界因模糊引起的不确定性。通常,人们把那种因没有严格边界划分而无法精确刻画的现象称为模糊现象,并把反映模糊现象的各种概念称为模糊概念。目前,模糊理论已经在推理、控制、决策等方面得到了非常广泛的应用。

由于用精确数值来表示某些带有模糊性的QoS(如:响应时间)是有困难的,因为这些属性受网络或其他因素的影响,其值通常会在一个区间内浮动,即最坏时其值为qmin,最好时其值为qmax。此时如果用一个精确的实数(如:区间的平均值)来表示其值显然不是很合理的,同时也不能很好的衡量两个区间数的差别,比如某个服务ws1的响应时间最小值为100ms,最大值为200ms,另一服务ws2的响应时间最小值为50ms,最大值为250ms,如果仅仅以平均值作为衡量标准,两个服务的响应时间是完全一样的,但实际上服务ws1更稳定且最大最小值均优于服务ws2。所以,对于这类属性,我们用区间数[qmin,qmax]来表示。

支持模糊QoS属性的服务发现算法就是用区间数来描述那些带有模糊性的QoS属性,并通过区间距离来度量其匹配度。

定义1 Web服务备选集WS为:

WS={ws1,ws2,…,wsn}

n个不同服务提供者发布的功能相同的Web服务的全体,每个Web服务具有m各QoS属性,wsi表示被选集中第i个服务。

定义2 Web服务QoS评判因素集A为:

A=(a11a1man1anm)

式中每一行对应服务wsi 的QoS值。aij=[aijl,aiju](1<=i<=n,1<=j<=m,aijl<=aiju)为区间数,表示第i个服务的第j个QoS属性值。

定义3 QoS期望值D为:

D={d1,d2,…,dm}

式中,di=[dil,diu](dil<=diu)表示请求者对所需服务的第i个QoS属性的期望值。

定义4 评判矩阵Z

由于每个QoS属性的计量单位不同,直接对A进行评估是毫无意义的,所以必须将A中的数据规格化,使其具有相同的量纲。我们用文献[3]的定理来对Q中的数据进行规范化,得到评判矩阵Z,对应的zij=[zijl,ziju](1<=i<=n,1<=j<=m,zijl<=ziju)也为区间数。

Ζ=(z11z1mzn1znm)

对于效益型QoS属性(值越大越好),有:

zijl=aijli=1n(aiju)2(1in,1jm)

ziju=aijui=1n(aijl)2(1in,1jm)

对于成本型QoS属性(值越小越好),有:

zijl=(aiju)-1i=1n(aijl)-2(1in,1jm)

ziju=(aijl)-1i=1n(aiju)-2(1in,1jm)

定义5 QoS决策矩阵R为:

R=(r11r1mrn1rnm)

其中rij为备选服务集中第i个服务wsi的第j个QoS属性zij=[zijl,ziju]到请求者所需服务的第j个QoS属性的期望值dj的相互距离。

rij=(ziju-dju)2+(zijl-djl)2

定义6 QoS权重因子ω为:

ω={ω1,ω2,…,ωm}

式中,ωi表示服务请求者对服务第i个QoS属性的权重要求。且:

i=1mωi=1

定义7 QoS加权相似度F为:

F={f1,f2,…,fn}

式中, fi表示备选服务wsi的QoS集到请求者期望值D的加权相互距离。

fi=j=1mωj×ri,j(i=1,2,,n)

3.2算法描述

假设经过服务功能选择后,备选服务集中还有n个服务,每个服务有m个QoS属性,服务请求者对各QoS权值要求:ω={ω1,ω2,…,ωm},期望阈值为:ϕ。算法描述如下:

4仿真实验

查全率和查准率是度量服务发现的2个重要性能指标:查准率[8]指查询返回符合查询条件的服务数量与查询返回服务总数量之间的比率;查全率[8]指查询返回符合查询条件的服务与备选服务集中符合查询条件的服务的比率。

仿真实验在matlab7.0环境下进行。由于本文提出用区间数来描述服务的QoS属性,而现有的发现算法都假设服务的QoS属性用精确的实数来描述,为了验证本算法的可行性和优越性,我们用区间数的平均值来代替该区间数所表示的QoS属性,并以此作为传统的UDDI方法、文献[5]的欧氏距离法和文献[6]的归一法的数据,并都以达到请求者期望阈值为衡量标准。仿真试验中,我们取每个Web服务包含的QoS属性个数m=4备选服务集WS中包含的服务个数为n,备选服务集WS中各服务的QoS属性值(即A)和用户对服务各QoS的请求值(即D)随即产生。QoS权重因子ω也随机产生。我们在查准率和查全率两方面将本算法和传统的UDDI方法、欧氏距离法和归一法进行比较。效果如图2和图3所示(本次试验中D=(95,94,90,83),ω=(0.16,0.25,0.14,0.35)请求者期望阈值ϕ=0.6)。

实验结果表明,在备选服务个数n相同的情况下,本算法在服务查找的查全率和查准率方面都要优于传统的UDDI方法、欧氏距离法和归一法。传统的UDDI算法在服务发现中不考虑QoS因素,在备选服务集中随即选取,故其查全率和查准率明显低于其他考虑QoS约束的算法;欧氏距离法一方面忽略了QoS的差异性,将服务QoS的不同属性之间的差别等同看,另一方面,欧氏距离体现的是绝对距离,即不论是大于还是小于期望值,只要其值到期望值的绝对距离相等那他们的欧氏距离也相等,这必然导致服务发现时会选取出那些QoS值小于请求者期望值但欧氏距离却很小的服务,而实际上这些服务是不符合要求的,故影响了欧氏距离法的查全率和查准率;归一法的基础是对QoS属性进行归一化后,进行加权评估,然后选取评估结果达到请求者期望阈值的服务,但归一化法本身存在各种缺点和误区,比如对个别QoS的影响严重夸大或缩小[9],这也影响了其查全率和查准率。本算法的优势在于:首先考虑了QoS属性的模糊性,这是其他算法没有考虑到的。其次运用区间数来描述带模糊性的QoS属性更合理的描述了服务的QoS属性,特别是那些带有模糊性的用精确实数不能很好描述的QoS属性。

5结语

本文提出一种新的支持模糊QoS属性的Web服务发现算法,算法运用区间数来描述带有模糊性的QoS属性,并用区间数的相互距离来度量服务QoS的匹配度,返回匹配度达到请求者期望阈值的服务。试验验证了通过该方法能提高服务发现的查准率和查全率。如何对服务进行聚类处理以提高服务查询速度是我们下一步的重点工作。

参考文献

[1]Tian M,Gramm A,Ritter H.Efficient selection and monitoring of Q0S-aware Web services with the WS-QoS framework[C]//Proceedings ofthe IEEE/W1C/ACM International Conference on Web Intelligence,Beijing,China,2004:152-158.

[2]S0ydan B A.Singh M unindar P.A DAM L-based repository for QoS-a-ware semantic Web service selection[C]//Proceedings of the IEEE In-ternational Conference on Web Services,California.USA.2004:368-375.

[3]Liu Y,Ngu A H,Zeng L.QoS computation and policing in dynamicWeb service selection[C]//Proceedings of the 13th International Con-ference on World Wide Web,New York,USA,2004:66-73.

[4]Zeng Liangzhao,Benatallah B,Kalagnanam J,et al.Quality driven Webservices composition[C]//Proceedings of the 12th International Con-ference World Wide Web.Budapest,Hungary,2003:411-421.

[5]李蜀瑜,周娟.基于WSMO服务质量的语义Web服务发现框架[J].计算机应用,2009,29(8):2299-2304.

[6]Zeng LZ,Benatallah B,Ngu AHH.QoS-Aware middleware for Web serv-ices composition[C]//IEEE Trans.on Software Engineeirng,2004.30(5):311-327.

[7]Maximilien EM.A framework and ontology for dynamic Web servicesselection[J].IEEE Internet Computing,2003,8:84-93.

[8]周宁,宋自林,艾未华,等.一种语义WEB服务三级匹配方法的研究[J].系统仿真学报,2009,21(7):2081-2089.

Web服务发现 篇7

农业信息技术是实现农业高速、健康和可持续发展的重要推动力, 是一门新兴的边缘应用学科, 是农业科学和信息科学相互交叉渗透而产生的新领域。基于语义的Web服务发现技术是其中的一个重要组成部分。随着语义Web服务技术在农业信息系统中的广泛应用, 如何从海量的Web服务资源中快速查找出需要的一个或者多个Web服务, 来满足客户需求, 是亟待解决关键问题。

语义Web服务是语义Web与Web服务的结合体, 通过对Web服务进行语义封装可实现Web服务的自动化发现、调用、互操作、组合、执行和监控。普遍存在的问题是:多数基于语义的Web服务发现方法都是建立在全新的语义Web服务模型和描述语言的基础上, 如OWL-S[1,2], WSMO, WSML[3,4]等, 造成这些方法的应用实施难度较大。另外, 很多服务发现系统的实现需要用户输入有关Web服务请求的详细信息, 增大了系统应用的复杂度。

针对上述问题, 本文提出一种轻量级的语义Web服务发现模型。该模型采用语义Web服务描述语言WSDL-S[5]来描述Web服务, 其好处是WSDL-S与WSDL (Web服务描述规范) 兼容, 并且只需在现有大量的基于WSDL的Web服务描述文档中添加一些扩展的XML element和Attribute, 就能达到语义标注的效果。本文重点分析发现模型中各个模块的时间性能, 并实验验证了模块和词典匹配模块分别匹配成功的情况下有很好的Web服务发现准确率和召回率, 该模型可应用在农业信息化等领域。

1 轻量级语义Web服务发现模型设计

本文提出的基于查询语句的轻量级语义Web服务发现模型如图1所示。

工作流程是:在系统启动之初, 先由WSDL-S文件处理模块将文件库中所有WSDL-S文档定义的Web服务名、操作名、输入输出参数名以及相关的领域本体名等信息集中存放在一个数据结构wsdl_information中, 然后用户在服务查询界面上输入Web服务请求的查询字符串, 经查询预处理模块按照一定规则规范化后提交给服务匹配模块。匹配模块首先进行查询语句关键字与领域本体库中各个本体词汇的直接匹配, 如果没有相匹配的领域本体, 则调用词典模块, 利用同义词词典WordNet[6]查找查询关键字的同义词, 之后再进行本体匹配;如果匹配成功, 则本体匹配模块内的学习机制就会把关键字的同义词写进相应的本体文件, 以扩充文体词汇, 方便下一次用户查询。一旦获得了匹配的领域本体名, 接下去本体匹配模块会查找数据结构wsdl_information中存放的领域本体信息, 以确定用户查询对应的Web操作名。反之, 如果本体匹配不成功, 就要调用第2个匹配子模块—词典匹配模块, 用查询语句的关键字直接与存储在wsdl_information中的Web操作名进行单词匹配;如果不成功再次启动词典模块, 在WordNet中查找同义词, 然后再与Web操作名进行匹配;最后, 由WSDL-S调用预处理模块检查调用相关Web操作的输入条件是否满足, 并执行后续的补充操作[7]。

2 本体匹配模块中的自学机制

首先, 本体匹配模块将用户输入的查询字符串匹配服务请求所涉及的领域本体;然后, 用领域本体名确定对应的WSDL-S文件 (列表) 。该模块的重点是匹配领域本体名, 其具体步骤是先用查询语句中的关键字去匹配领域本体库中的各个本体模型, 匹配的顺序是概念、对象和谓词。

匹配过程中, 介词不参与匹配, 但是介词却可以帮助推断出服务请求的上下文信息。如从查询字符串“flight from Boston to Chicago”中能推测出介词from和to之间的内容是两个地址信息, 其中from后面的是源地址, to后面的是目的地址。假如flight域的本体模型结构如图2所示, 则能够确定该查询字符串涉及的领域本体名是flight。如果上述基于查询语句关键字的匹配没能确定领域本体名, 则调用外部的词典模块。利用同义词词典WordNet查找查询语句关键字的同义词, 然后使用同义词进行本体模型的匹配, 以确定领域本体名。

考虑到一词多义的情况, 为了确保查询到的领域本体最大限度地与用户的查询语句相关, 需要深入分析以下4种可能存在的同义词匹配情况:

1) 查询语句关键字和同义词都不能匹配任何一个本体模型;

2) 查询语句关键字能匹配某一个本体模型, 但是同义词不能匹配任何一个本体模型;

3) 查询语句关键字不能匹配任何一个本体模型, 但是同义词能匹配某一个本体模型;

4) 查询语句关键字和同义词都能匹配某一个本体模型。

在上述第3种情况下, 为了提高用户查询语句的匹配率, 需要添加一个学习模块, 通过自学机制把查询语句的同义词也添加到相应的本体文件中, 然后再重新生成本体模型, 以便于以后相似查询语句本体模型匹配率的提高。而其他3种情况则不需要调用学习模块。

3基于轻量级语义Web服务发现模型的农业信息原型系统实现

在原型化实现农业信息Web服务发现模型的过程中, 主要涉及到农产品 (Farm-produce) 、农产品价格 (Farm-price) 、天气 (Weather) 以及地域 (Location) 等领域本体。领域本体用本体编辑工具Protégé来创建, 并存储在MySQL数据库中, 本体文件选用OWL语言描述, 本体词汇的查询和操作使用OWL API。WSDL-S文件是在WSDL编辑器的基础上添加语义标注而生成的。词典模块利用JWNL[8]提供的接口来操作同义词词典—WordNet。Web服务调用模块利用Axis[9]工具提供的相关Java类来调用选中的Web服务。整个原型系统的开发使用Eclipse作为开发平台。

4 实验及结果分析

4.1 实验准备

为了测试系统中各个模块的时间性能以及该发现模型的准确率和召回率在不同情况下的变化, 输入503个不同长度的查询语句, 涉及的领域有Farm-produce, Farm-price, Weather和Location, 其相关的领域本体存储在本体库中。实验运行于IBM R60上, 软硬件配置为:1.66-GHz Intel T2300处理器;1G内存;Microsoft Windows XP操作系统。实验结果的记录和分析使用Eclipse的插件TPTP。

4.2 实验结果与分析

图3显示的是系统各个模块花费的平均处理时间。其中:1代表WSDL-S文件处理模块;2代表查询预处理模块;3代表是词典模块;4代表本体匹配模块;5代表词典匹配模块;6代表相关检查模块。从实验结果看, 系统中最花费时间的模块是WSDL-S文件处理模块和词典模块。但由于WSDL-S文件处理模块只在系统启动之初被调用一次, 因此该模块执行的快慢并不会影响系统性能。那么, 整个系统的性能瓶颈就在于词典模块的执行时间。该模块主要用来在WordNet中查找查询语句关键词的同义词 (synonym) 、上位词 (hypernym) 和下位词 (hyponym) , 以扩充领域本体的词汇。数据分析的结果表明, 词典模块的大部分时间花费在了为每一个查询语句关键词查找同义词时调用JWNL的接口上。

为了进一步详细分析本体匹配模块和词典匹配模块在不同情况下对系统性能的影响, 下面主要测试经本体模块单级匹配成功、词典模块单级匹配成功以及经本体与词典两级匹配成功的前提下系统准确率和召回率的变化。假设D代表WSDL-S文件库中提供的Web操作的个数, Qi代表第i个用户查询, RQi代表WSDL-S文件库中与第i个用户查询Qi有关的Web操作的个数。由于RQiD, 所以DRQi代表与用户查询无关的Web操作个数。接下来, TQi代表原型系统返回的与第i个用户查询Qi对应的Web操作个数, GQi代表系统返回的与第i个用户查询Qi有关的Web操作个数。二者的关系用公式GQi=TQiRQi表示。因此, 第i个用户查询发现Web操作的准确率Pi=GQi/TQi, 召回率Ri=GQi/RQi

实验结果如表1所示。表1记录的是系统分别在经过本体模块单级匹配成功、词典模块单级匹配成功以及经过本体和词典两级匹配成功的情况下Web服务发现的召回率和准确率。实验结果显示:在词典模块单级匹配成功时, 系统的准确率和召回率是最低的, 因为词典匹配没能很好地利用语义信息;在本体模块匹配成功时, 系统地准确率和召回率就大大提高, 这是因为本体匹配模块有效地利用了语义和领域信息;最后, 经过本体匹配和词典两级匹配成功的情况下, 系统的准确率和召回率进一步得到提高, 因为那些在OWL本体文件中得不到匹配的查询关键字又经过了一次词典匹配, 所以匹配效率要高一些。

比较分析这3组数据发现 (见图4所示, 其中1代表词典匹配模块, 2代表本体匹配模块, 3代表词典和本体匹配模块) , 在整个语义Web服务发现模型中, 本体匹配模块对于系统准确性的提高起着至关重要的作用。如果没有本体匹配模块, 则系统准确率和召回率会下降23%左右。相反, 词典匹配模块对于系统性能的提高却无关紧要, 如果去掉词典匹配模块, 则系统准确率和召回率会下降1%左右。

5 结论

目前, 大多数基于语义的Web服务发现方法应用难度大, 使用不方便。为此, 本文提出一种基于用户查询语句的轻量级语义Web服务发现模型, 并在农业信息化领域做了原型系统的实现。农业信息用户只需输入简单的查询语句, 经过预处理、领域本体的匹配、词典级匹配以及一些优化措施, 最终自动查找到相关的农业Web服务操作。

实验结果表明, 本体匹配模块对于系统服务匹配准确性的提高起着至关重要的作用, 并且自学机制的使用在自动扩充本体词汇的同时也增加了系统的准确率和召回率。

实验结果充分证明了本文提出的轻量级语义Web服务发现模型的可行性和有效性。该模型在农业信息化领域的应用将为农业信息用户提供便利、快捷和效益。

摘要:针对现有多数语义Web服务发现方法应用实施难度大和对终端用户输入信息的完整性依赖度高的问题, 提出一种基于简单查询语句的轻量级语义Web服务发现模型。该模型将用户输入的查询语句经过领域本体匹配、基于WordNet同义词典匹配等步骤, 自动发现并调用相应的Web服务操作。实验结果表明, 采用该服务发现模型能够有效提高服务发现的准确率和召回率, 进而可推广应用到基于语义Web服务的农业信息化中。

关键词:农业信息化,Web服务发现,WordNet,自学机制

参考文献

[1]Anon.The OWL Services Coalition.OWL-S:semanticmarkup for Web services[EB/OL].[2006-11-08].http://www.daml.org/services/owl-s/view/.

[2]Wang X, Vitvar T, Kerrigan M, et al.A QoS-aware selec-tion model for semantic web services[C]//The 4th Interna-tional Conference on Service-Oriented Computing, 2006:12-24.

[3]Keller U, Lara R, Polleres A.WSMO Web service discover-y[EB/OL]. (2004-08-15) .http://www.wsmo.org/2004/d5/d5.1/v0.1/20041112/d5.1v0.1_20041112.pdf.

[4]Stollberg M, Keller U, Fensel D.Partner and service discov-ery for collaboration establishment with semantic Web serv-ices[C]//IEEE International Conference on Web Services, 2010:480-494.

[5]R Akkiraju, J Farell, J A Milleret, et al.Web service seman-tics-WSDL-S[EB/OL]. (2005-04-03) .http://www.w3.org/2005/04/FSWS/Submissions/WSDL-S.htm.

[6]邵东伟, 王俊发, 吴贵福, 等.国内外农业信息化建设对佳木斯地区的启示[J].农机化研究, 2010, 32 (8) :246-248.

[7]阮佳彬, 杨育彬.基于本体词汇的三维模型语义检索[J].计算机科学, 2009, 32 (2) :152-154.

[8]Bwalenz, Didion J.JWNL-Java WordNet Library[EB/OL]. (2010-05-14) .http://jwordnet.sourceforge.net.

Web服务发现 篇8

因特网是人们获取信息的重要渠道和手段,同时也是参与社会活动的重要工具。大家常常利用新闻跟贴、博客文章、各种评论、BBS论坛等平台发表自己的意见,表达自己的观点,以实现社会人的目的。这种以因特网为表达平台,公众对于现实社会中的各种现象、问题等所表达的信念、态度、意见和情绪的总和,具有相对的一致性、强烈程度和持续性,对社会发展以及有关事态的进程产生影响,我们称之为网络舆情。

网络舆情是舆情的一种表现形式,是把双刃剑。在我国市场经济创建的初级阶段,法制尚未健全的过程中,网络舆情对各级政府监督的确起到了很大的作用。同时也要看到网络舆情的另一面即破坏性:任何人发表的意见缺乏有效的监督,它会产生负面影响。我国发生了多起网络舆情转化为现实社会压力从而导致行为舆论的例子。而形成网络舆情很多不乏是由极少数人不负责任,或是由极少数具有极端思想和情绪的人通过因特网发布的信息造成的。我们把这极少数人称之为“具有影响力个体”。这个“具有影响力个体”也许是一个人,也许是小数的四五个人。如何对这些个体的信息动向进行分析、研究和预防,是我们应该关注的重大课题。但是因特网又是巨大的、多样的、复杂和动态变化的。伴随着WEB站点规模和复杂程度的增加,时刻掌握网络舆情的动向,及时发现具有极端思想和情绪个体者的舆情信息动向,需要对Web日志数据进行挖掘。

Web日志挖掘的对象是服务器的日志信息。当访问者浏览Web服务器时,服务器将会产生Server Logs,Error Logs和Cookie Logs等日志文件,这些日志是WEB访问数据挖掘的重要数据源。表1是3个用户访问一个Web服务器的Logs文件片断。

它反映的是IP地址为:218.195.112.33、218.195.112.48、218.195.112.52的三个用户在18时21、25、29分钟分别访问了images/lchzhi.和graduate.文件,是以GET方法访问。200是表示正常响应。在整个日志文件中以时间戳递增排列。

通过分析日志文件,可以发现个体访问页面的特征、页面被访问的规律、频繁访问的页组等,最终能够快速了解和掌握个体信息的动向。

Web日志数据挖掘可分为三个阶段:

1.1 数据预处理

Web Usage mining在预处理阶段的主要工作就是从Server Log Data中识别数据。识别出的数据就可以利用对数据库进行挖掘的方法,如关联规则和序列模式的发现等挖掘技术进行数据挖掘。

1.2 个体建模

根据个体访问者对一个Web站点上Web页面的访问情况模型化个体的自身特性,开展针对性的预防和监测。

1.3 模式分析

数据预处理是Web访问数据挖掘准备的核心工作,是开展下一阶段Web访问数据挖掘的基础。例如剔除不相关的数据:在Web日志中一些存取数据对挖掘来说是不必要的,像图形文件、压缩文件等的存取对文本挖掘的分析是不需要考虑,应该被剔除。这样的处理可以通过检查每项中的URI是否带有后缀gif、jpeg、zip、ps等来实现。

2 Web数据挖掘与网络舆情的个体建模

Web数据挖掘可以分为Web内容挖掘(Web Content Mining)、Web访问数据挖掘(Web Usage Mining)和Web结构挖掘(Web Structure Mining)三种类型。本文主要论述的是Web访问数据挖掘。即对个体用户访问Web时在服务器方留下的访问数据进行挖掘,以帮助站点动态地了解个体的舆情动向。

2.1 Web访问数据挖掘是对用户访问Web站点的存取方式进行挖掘,挖掘的对象是在服务器上的包括Server Log Data等在内的日志文件记录。可以从Web服务器那里自动发现用户存取Web页面的模式,进而得出个体用户的访问模式、兴趣、习惯和爱好,利用这些信息可以及早发现个体用户的舆情动向。同时还能抽取个体用户访问数据的特性,在此基础上建立模型,用于预测在一个站点上一个用户访问的页面的概率分布。

2.2 建立网络舆情的个体用户的模型建立个体用户的模型分为两个部分:一是分析挖掘出用户的访问兴趣数据。它是根据用户近一段时间访问特性、监测用户的存取行为来得到用户的概貌文件。二是根据用户的访问数据来聚类用户。聚类是为了表征这些用户具有相同兴趣、爱好,是一个特殊的“个体”。因此聚类用户是Web访问数据挖掘中的一个重要内容。

2.3 评估模型和结果评估模型是对选出的模型在实际的应用中是否真正的起到作用。评估的内容包括模型的准确程度如何?模型对被观测数据的描述精确程度如何?在模型预测中,可以设置多大的置信度?模型是否易于理解等方面?不同的数据挖掘任务需要不同的方法来评估模型的整体性能,需要不同的方法来判断模型对于任意的特定记录产生准确结果的可能性。

把挖掘数据置于模型中,分析计算得出的结果是否与真实情况相符,是至关重要的。因此要不断地进行试验,直至结果准确率高于原定的标准,此结果才是有效的,建立的模型也是正确的。

3 网络舆情监控的Web数据挖掘预处理技术

3.1 服务器日志数据

用户在使用服务器时,产生的Server Logs日志文件,蕴涵着大量有用的信息,是进行Web访问信息挖掘的主要数据。格式如表2。

上述文件格式中包括了用户浏览的时间、IP地址、用户名、服务器名称、服务器的IP地址、用户的请求方法和请求页面、完成浏览所用的时间等等,是完成挖掘的主要数据。[2]

3.2 数据预处理的主要技术

数据预处理是把日志文件转换成数据库文件以后进行的工作,其目的是把日志文件转化为适合进行数据挖掘的可靠的精确的数据。[3]

3.2.1 数据清洗

由于数据表示、写入的对象差异以及用户的兴趣和挖掘算法对数据要求不同,必须对进行分析的原始数据进行清洗,因此数据清洗是数据挖掘工作的基础。

首先是合并数据:在给定挖掘时间段后,需要合并Web服务器上的多个日志文件,并且解析每个文件,将其转化到数据库或特定的格式数据文件中;第二,剔除不相关的数据:在Web日志文件中一些存取记录可能对挖掘来说是不必要的,象图形文件、压缩文件等。只要检查每项中的URI是否带有后缀gif、jpeg、zip、ps就可以剔除;第三代理访问的处理,处理的方法是检查日志中每项的代理域,通过字符串匹配方法删除这些项;第四数据项解析:CGI数据必须被解析在不同的哉中,并被解析为〈名子,值〉对的形式。

3.2.2 识别用户会话

在对Web日志数据进行挖掘之前,要对Web页的访问序列组织成逻辑单元以表征事务或用户会话。因为有代理服务器(包括网吧、局域网等环境)、防火墙、缓存等使用,识别用户会话变得非常复杂:

(1)单个IP地址对多个服务器用户访问会话。互联网服务供应商(ISP)为其用户提供代理服务器服务,一个代理服务器可以为多个用户同时提供接入服务。

(2)多个IP地址对单个服务器用户访问会话。

(3)多个IP地址对单个用户。一个用户从不同的机器(IP地址各不相同)上对一个Web服务器发出的请求。

(4)多个服务器用户访问会话对单个用户。它是一个用户打开二个以上的浏览器窗口时,同时存取站点上不同的Web网页时发生的。

(5)缓存的影响。针对以上问题,我们作出规定:不同的IP地址代表着不同的用户;当IP地址相同时,我们默认不同的操作系统或浏览器代表不同的用户;在IP地址相同,用户使用的操作系统和浏览器也相同的情况下,则判断每一个请求访问的页面与访问过的页面之间是否有链接。如果一个请求访问的页面与上一个已经访问过的所有页面之间并没有直接的链接,则假设在访问Web站点的机器上同时存在多个用户;用户的页面请求在时间上跨度比较大时,可以将用户的访问记录分成多个会话来处理。最简单的方法就是设置一个time-out值,如果用户访问页面的时间差超过了这个值,则认为用户开始了一个新的会话。这个值为25.5分钟。[3]

特殊的网络个体的舆情倾向对其他网民影响很大,有些人把他(们)称为舆情领袖,或者叫作论坛领袖。我们应该对此高度重视,加强研究,及早发现,建立网络舆论导向,构建网络舆情预警机制,使网络舆情能够真正反映国情民意,为建立和谐的社会提供健康的网络舆论环境。

摘要:网络舆情的形成,多数情况下是由极少数个体在舆论的初期不断施加影响的结果,对这个体的初期舆论信息的发现,十分重要。利用数据挖掘技术和对WEB日志数据挖掘预处理技术,对其进行研究,可以及早发现具有影响力个体舆论倾向,建立正确的舆论导向,使网络舆情能够健康发展。

关键词:网络舆情,个体信息,WEB日志,数据挖掘,预处理技术

参考文献

[1]王珏,曾剑平,周葆华等.基于聚类分析的网络论坛意见领袖发现方法[J].计算机工程,2011(5):44-49.

[2]毛国君,段立娟,王实等.数据挖掘原理与算法[M].北京:清华大学出版社,2005.

上一篇:范跑跑下一篇:科技人才开发战略