一种Web服务推荐方法以及装置与流程

文档序号:11864734阅读:232来源:国知局
一种Web服务推荐方法以及装置与流程

本公开属于计算机系统建模以及数据分析领域,具体涉及一种Web服务推荐方法以及装置。



背景技术:

随着面向服务的计算(SOC,Service Oriented Computing)、云计算(Cloud Computing)、务联网(IoS,Internet of Service)等创新模式的不断涌现与广泛应用,计算服务化的趋势已经十分明显。面向服务的体系结构(SOA,Service Oriented Architecture)及相关协议、规范的出现为企业内部及企业间的业务集成提供了便捷的松耦合模式,进一步推动着企业生产组织模式发生变革,向面向服务的企业(SOE,Service Oriented Enterprise)转型。大量的企业将自身的业务单元封装成为业务服务(Business Service),并通过互联网实现企业内部不同业务单元以及跨企业组织边界的业务协作以实现价值增值,从而使互联网上Web服务的数量不断增长。现实应用中,独立存在的服务往往粒度较小,专注于有限的专一功能,难以满足用户复杂的业务需求。因此,往往需要对服务系统中的多个服务进行组合使用,从而构成价值增值的服务组合(Service Compositions)。尽管上述发展状况令人鼓舞,但Web服务系统在现实运行中,海量的Web服务带来了严重的信息过载,海量的Web服务个体为用户提供了丰富选择的同时,也带来了大量无关的或冗余的信息。因此,如何更好地利用自然语言的语义描述信息,针对用户请求进行有效的服务推荐,对互联网的良性发展有着十分重要的意义。

然而,自然语言虽然便于人类的理解和处理,但也给计算机自动处理带来了较大的困难。例如,假设服务组合开发者希望开发一个基于地理位置的社交相关应用,关于地理位置,开发者可能会使用“GPS”、“地理坐标”、“位置”、“方位”等名词,而关于社交,则可能会使用“好友”、“分享”、“共享”等词语。从上例我们可以看到,针对同样的功能性需求,不同的服务组合开发者可能在用户请求中提交截然不同的关键词,而与之对应,Web服务的描述当中也可能使用多种多样的词语描述相同的功能。如何克服同义词、多义词的问题,是进行准确的服务推荐的基础性问题。



技术实现要素:

为了更好地解决Web服务推荐问题中的以上难点,本公开提出了一种Web服务推荐方法及装置。

一种Web服务推荐方法,所述方法包括下述步骤:

S100、对于一个服务组合请求中涉及的服务组合,提取该服务组合的功能特征,获得服务组合功能特征向量,将其记作Z;

S200、计算每个Web服务自被发布时刻至提出所述服务组合请求时刻所经过的时间长度、以及每个Web服务自被发布时刻至提出服务组合请求时刻所被调用次数;

假设Web服务的总数为J,J为整数;将第j个Web服务自被发布时刻至提出服务组合请求时刻所经过的时间长度记作uptj,j=1,…,J;将第j个Web服务自被发布时刻至提出服务组合请求时刻所被调用次数记作usgj,j=1,…,J;

S300、对于每个Web服务,利用下式计算第j个Web服务相对所述服务组合请求的推荐度rj,j=1,…,J:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4为已知的权重参数;

vj为已知的与第j个Web服务相关的向量参数;

S400、将Web服务按照其推荐度降序输出。

优选地,所述步骤S300中的权重参数β1,β2,β3,β4以及与第j个Web服务相关的向量参数vj,j=1,…,J,通过下述步骤获得:

S301、对于每个Web服务,从该Web服务的描述文本中提取每个Web服务的功能特征,获得Web服务功能特征向量;将第j个Web服务对应的Web服务功能特征向量记作Yj,j=1,…,J;

S302、准备I个服务组合作为样本,I为整数;

对于样本中的每个服务组合,从该服务组合的描述文本中提取其对应的服务组合功能特征向量;将第i个服务组合对应的服务组合功能特征向量记作Xi,i∈{1,…,I};

S303、对于样本中的每个服务组合,计算每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度、以及每个Web服务自被发布时刻至该服务组合被提出时刻所被调用次数;

将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所经过的时间长度记作uptij,i∈{1,…,I},j∈{1,…,J};

将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所被调用的次数记作usgij,i∈{1,…,I},j∈{1,…,J};

S304、使用最优算法求解下述表达式进而确定参数β1,β2,β3,β4,以及vj

式中:

rij为第j个Web服务相对第i个服务组合的推荐度;

λv为正则化参数。

优选地,所述步骤S301之前还包括下述步骤:

S300.1、将服务组合的描述文本与Web服务的描述文本进行向量化处理,获得服务组合初始向量、Web服务初始向量;

S300.2、对所述服务组合初始向量、Web服务初始向量进行噪声添加处理,获得服务组合噪声向量、Web服务噪声向量;

S300.3、建立一个将L层的深度神经网络模型,L为整数;将服务组合噪声向量、Web服务噪声向量作为该模型的输入,将对应的服务组合初始向量、Web服务初始向量作为该模型的预期输出;

当该模型的计算输出和预期输出误差大于等于一个给定的阈值时,返回步骤S300.2;否则,执行步骤S300.4;

S300.4、保留该模型的参数;并且,将服务组合噪声向量在该深度神经网络的[L/2]层的对应输出作为所述服务组合功能特征向量;将Web服务噪声向量在该深度神经网络的[L/2]层的对应输出作为Web服务功能特征向量,其中,[L/2]表示对L/2取整。

优选地,所述步骤S300.1中的向量化处理包括下述步骤:

S300.1a、建立词袋(bag-of-word)模型;

S300.1b、将服务组合的描述文本或Web服务的描述文本转化为所述词袋模型的向量形式,获得服务组合词袋向量或Web服务词袋向量;

S300.1c、对服务组合词袋向量或Web服务词袋向量使用TF-IDF算法进行加权处理,获得相应的服务组合加权向量或Web服务加权向量;

S300.1d、对服务组合加权向量或Web服务加权向量进行最大值归一化,从而获得相应的所述服务组合初始向量或Web服务初始向量。

优选地,所述步骤S300.2中的噪声添加处理包括下述步骤:

S300.2a设置噪声水平;

S300.2b以所述噪声水平为概率随机将服务组合初始向量、Web服务初始向量中的元素置为0,以获得服务组合噪声向量、Web服务噪声向量。

所述方法针对Web服务推荐问题的背景与特性进行特别的设计,充分考虑Web服务推荐问题中描述文本与使用记录的耦合关系,及Web服务系统的演化特性,充分利用深度神经网络可以提取有效的特征表达的特性,进行Web服务推荐。该方法在真实数据集上取得了较好的效果,提高了服务推荐的准确度与多样性。

本公开方法使用深度神经网络模型对Web服务的描述文本以及服务组合开发者的用户请求文本进行建模,将其映射至向量空间;利用服务的历史使用信息,挖掘用户请求与不同的服务之前的匹配模式;并整合服务的历史使用信息、描述文本、预定义的辅助信息,将三者结合起来,将服务系统中的Web服务根据被服务组合开发者的使用概率从高到低排序进行推荐。

根据上述方法,实现了一种Web服务推荐装置,所述装置包括第一提取单元、第一计算单元、第二计算单元、第三计算单元、第一输出单元;

所述第一提取单元:对于每一个服务组合,从该服务组合的描述文本中提取该服务组合的功能特征,获得服务组合功能特征向量;并输出该服务组合对应的服务组合功能特征向量;

所述第一计算单元:对于每一个服务组合,计算并输出每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度;

所述第二计算单元:对于每一个服务组合,计算并输出每个Web服务自被发布时刻至一个服务组合被提出时刻所被调用的次数;

所述第三计算单元:对于每一个服务组合,结合所述第一提取单元、第一计算单元、第二计算单元的输出,计算每个Web服务相对该服务组合的推荐度;

所述第一输出单元:对于每一个服务组合,根据第三计算单元计算的推荐度,降序输出Web服务;

所述推荐度的计算如下:

假设Web服务的总数为J,J为整数;将一个服务组合输入所述第一提取单元后,输出的服务组合功能特征向量为Z;将该服务组合输入第一计算单元后,输出的第j个Web服务对应的时间长度为uptj,j=1,…,J;将该服务组合输入第二计算单元后,输出的第j个Web服务对应的次数为usgj,j=1,…,J;则第j个Web服务相对所述服务组合请求的推荐度rj的计算式为:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4为已知的权重参数;

v为已知的与该Web服务相关的向量参数。

优选地,所述第一提取单元,还包括:对输入的每一个Web服务,从Web服务的描述文本中提取每个Web服务的功能特征,获得Web服务功能特征向量;并输出该Web服务对应的Web服务功能特征向量;

所述第三计算单元中的参数β1,β2,β3,β4和v,通过第一训练单元确定;

所述第一训练单元:以第一提取单元、第一计算单元、第二计算单元的输出为输入;通过第一提取单元的输出获得所述服务组合所对应的服务组合功能特征向量,假设有I个服务组合用于训练,将第i个服务组合对应的服务组合功能特征向量记作Xi,i=1,…,I,I为整数;通过第一提取单元的输出获得所述Web服务所对应的Web服务功能特征向量,假设Web服务的总数为J,J为整数,将第j个Web服务对应的Web服务功能特征向量记作Yj,j=1,…,J,J为整数;通过第一计算单元获得每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度,将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所经过的时间长度记作uptij;通过第二计算单元获得每个Web服务自被发布时刻至一个服务组合被提出时刻所被调用的次数,将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所被调用的次数记作usgij

利用获得的服务组合功能特征向量Xi,i=1,…,I、Web服务功能特征向量Yj,j=1,…,J、每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度uptij,i=1,…,I,j=1,…,J以及每个Web服务自被发布时刻至一个服务组合被提出时刻所被调用的次数usgij,i=1,…,I,j=1,…,J,使用最优算法求解下述表达式进而确定并输出参数β1,β2,β3,β4以及vj

式中:

rij为第j个Web服务相对第i个服务组合的推荐度;

λv为正则化参数。

优选地,所述第一提取单元是一个L层的深度神经网络模型,L为整数,该模型使用的参数通过第二训练单元获得;所述第一提取单元以服务组合、Web服务作为输入;并将该模型的[L/2]层输出作为第一提取单元的输出,其中,[L/2]表示对L/2取整;

所述第二训练单元是一个L层的深度神经网络模型,L为整数,将服务组合噪声向量、Web服务噪声向量作为该模型的输入,将对应的服务组合初始向量、Web服务初始向量作为该模型的预期输出;当该模型的计算输出和预期输出误差小于一个给定的阈值时,将获得的模型参数输出;

所述服务组合噪声向量、Web服务噪声向量通过将服务组合初始向量、Web服务初始向量输入噪声添加处理单元进行噪声添加处理获得;

所述服务组合初始向量、Web服务初始向量通过将服务组合的描述文本与Web服务的描述文本输入向量化处理单元进行向量化处理获得。

优选地,所述噪声添加处理单元:根据设置的噪声水平,以所述噪声水平为概率随机将服务组合初始向量、Web服务初始向量中的元素置为0,以获得服务组合噪声向量、Web服务噪声向量。

优选地,所述向量化处理单元:将服务组合的描述文本或Web服务的描述文本转化为词袋模型的向量形式,获得服务组合词袋向量或Web服务词袋向量;对获得的服务组合词袋向量或Web服务词袋向量使用TF-IDF算法进行加权处理,获得相应的服务组合加权向量或Web服务加权向量;对获得的服务组合加权向量或Web服务加权向量进行最大值归一化,从而获得相应的所述服务组合初始向量或Web服务初始向量。

附图说明

图1是本公开一个实施例中的Web服务推荐方法流程图;

图2是本公开一个实施例中的Web服务功能特征提取模型的概率图模型示意图;

图3是本公开一个实施例中的Web服务推荐模型的概率图模型示意图;

图4是本公开一个实施例中的Web服务推荐装置结构示意图。

具体实施方式

下面结合附图对本公开方法的实施例进行介绍。

一种Web服务推荐方法,所述方法包括下述步骤:

S100、对于一个服务组合请求中涉及的服务组合,从该服务组合的描述文本中提取该服务组合的功能特征,获得服务组合功能特征向量,将其记作Z;

S200、计算每个Web服务自被发布时刻至提出所述服务组合请求时刻所经过的时间长度、以及每个Web服务自被发布时刻至提出服务组合请求时刻所被调用次数;

假设Web服务的总数为J,J为整数;将第j个Web服务自被发布时刻至提出服务组合请求时刻所经过的时间长度记作uptj,j=1,…,J;将第j个Web服务自被发布时刻至提出服务组合请求时刻所被调用次数记作usgj,j=1,…,J;

S300、对于每个Web服务,利用下式计算第j个Web服务相对所述服务组合请求的推荐度rj,j=1,…,J:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4为已知的权重参数;

vj为已知的与第j个Web服务相关的向量参数;

S400、将Web服务按照其推荐度降序输出。

上述方法步骤结合图1看:

对于一个服务组合请求,上述方法将服务组合请求中的服务组合的功能特征使用向量表示,获得相应的服务组合功能特征向量,将其记作Z。

同时,上述方法计算Web服务系统中已有的每个Web服务相对该服务组合的辅助信息,包括:

(1)第j个Web服务自被发布时刻至提出服务组合请求时刻所经过的时间长度,将其记作uptj,j=1,…,J;

(2)第j个Web服务自被发布时刻至提出服务组合请求时刻所被调用次数,将其记作usgj,j=1,…,J;

将获得的服务组合功能特征向量Z,以及辅助信息代入推荐度计算公式,可以获得每个Web服务相对该服务组合请求的推荐度,并根据推荐度从高到低,依次将Web服务推荐给服务组合请求者。

对一个服务组合请求,为了得到较为准确的Web服务推荐,对于上述推荐度计算公式,需要选择合适、恰当的权重参数β1,β2,β3,β4以及向量参数vj,j=1,…,J,并且权重参数β1,β2,β3,β4以及向量参数vj,j=1,…,J并不是对于所有的Web服务系统都是一样的,也需要根据不同的Web服务系统来确定。因此,有必要基于Web服务的历史使用信息、描述文本、预定义的辅助信息,建立服务组合与不同的Web服务之前的匹配关系,所述匹配关系通过推荐度来体现,一个Web服务相对一个服务组合推荐度高,则该Web服务与该服务组合的匹配度高。优选地,所述步骤S300中的权重参数β1,β2,β3,β4以及与第j个Web服务相关的向量参数vj,j=1,…,J,通过下述步骤获得:

S301、对于每个Web服务,从该Web服务的描述文本中提取每个Web服务的功能特征,获得Web服务功能特征向量;将第j个Web服务对应的Web服务功能特征向量记作Yj,j=1,…,J;

S302、准备I个服务组合作为样本,I为整数;

对于样本中的每个服务组合,从该服务组合的描述文本中提取其对应的服务组合功能特征向量;将第i个服务组合对应的服务组合功能特征向量记作Xi,i∈{1,…,I};

S303、对于样本中的每个服务组合,计算每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度、以及每个Web服务自被发布时刻至该服务组合被提出时刻所被调用次数;

将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所经过的时间长度记作uptij,i∈{1,…,I},j∈{1,…,J};

将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所被调用的次数记作usgij,i∈{1,…,I},j∈{1,…,J};

S304、使用最优算法求解下述表达式进而确定参数β1,β2,β3,β4,以及vj

式中:

rij为第j个Web服务相对第i个服务组合的推荐度;

λv为正则化参数。

上述步骤S301-S304可视为一个Web服务推荐模型的建立过程,而步骤S100-S400可视为一个Web服务推荐模型的应用过程。在步骤S301-S304中,将一定量的服务组合样本和Web服务系统中的每个Web服务之间的匹配程度,通过使用一个损失函数来建立,通过使用最优算法求解,可以确定合适、恰当的权重参数β1,β2,β3,β4以及向量参数vj,j=1,…,J。所述最优算法比如使用梯度下降法。特别地,在损失函数中,正则化参数λv优选使用值为0.0001。

图2是示意Web服务推荐模型的概率图模型示意图,在该图中,XL/2为服务组合功能特征向量,YL/2为Web服务功能特征向量,s为描述Web服务的辅助信息,以上信息对于Web服务推荐模型来说都是给定的。根据以上信息,构建Web服务的隐向量模型v,通过模型的训练确定模型v的参数。

当服务组合开发者希望开发满足某个功能的服务组合时,通过提交相关功能的描述文本,即服务组合的描述文本,所述方法可以自动分析服务组合的描述文本所获得服务组合的功能特征,进而将服务系统中的Web服务进行排序,按Web服务与该服务组合的契合程度从高到低将Web服务依次推荐给对服务组合发出请求的开发者,从而帮助开发者快速、便捷地完成服务组合的开发。

为了方便从一个服务组合请求中获得该请求对应的服务组合功能特征向量,以及为了方便获取一个Web服务的Web服务功能特征向量。优选地,所述步骤S301之前还包括下述步骤:

S300.1、将服务组合的描述文本与Web服务的描述文本进行向量化处理,获得服务组合初始向量、Web服务初始向量;

S300.2、对所述服务组合初始向量、Web服务初始向量进行噪声添加处理,获得服务组合噪声向量、Web服务噪声向量;

S300.3、建立一个将L层的深度神经网络模型,L为整数;将服务组合噪声向量、Web服务噪声向量作为该模型的输入,将对应的服务组合初始向量、Web服务初始向量作为该模型的预期输出;

当该模型的计算输出和预期输出误差大于等于一个给定的阈值时,返回步骤S300.2;否则,执行步骤S300.4;

S300.4、保留该模型的参数;并且,将服务组合噪声向量在该深度神经网络的[L/2]层的对应输出作为所述服务组合功能特征向量;将Web服务噪声向量在该深度神经网络的[L/2]层的对应输出作为Web服务功能特征向量,其中,[L/2]表示对L/2取整。

对于一个服务组合请求,首先确定该请求中服务组合,进而获得该服务组合的描述文本。

上述步骤S300.1-S300.4可以视为一个Web服务功能提取模型的训练过程,由步骤S300.3可知,所述Web服务功能提取模型是一个深度神经网络模型,该模型对服务组合的描述文本以及Web服务的描述文本进行建模,将其映射至功能特征的向量空间,充分利用深度学习可以提取有效的特征表达的特性。

该模型的训练过程如图3所示。在该图中,将Web服务的描述文本进行向量化处理后得到的Web服务初始向量,用Xc表示;将对Web服务初始向量Xc进行噪声添加处理后得到Web服务噪声向量,用X0表示。将X0作为深度神经网络模型的输入,将Xc作为深度神经网络模型的预期输出,训练该深度神经网络。

所述深度神经网络模型可视为一个最大化的损失函数:

其中需要优化的参数为深度神经网络的相关参数W+={Wl,bl,l=1,2,…,L},L为深度神经网络的层数,fr(·,W+)使用神经网络参数W+计算输入重构的结果,即神经网络第L层的输出。在训练时,可以使用BP算法。

当深度神经网络模型的计算输出和预期输出误差小于一个给定的阈值时,停止训练,并将该深度神经网络的瓶颈层(Bottleneck Layer)输出中作为训练好的模型的输出。具体地,可以将该深度神经网络的[L/2]层指定为瓶颈层,其中,[L/2]表示对L/2取整。

所述深度神经网络模型优选使用层叠去噪自动编码机模型,但也可以使用其它深度神经网络模型。使用层叠去噪自动编码机模型可以无监督地对文本进行建模,使用更加方便,且效果足够好。而通过添加噪声的方式,层叠去噪自动编码机模型可以模拟真实世界中描述一个服务/服务组合时,并且对于用词的不确定性,层叠去噪自动编码机训练具有鲁棒性。

所述Web服务功能提取模型被训练好后,保留该模型的各个参数。在用户发出一个服务组合请求后,将该请求中涉及的服务组合的描述文本输入Web服务功能提取模型,获取其在瓶颈层输出的向量,该向量即为该服务组合请求对应的服务组合功能特征向量。

在一个实施例中,揭示了步骤S300.1中的向量化处理的具体步骤,包括:

S300.1a、建立词袋(bag-of-word)模型;

S300.1b、将服务组合的描述文本或Web服务的描述文本转化为所述词袋模型的向量形式,获得服务组合词袋向量或Web服务词袋向量;

S300.1c、对服务组合词袋向量或Web服务词袋向量使用TF-IDF算法进行加权处理,获得相应的服务组合加权向量或Web服务加权向量;

S300.1d、对服务组合加权向量或Web服务加权向量进行最大值归一化,从而获得相应的所述服务组合初始向量或Web服务初始向量。

其中,所述词袋模型中词的类型包括服务描述语言、服务类别、标签、协议。

在一个实施例中,揭示了步骤S300.2中的噪声添加处理的具体方法,包括:

S300.2a设置噪声水平;

S300.2b以所述噪声水平为概率随机将服务组合初始向量、Web服务初始向量中的元素置为0,以获得服务组合噪声向量、Web服务噪声向量。

其中,将噪声水平记作nl,那么nl满足:0≤nl≤1。在这个实施例中,将元素置为0,认为该元素为噪声,但还可以将噪声设置为其它值。

根据本公开的方法,实现了一种Web服务推荐装置,所述装置包括第一提取单元、第一计算单元、第二计算单元、第三计算单元、第一输出单元;

所述第一提取单元:对于每一个服务组合的描述文本,提取该服务组合的功能特征,获得服务组合功能特征向量;并输出该服务组合对应的服务组合功能特征向量;

所述第一计算单元:对于每一个服务组合,计算并输出每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度;

所述第二计算单元:对于每一个服务组合,计算并输出每个Web服务自被发布时刻至一个服务组合被提出时刻所被调用的次数;

所述第三计算单元:对于每一个服务组合,结合所述第一提取单元、第一计算单元、第二计算单元的输出,计算每个Web服务相对该服务组合的推荐度;

所述第一输出单元:对于每一个服务组合,根据第三计算单元计算的推荐度,降序输出Web服务;

所述推荐度的计算如下:

假设Web服务的总数为J,J为整数;将一个服务组合输入所述第一提取单元后,输出的服务组合功能特征向量为Z;将该服务组合输入第一计算单元后,输出的第j个Web服务对应的时间长度为uptj,j=1,…,J;将该服务组合输入第二计算单元后,输出的第j个Web服务对应的次数为usgj,j=1,…,J;则第j个Web服务相对所述服务组合请求的推荐度rj的计算式为:

rj=β1Zvj2uptj3usgj4

式中:

β1,β2,β3,β4为已知的权重参数;

v为已知的与该Web服务相关的向量参数。

优选地,所述第一提取单元,还包括:对输入的每一个Web服务,从Web服务的描述文本中提取每个Web服务的功能特征,获得Web服务功能特征向量;并输出该Web服务对应的Web服务功能特征向量;

所述第三计算单元中的参数β1,β2,β3,β4和v,通过第一训练单元确定;

所述第一训练单元:以第一提取单元、第一计算单元、第二计算单元的输出为输入;通过第一提取单元的输出获得所述服务组合所对应的服务组合功能特征向量,假设有I个服务组合用于训练,将第i个服务组合对应的服务组合功能特征向量记作Xi,i=1,…,I,I为整数;通过第一提取单元的输出获得所述Web服务所对应的Web服务功能特征向量,假设Web服务的总数为J,J为整数,将第j个Web服务对应的Web服务功能特征向量记作Yj,j=1,…,J,J为整数;通过第一计算单元获得每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度,将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所经过的时间长度记作uptij;通过第二计算单元获得每个Web服务自被发布时刻至一个服务组合被提出时刻所被调用的次数,将第j个Web服务自被发布时刻开始至第i个服务组合被提出时刻截止所被调用的次数记作usgij

利用获得的服务组合功能特征向量Xi,i=1,…,I、Web服务功能特征向量Yj,j=1,…,J、每个Web服务自被发布时刻至该服务组合被提出时刻所经过的时间长度uptij,i=1,…,I,j=1,…,J以及每个Web服务自被发布时刻至一个服务组合被提出时刻所被调用的次数usgij,i=1,…,I,j=1,…,J,使用最优算法求解下述表达式进而确定并输出参数β1,β2,β3,β4以及vj

式中:

rij为第j个Web服务相对第i个服务组合的推荐度;

λv为正则化参数。在使用时,正则化参数λv优选设置为0.0001。

优选地,所述第一提取单元是一个L层的深度神经网络模型,L为整数,该模型使用的参数通过第二训练单元获得;所述第一提取单元以服务组合、Web服务作为输入;并将该模型的[L/2]层输出作为第一提取单元的输出,其中,[L/2]表示对L/2取整;

所述第二训练单元是一个L层的深度神经网络模型,L为整数,将服务组合噪声向量、Web服务噪声向量作为该模型的输入,将对应的服务组合初始向量、Web服务初始向量作为该模型的预期输出;当该模型的计算输出和预期输出误差小于一个给定的阈值时,将获得的模型参数输出;

所述服务组合噪声向量、Web服务噪声向量通过将服务组合初始向量、Web服务初始向量输入噪声添加处理单元进行噪声添加处理获得;

所述服务组合初始向量、Web服务初始向量通过将服务组合的描述文本与Web服务的描述文本输入向量化处理单元进行向量化处理获得。

优选地,所述噪声添加处理单元:根据设置的噪声水平,以所述噪声水平为概率随机将服务组合初始向量、Web服务初始向量中的元素置为0,以获得服务组合噪声向量、Web服务噪声向量。

优选地,所述向量化处理单元:将服务组合的描述文本或Web服务的描述文本转化为词袋模型的向量形式,获得服务组合词袋向量或Web服务词袋向量。所述词袋模型中词的类型包括服务描述语言、服务类别、标签、协议。对获得的服务组合词袋向量或Web服务词袋向量使用TF-IDF算法进行加权处理,获得相应的服务组合加权向量或Web服务加权向量;对获得的服务组合加权向量或Web服务加权向量进行最大值归一化,从而获得相应的所述服务组合初始向量或Web服务初始向量。

下面实施例结合图4介绍了一种Web服务推荐装置的使用方式。当一个用户发出一个服务组合请求时,用户自己提供或者Web服务系统自动生成一个服务组合的描述文本。接下来所述装置的向量化处理单元基于词袋模型对该服务组合的描述文本进行向量化处理,并输出该服务组合请求对应的服务组合初始向量至第一提取单元,第一提取单元输出该服务组合请求对应的服务组合功能特征向量至第三计算单元。第三计算单元再结合第一计算单元和第二计算单元计算的辅助信息,计算对于该服务组合请求下的Web服务系统中的Web服务的推荐度。第一输出单元根据Web服务的推荐度将Web服务推荐给用户。对于辅助信息,假设Web服务系统中有J个Web服务,则辅助信息包括:

(1)第j个Web服务自被发布时刻至用户发出服务组合请求的时刻所经过的时间长度,将其记作uptij,i=1,…,I,j=1,…,J;

(2)第j个Web服务自被发布时刻至用户发出服务组合请求的时刻所被调用次数,将其记作usgij,i=1,…,I,j=1,…,J。

从图4可以看出,第三计算单元是Web服务推荐模型的一部分,第一提取单元是Web服务功能特征提取模型的一部分,它们均为使用各自已确定好的模型参数来进行相应处理。在不知道这些模型参数的情况下,或者将所述装置应用于一个新的Web服务系统时,Web服务推荐模型可以使用第一训练单元来获得其模型参数;而Web服务功能特征提取模型可以使用第二训练单元来获得其模型参数。

对于Web服务功能特征提取模型的训练,准备若干历史服务组合作为训练样本,获取它们的描述文本,以及它们使用Web服务的信息。将服务组合的描述文本和Web服务的描述文本根据词袋模型进行向量化处理,获得服务组合初始向量和Web服务初始向量。并进一步将服务组合初始向量和Web服务初始向量输入噪声添加处理单元进行噪声添加处理后,获得服务组合噪声向量和Web服务噪声向量。

所述Web服务功能特征提取模型属于深度神经网络模型,将获得的服务组合噪声向量和Web服务噪声向量作为Web服务功能特征提取模型的训练输入数据,将用于获得服务组合噪声向量的服务组合初始向量、用于获得Web服务噪声向量的Web服务初始向量作为对应的预期输出,来训练Web服务功能特征提取模型。当Web服务功能特征提取模型的预期输出和计算输出的误差小于一个给定的阈值时,则表明已经获得可以使用的Web服务功能特征提取模型。

将训练好的Web服务功能特征提取模型所具有的参数输出给第一提取单元,该单元是一个和第二训练单元相同的模型。同时,将Web服务功能特征提取模型的[L/2]层输出作为训练好的Web服务功能特征提取模型的输出,其中,[L/2]表示对L/2取整。即:将服务组合噪声向量在[L/2]层的输出作为服务组合功能特征向量,将Web服务噪声向量在[L/2]层的输出作为Web服务功能特征向量。

对于在第二训练单元输出的服务组合功能特征向量、Web服务功能特征向量,将作为第一训练单元的输入训练样本,以获得Web服务推荐模型的参数。同时,第一训练单元还需要利用第一计算单元和第二计算单元计算辅助信息。假设作为训练样本的服务组合有I个,则辅助信息包括:

(1)第j个Web服务自被发布时刻至第i个服务组合被提出时刻所经过的时间长度,将其记作uptij,i=1,…,I,j=1,…,J;

(2)第j个Web服务自被发布时刻至第i个服务组合被提出时刻所被调用次数,将其记作usgij,i=1,…,I,j=1,…,J。

当第一训练单元经训练寻找到Web服务推荐模型的参数,第一训练单元把参数输出给第三计算单元。

以上对本公开的一种Web服务推荐方法以及装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法、装置的核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变指出,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1