CN105117325A - 一种基于随机游走的Web服务质量预测方法 - Google Patents

一种基于随机游走的Web服务质量预测方法 Download PDF

Info

Publication number
CN105117325A
CN105117325A CN201510531036.7A CN201510531036A CN105117325A CN 105117325 A CN105117325 A CN 105117325A CN 201510531036 A CN201510531036 A CN 201510531036A CN 105117325 A CN105117325 A CN 105117325A
Authority
CN
China
Prior art keywords
user
service
random walk
qos
formula
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510531036.7A
Other languages
English (en)
Inventor
唐明董
戴小玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University of Science and Technology
Original Assignee
Hunan University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University of Science and Technology filed Critical Hunan University of Science and Technology
Priority to CN201510531036.7A priority Critical patent/CN105117325A/zh
Publication of CN105117325A publication Critical patent/CN105117325A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种基于随机游走的Web服务质量预测方法,步骤包括:基于用户位置计算用户和用户之间的距离;为每个用户选择近邻用户构成邻域、并连接邻域用户构建用户关系网络;计算用户关系网络中用户和用户、服务和服务之间的相似度;计算用户关系网络中每一条边的权重;针对源用户所请求的目标服务,从源用户开始分别进行多次查找关于目标服务i的随机游走,每一次随机游走中的每一跳是根据一定概率随机选择下一跳节点,每次游走结束后返回一个QoS值;综合所有QoS值计算源用户相对目标服务的质量预测值。本发明能平衡Web服务质量预测的覆盖率和预测精度,具有预测准确、成功率高、通用性好、可评估置信度和可解释性好的优点。

Description

一种基于随机游走的Web服务质量预测方法
技术领域
本发明涉及Web服务质量预测技术,具体涉及一种用于Web服务选择或推荐的基于随机游走的Web服务质量预测方法。
背景技术
Web服务是自描述、自包含的可用网络模块,用来帮助实现通过远程调用来完成不同机器之间的交互操作,并成为了构造分布式系统、模块化应用程序和面向服务应用集成的主要技术,如电子商务、车载系统、多媒体服务等。随着网络上Web服务数量的快速增长,为用户推荐最优的服务变得更具有挑战性。为了能在大量的可供选择的功能相同的Web服务集中找到最优的服务,Web服务的质量,即QoS(QualityofService)被广泛用来描述和评价Web服务的非功能属性。Web服务的QoS常常被定义为一系列用户感知的属性,典型的有响应时间、吞吐量、可靠性等。由于QoS在成功建立面向服务的应用中的至关重要性,基于QoS的Web服务选择和推荐方法成为近几年的一个研究热点。
传统的基于QoS的Web服务选择的研究都有一个通用的假设,即所有Web服务的QoS值都是可用且准确的。然而,在现实中,这个前提不一定是真实的,用户想要总能获取到服务的QoS值是不切实际的。这是由于Web服务的QoS值容易受到不可预测的网络环境和用户环境(例如:用户位置,用户网络条件等)的影响,从而使得不同的用户在相同的Web服务上所观察到的QoS值不同。换而言之,用户在进行服务选择时,不能直接使用另一个用户对服务的QoS评价值。并且,由于现实中Web服务的调用既耗时间又耗资源,因此用户想要通过自己调用Web服务来评价所有候选服务以获取QoS信息是不实际的。此外由于服务用户需要评价的候选服务过多,且还有一些合适的Web服务未被发现,使得服务的QoS信息大量缺失。针对这些未知的QoS进行预测是基于QoS的Web服务选择和推荐的重要依据。
现有技术中,最常用的预测QoS缺失值的方法存在以下缺陷:1)由于Web服务和用户数量的剧增,存在数据稀疏性问题,使得协同过滤方法难以解决“冷启动”问题,即某用户从未调用过任何服务,或某服务从未被任何用户调用过。2)有研究表明由于位置与服务的QoS存在相关性,处于同一或邻近区域的用户在相同服务上会有相似的QoS体验。因此,可以利用用户的位置来找到源用户的邻居,然后再根据这些邻居的历史QoS信息来进行推荐,可以有效的解决QoS数据稀疏问题。然而,仅考虑用户位置来预测QoS可能降低预测精度。
发明内容
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种能在覆盖率和预测精度间得到显著好的平衡,预测成功率高、通用性好、可评估置信度和可解释性好的基于随机游走的Web服务质量预测方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于随机游走的Web服务质量预测方法,步骤包括:
1)根据Web服务QoS数据集中用户的位置信息计算用户和用户之间的物理距离;
2)为每个用户选择物理距离最近的K个近邻用户作为该用户的邻域;
3)为每个用户连接各自邻域的用户构建用户关系网络G;
4)针对用户关系网络G,计算用户和用户之间的相似度、服务和服务之间的相似度;
5)根据所述用户和用户之间的物理距离、用户和用户之间的相似度计算用户关系网络G中每一条边的权重;
6)针对源用户u0所请求的目标服务i,从源用户u0开始分别进行多次查找关于目标服务i的随机游走,每一次随机游走中的每一跳基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据所述用户选择概率从当前跳的用户u的邻域NUu中随机选择一个用户v作为本次随机游走的下一跳节点,最终在找到调用过目标服务i或相似服务的用户后结束本次游走并返回一个QoS值;
7)综合所有随机游走返回的QoS值计算源用户u0相对目标服务i的QoS预测值。
优选地,所述步骤1)中具体是指根据式(1)计算用户和用户之间的物理距离;
式(1)中,du,v为用户u和用户v之间的物理距离,为用户u的纬度、λu为用户u的经度,为用户v的纬度、λv为用户v的经度。
优选地,所述步骤4)具体是指根据式(2)计算用户和用户之间的相似度、根据式(4)计算服务和服务之间的相似度;;
s i m ( u , v ) = 1 1 + e - | IC u , v | 2 c o r r ( u , v ) - - - ( 2 )
式(2)中,sim(u,v)为用户u和用户v之间的相似度,ICu,v是指用户u和用户v共同调用过的Web服务集合,corr(u,v)为用户u和用户v之间的皮尔森相关系数,皮尔森相关系数corr(u,v)的计算公式如式(3)所示;
c o r r ( u , v ) = Σ i ∈ IC u , v ( r u , i - r u ‾ ) ( r v , i - r v ‾ ) Σ i ∈ IC u , v ( r u , i - r u ‾ ) 2 Σ i ∈ IC u , v ( r v , i - r v ‾ ) 2 - - - ( 3 )
式(3)中,ICu,v为用户u和用户v共同调用过的Web服务集合,ru,i为用户u在Web服务i上观察到的QoS值,为用户u的QoS向量的平均值,为用户v的QoS向量的平均值;
s i m ( i , j ) = 1 1 + e - | UC i , j | 2 c o r r ( i , j ) - - - ( 4 )
式(4)中,sim(i,j)为服务i和服务j之间的相似度,UCi,j是指共同调用过Web服务i和j的用户集,corr(i,j)为服务i和j之间的皮尔森相关系数,皮尔森相关系数corr(i,j)的计算公式如式(5)所示,且服务i和j之间的皮尔森相关系数corr(i,j)仅仅取正相关;
c o r r ( i , j ) = Σ u ∈ UC i , j ( r u , i - r i ‾ ) ( r u , j - r j ‾ ) Σ u ∈ UC i , j ( r u , i - r i ‾ ) 2 Σ u ∈ UC i , j ( r u , j - r j ‾ ) 2 - - - ( 5 )
式(5)中,UCi,j为共同调用过Web服务i和j的用户集,ru,i为用户u在Web服务i上观察到的QoS值,为服务i的QoS向量的平均值,为服务j的QoS向量的平均值。
优选地,所述步骤5)中具体是指根据式(6)计算用户关系网络G中每一条边的权重;
t u , v = ( 1 1 + d u , v ) λ * ( ( 1 + s i m ( u , v ) ) 2 ) 1 - λ - - - ( 6 )
式(6)中,tu,v为用户关系网络G中用户u和用户v之间的边的权重,du,v为用户u和用户v之间的物理距离,sim(u,v)为用户u和用户v之间的相似度,λ为[0,1]区间内的可调参数。
优选地,所述步骤6)中每一次随机游走的详细步骤包括:
6.1)从源用户u0开始进行查找有关目标服务i的随机游走,当本次游走随机过程中的某一跳到达某个用户u时跳转执行步骤6.2);
6.2)判断当前跳的用户u在目标服务i上是否有QoS值,如果有QoS值则将该QoS值ru,i作为本次随机游走的QoS值返回,本次随机游走结束;否则,跳转执行下一步;
6.3)判断源用户u0开始进行随机游走的跳数是否等于预设的最大游走深度max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6.4),否则跳转执行步骤6.5);
6.4)以指定的终止概率φu,i,k判断本次随机游走是否需要终止,如果不需要终止,则基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据所述用户选择概率从当前跳的用户u的邻域NUu中选择一个用户v作为本次游走随机的下一跳节点,跳转执行步骤6.2);如果需要终止,则跳转执行步骤6.5);
6.5)从当前跳的用户u调用过的服务集合RSu中以指定的服务选择概率选择一个和目标服务i相似的服务j,将当前跳的用户u在目标服务j上的QoS值作为本次随机游走的QoS值ru,j返回,本次随机游走结束。
优选地,所述步骤6.3)的详细步骤包括:
6.3.1)判断是否满足式(7)所示的全局游走终止条件,如果满足全局游走终止条件,则跳转执行步骤6.5);否则跳转执行步骤6.3.2);
| &sigma; i + 1 2 - &sigma; i 2 | < &epsiv; - - - ( 7 )
式(7)中,表示前i次随机游走结果的方差,表示前i+1次随机游走结果的方差,ε为预设的收敛常数,其中前i次随机游走结果的方差的计算表达式如式(8)所示;
&sigma; i 2 = &Sigma; i = 1 T ( r i - r &OverBar; ) 2 T - - - ( 8 )
式(8)中,为前i次随机游走结果的方差,T为已返回QoS值的随机游走总次数,为T趟随机游走返回的QoS平均值,ri为第i次随机游走返回的QoS值;
6.3.2)判断源用户u0开始进行随机游走的跳数是否等于预设的最大游走深度max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6.4),否则跳转执行步骤6.5)。
优选地,所述步骤6.4)中以指定的终止概率判断本次随机游走是否需要终止时,所述终止概率φu,i,k的计算表达式如式(9)所示;
&phi; u , i , k = m a x j &Element; RS u s i m ( i , j ) &times; 1 1 + e - k 2 - - - ( 9 )
式(9)中,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,RSu为当前跳的用户u调用过的服务集合,sim(i,j)为目标服务i和当前跳的用户u调用过的服务集合RSu中的服务j之间的相似度,k为当前跳的用户u和源用户u0之间的跳数。
优选地,所述步骤6.4)中具体是指根据式(10)确定下一跳的用户选择概率;
P ( X u 0 , i , k + 1 = v | X u 0 , i , k = u , R ~ u , i ) = ( 1 - &phi; u , i , k ) &times; t u , v &Sigma; w &Element; NU u t u , w - - - ( 10 )
式(10)中,为从用户u的邻域NUu中选择一个用户v的用户选择概率,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k跳找到用户v的随机变量,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k-1跳找到用户u的随机变量,表示在第k-1步时所在节点用户u对目标服务i没有QoS记录的前提条件;NUu为和源用户u0距离k跳的用户u的邻域,v为从用户u的邻域NUu中选择的作为下一跳的用户,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,tu,v为用户关系网络G中用户u和下一跳的用户v之间的边的权重,tu,w为用户关系网络G中用户u、用户u的邻域NUu中用户w之间的边的权重。
优选地,所述步骤6.5)中以指定的服务选择概率选择一个和目标服务i相似的服务j时,所述服务选择概率的计算表达式如式(11)所示;
P ( Y u , i = j ) = s i m ( i , j ) &Sigma; l &Element; RS u s i m ( i , l ) - - - ( 11 )
式(11)中,P(Yu,i=j)为以指定的服务选择概率选择一个和目标服务i相似的服务j时的服务选择概率,sim(i,j)为目标服务i和服务j之间的相似度,sim(i,l)为目标服务i和当前跳的用户u调用过的服务集合RSu中服务l之间的相似度。
优选地,所述步骤7)中具体是指根据式(12)~式(14)中的任意一个函数表达式计算源用户u0相对目标服务i的QoS预测值;
r ^ u , i = &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) r v , j &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 12 )
r ^ u , i = u &OverBar; + &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) ( r v , j - v &OverBar; ) &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 13 )
r ^ u , i = i &OverBar; + &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) ( r v , j - j &OverBar; ) &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 14 )
式(12)~式(14)中,为源用户u相对目标服务i的QoS预测值;rv,j为用户v在Web服务j上观察到的QoS值,Rv,j为用户v是否调用过服务j的布尔变量,为源用户u的QoS平均值,为用户v的QoS平均值,为目标服务i的QoS平均值,为服务j的QoS平均值;P(XYu,i=(v,j))为从用户u开始随机游走后,在用户v停止并从v调用过的服务集合中选择目标服务i的相似服务j的随机概率,P(XYu,i=(v,j))的函数表达式如式(15)所示;
P ( XY u , i = ( v , j ) ) = P ( X u , i = v ) &phi; u , i P ( Y v , i = j ) v &NotEqual; u ; i &NotEqual; j P ( X u , i = v ) v &NotEqual; u ; i = j &phi; v , i , 1 P ( Y v , i = j ) v = u ; i &NotEqual; j - - - ( 15 )
式(15)中,XYu,i是从用户u开始随机游走后,在用户v停止并从v调用过的服务集合中选择服务j的随机变量;Xu,i是从用户u开始查找有关目标服务i的随机游走到达用户v的随机变量;P(Xu,i=v)为从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率;φu,i为不考虑跳数k的情形下针对目标服务i的游走随机过程中到达用户u时的终止概率,φu,i的函数表达式如式(9)所示,且其中跳数k的取值为无穷大;P(Yv,i=j)为从用户v调用过的服务集合中选择一个和目标服务i相似的服务j时的服务选择概率,服务选择概率的计算表达式如式(11)所示;φv,i,1为从用户u开始游走第一步到达用户v时就终止的概率;其中从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率P(Xu,i=v)的函数表达式如式(16)所示;
P ( X u , i = v ) = &Sigma; k = 1 &infin; P ( X u , i , k = v ) &Sigma; w &Element; U &Sigma; k = 1 &infin; P ( X u , i , k = w ) - - - ( 16 )
式(16)中,P(Xu,i=v)为从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率,P(Xu,i,k=v)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户v的随机概率,P(Xu,i,k=w)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户关系网络G的用户集合U中的用户w的随机概率,Xu,i,k为从用户u开始在k步游走到节点用户v的随机变量。
本发明基于随机游走的Web服务质量预测方法具有下述优点:本发明结合了基于位置感知的方法和基于协同过滤的原理,先利用用户位置和用户相似度来构建用户关系网络G,通过在该用户关系网络G中游走来获得与目标服务有关的QoS信息。而且考虑到在网络中走得离源用户太远时用户与源用户之间的关系会变得很弱,他们的QoS数据对预测来说可能会变得更加不可靠,本发明还在每一步游走不仅考虑了目标服务的QoS信息,还考虑到了与目标服务相似的那些服务的QoS,随着游走步数的增加,采用相似服务的QoS信息的概率加大,从确保QoS预测的成功率;并且本发明的随机游走方法还允许本发明计算预测结果的置信度,置信度越高的推荐具有越高的质量。因此,本发明能在覆盖率和预测精度间得到显著好的平衡,具有预测成功率高、通用性好、可计算置信度和可解释性好的优点。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例方法中单次随机游走的基本流程示意图。
图3为本发明实施例方法在训练矩阵密度在1%情况下的预测性能表。
图4为本发明实施例方法在训练矩阵密度在5%情况下的预测性能表。
具体实施方式
如图1所示,本实施例基于随机游走的Web服务质量预测方法的步骤包括:
1)根据Web服务QoS数据集中用户的位置信息计算用户和用户之间的物理距离;
2)为每个用户选择物理距离最近的K个近邻用户作为该用户的邻域;
3)为每个用户连接各自邻域的用户构建用户关系网络G;
4)针对用户关系网络G,计算用户和用户之间的相似度、服务和服务之间的相似度;
5)根据用户和用户之间的物理距离、用户和用户之间的相似度计算用户关系网络G中每一条边的权重;
6)针对源用户u0所请求的目标服务i,从源用户u0开始分别进行多次查找关于目标服务i的随机游走,每一次随机游走中的每一跳基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据用户选择概率从当前跳的用户u的邻域NUu中随机选择一个用户v作为本次随机游走的下一跳节点,最终在找到调用过目标服务i或相似服务的用户后结束本次游走并返回一个QoS值;
7)综合所有随机游走返回的QoS值计算源用户u0相对目标服务i的QoS预测值。
本实施例中,步骤1)中具体是指根据式(1)计算用户和用户之间的物理距离;
式(1)中,du,v为用户u和用户v之间的物理距离,为用户u的纬度、λu为用户u的经度,为用户v的纬度、λv为用户v的经度。
本实施例中,步骤2)中为每个用户选择物理距离最近的K个近邻用户时,具体是采用Top-K算法为每个用户选择物理距离最近的K个近邻用户作为该用户的邻域。例如对于任一用户u而言,选择各自最近的Top-K个近邻用户,其邻域表示为NUu。本实施例中,Top-K具体取值为5101520。
本实施例中,步骤3)中为每个用户连接各自邻域的用户构建用户关系网络G,对于任一用户u而言,其用户关系网络G为G=<U,TU>,TU={(u,v)|u∈U,v∈NUu}。
本实施例中,步骤4)具体是指根据式(2)计算用户和用户之间的相似度、根据式(4)计算服务和服务之间的相似度;
s i m ( u , v ) = 1 1 + e - | IC u , v | 2 c o r r ( u , v ) - - - ( 2 )
式(2)中,sim(u,v)为用户u和用户v之间的相似度,ICu,v是指用户u和用户v共同调用过的Web服务集合,corr(u,v)为用户u和用户v之间的皮尔森相关系数(PearsonCorrelationCoefficient,PCC),皮尔森相关系数corr(u,v)的计算公式如式(3)所示;
c o r r ( u , v ) = &Sigma; i &Element; IC u , v ( r u , i - r u &OverBar; ) ( r v , i - r v &OverBar; ) &Sigma; i &Element; IC u , v ( r u , i - r u &OverBar; ) 2 &Sigma; i &Element; IC u , v ( r v , i - r v &OverBar; ) 2 - - - ( 3 )
式(3)中,ICu,v为用户u和用户v共同调用过的Web服务集合,ru,i为用户u在Web服务i上观察到的QoS值,为用户u的QoS向量的平均值,为用户v的QoS向量的平均值;
s i m ( i , j ) = 1 1 + e - | UC i , j | 2 c o r r ( i , j ) - - - ( 4 )
式(4)中,sim(i,j)为服务i和服务j之间的相似度,UCi,j是指共同调用过Web服务i和j的用户集,corr(i,j)为服务i和j之间的皮尔森相关系数(PearsonCorrelationCoefficient,PCC),皮尔森相关系数corr(i,j)的计算公式如式(5)所示,且服务i和j之间的皮尔森相关系数corr(i,j)仅仅取正相关;
c o r r ( i , j ) = &Sigma; u &Element; UC i , j ( r u , i - r i &OverBar; ) ( r u , j - r j &OverBar; ) &Sigma; u &Element; UC i , j ( r u , i - r i &OverBar; ) 2 &Sigma; u &Element; UC i , j ( r u , j - r j &OverBar; ) 2 - - - ( 5 )
式(5)中,UCi,j为共同调用过Web服务i和j的用户集,ru,i为用户u在Web服务i上观察到的QoS值,为服务i的QoS向量的平均值,为服务j的QoS向量的平均值。皮尔森相关系数的值在区间[-1,1]之间,对于服务i和j之间的皮尔森相关系数corr(i,j)而言,负数意味着两个服务得到QoS评价是相对立的,这样的服务对本实施例而言是无用的。因此,本实施例只需要考虑那些正相关的服务(值为[0,1]之间),这一点与用户相似度的处理有所不同。
对于用户关系网络G而言,假设(u,v)在网络中是一条边,用tu,v表示(u,v)这条边的权重,可以看作用户u和用户v之间的信任值。tu,v的计算基于两个直觉:用户v离u越近,则v所提供的QoS信息越可靠,进而tu,v的值越好;用户v与u越相似,则v所提供的QoS信息越可靠,进而tu,v的值越好。为了符合上述直觉,本实施例中,步骤5)中具体是指根据式(6)计算用户关系网络G中每一条边的权重;
t u , v = ( 1 1 + d u , v ) &lambda; * ( ( 1 + s i m ( u , v ) ) 2 ) 1 - &lambda; - - - ( 6 )
式(6)中,tu,v为用户关系网络G中用户u和用户v之间的边的权重,du,v为用户u和用户v之间的物理距离,sim(u,v)为用户u和用户v之间的相似度,λ为[0,1]区间内的可调参数。本实施例中,可调参数λ具体取值为0.5。
如图2所示,本实施例步骤6)中每一次随机游走的详细步骤包括:
6.1)从源用户u0开始进行查找有关目标服务i的随机游走,当本次游走随机过程中的某一跳到达某个用户u时跳转执行步骤6.2);
6.2)判断当前跳的用户u在目标服务i上是否有QoS值,如果有QoS值则将该QoS值ru,i作为本次随机游走的QoS值返回,本次随机游走结束;否则,跳转执行下一步;
6.3)判断源用户u0开始进行随机游走的跳数是否等于预设的最大游走深度max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6.4),否则跳转执行步骤6.5);
6.4)以指定的终止概率φu,i,k判断本次随机游走是否需要终止,如果不需要终止,则基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据用户选择概率从当前跳的用户u的邻域NUu中选择一个用户v作为本次游走随机的下一跳节点,跳转执行步骤6.2);如果需要终止,则跳转执行步骤6.5);
6.5)从当前跳的用户u调用过的服务集合RSu中以指定的服务选择概率选择一个和目标服务i相似的服务j,将当前跳的用户u在目标服务j上的QoS值作为本次随机游走的QoS值ru,j返回,本次随机游走结束。
结合前述步骤6.1)~6.5)可知,本实施例中每次随机游走在三种情况下会终止:(1)如果找到调用过目标服务i的一个用户,则返回该用户所观察到的QoS值;(2)有一定的概率(终止概率)停在一些用户节点u处,随机的从用户u所调用的服务中选择一个和目标服务相似的服务,并返回用户u在该服务上观察到的QoS值作为随机游走的结果;(3)单次随机游走可能会出现一直游走不中断的情况。为了避免出现这样的状况,本实施例在步骤6.3)中限制了随机游走的游走最大游走深度,当游走步数超过最大游走深度(即k>max-depth),终止游走。基于“六度分割理论”的思想,本实施例中的最大游走深度max-depth=6。
每趟随机游走都会返回一个QoS值,为了搜集到更多的数据,获得更加可靠的预测值,往往需要在网络中进行若干次随机游走。此时就需要定义一个全局游走终止条件,当达到此条件时,在整个网络中的游走过程结束,以使得本实施例得到一个精确的QoS预测值。本实施例中,步骤6.3)的详细步骤包括:
6.3.1)判断是否满足式(7)所示的全局游走终止条件,如果满足全局游走终止条件,则跳转执行步骤6.5);否则跳转执行步骤6.3.2);
| &sigma; i + 1 2 - &sigma; i 2 | < &epsiv; - - - ( 7 )
式(7)中,表示前i次随机游走结果的方差,表示前i+1次随机游走结果的方差,ε为预设的收敛常数(本实施例中具体取值为0.0001),其中前i次随机游走结果的方差的计算表达式如式(8)所示;
&sigma; i 2 = &Sigma; i = 1 T ( r i - r &OverBar; ) 2 T - - - ( 8 )
式(8)中,为前i次随机游走结果的方差,T为已返回QoS值的随机游走总次数,为T趟随机游走返回的QoS平均值,ri为第i次随机游走返回的QoS值;
6.3.2)判断源用户u0开始进行随机游走的跳数是否等于预设的最大游走深度max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6.4),否则跳转执行步骤6.5)。
此外,本实施例中还进一步为每一次QoS预测设置的最大随机游走次数阈值10000,当为源用户u预测目标服务i进行预测时,如果不成功的随机游走次数达到10000时,才认为这个点没有覆盖到。
本实施例中,步骤6.4)中以指定的终止概率判断本次随机游走是否需要终止时,终止概率φu,i,k的计算表达式如式(9)所示;
&phi; u , i , k = m a x j &Element; RS u s i m ( i , j ) &times; 1 1 + e - k 2 - - - ( 9 )
式(9)中,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,RSu为当前跳的用户u调用过的服务集合,sim(i,j)为目标服务i和当前跳的用户u调用过的服务集合RSu中的服务j之间的相似度,k为当前跳的用户u和源用户u0之间的跳数。对于每个节点用户u来说,为了预测目标服务i的一个预测QoS值值时,都有一定的概率在随机游走k跳到达节点用户u停止游走,并随机选择一个该用户调用过的Web服务,即终止概率φu,i,k。这个终止概率φu,i,k与目标服务i和用户u调用过的服务的相似性有关。由于相似度的值时区间[0,1]内的实数,故可以把相似度作为终止概率φu,i,k。本实施例中,把用户u所调用的所有服务与目标服务i的相似度的最大值作为在节点用户u处的终止概率。而且,距离源用户u0远的用户调用目标服务观察到的QoS数据可能是噪声数据,而距离近的邻居的QoS数据对预测来说更有意义。故随着在网络中游走的深度增加,继续随机游走的概率要减小,而终止概率φu,i,k应该增大。为了在终止概率φu,i,k的计算中引入游走的跳数k这个因子,则需要用到一个以k为自变量的函数f(k),这个函数f(k)要能够使得当k的值很大时其值为1,当k的值很小时其值也很小。由于sigmoid函数符合本发明对f(k)函数的约束,因此本实施例式(9)中把以k为自变量的sigmoid函数作为φu,i,k的另一个因子。
本实施例中,步骤6.4)中具体是指根据式(10)确定下一跳的用户选择概率;
P ( X u 0 , i , k + 1 = v | X u 0 , i , k = u , R ~ u , i ) = ( 1 - &phi; u , i , k ) &times; t u , v &Sigma; w &Element; NU u t u , w - - - ( 10 )
式(10)中,为从用户u的邻域NUu中选择一个用户v的用户选择概率,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k跳找到用户v的随机变量,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k-1跳找到用户u的随机变量,表示在第k-1步时所在节点用户u对目标服务i没有QoS记录的前提条件;NUu为和源用户u0距离k跳的用户u的邻域,v为从用户u的邻域NUu中选择的作为下一跳的用户,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,tu,v为用户关系网络G中用户u和下一跳的用户v之间的边的权重,tu,w为用户关系网络G中用户u、用户u的邻域NUu中用户w之间的边的权重。
本实施例步骤6.4)中当前跳的用户u在目标服务i上无QoS值时,则需要以指定的终止概率φu,i,k判断本次随机游走是否需要终止时,则会有两个选择:(1)以概率φu,i,k停止游走。从当前跳的用户u调用过的服务集合RSu中以指定的服务选择概率选择一个和目标服务i相似的服务j,将当前跳的用户u在目标服务j上的QoS值作为本次随机游走的QoS值ru,j返回。(2)以概率1-φu,i,k继续随机游走,继续随机游走至另一个用户v,即当前用户u的邻居(v∈NUu),并继续游走至该用户v处。本实施例中,把Su定义为从NUu中选择一个用户v的随机变量如式(10-1)所示;
P ( S u = v ) = t u , v &Sigma; w &Element; NU u t u , w - - - ( 10 - 1 )
式(10-1)中,P(Su=v)为把Su定义为从NUu中选择一个用户v的随机变量,tu,v为用户关系网络G中用户u和下一跳的用户v之间的边的权重,tu,w为用户关系网络G中用户u、用户u的邻域NUu中用户w之间的边的权重,NUu为和源用户u0距离k跳的用户u的邻域,v为从用户u的邻域NUu中选择的作为下一跳的用户。根据式(10-1)则有式(10-2)。
P ( X u 0 , i , k + 1 = v | X u 0 , i , k = u , R ~ u , i ) = ( 1 - &phi; u , i , k ) &times; P ( S u = v ) - - - ( 10 - 2 )
式(10-2)中,为从用户u的邻域NUu中选择一个用户v的用户选择概率,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k跳找到用户v的随机变量,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k-1跳找到用户u的随机变量,表示在第k-1步时所在节点用户u对目标服务i没有QoS记录的前提条件;NUu为和源用户u0距离k跳的用户u的邻域,v为从用户u的邻域NUu中选择的作为下一跳的用户,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,P(Su=v)为从节点用户u的邻域NUu中选择一个用户v的随机变量。结合式(10-1)、式(10-2)即可推导得到式(10)。从用户u游走至用户v的用户选择概率并不依赖于以前的游走步数,但由于终止概率φu,i,k依赖于游走的跳数,故随机游走的每一步都不是独立的。
本实施例中如果决定于用户u处停止游走,则从用户u评价过且与目标服务i相似的服务集合中随机选择一个服务j,本实施例的想法是定义一个服务之间的相似度测量方法,对于任意一个Web服务j(j∈RSu),本实施例根据服务j与服务i之间的相似度(服务相似度的测量会在后面详细讨论)来给它分配选择概率所占比例。具体地而言,本实施例步骤6.5)中以指定的服务选择概率选择一个和目标服务i相似的服务j时,服务选择概率的计算表达式如式(11)所示;
P ( Y u , i = j ) = s i m ( i , j ) &Sigma; l &Element; RS u s i m ( i , l ) - - - ( 11 )
式(11)中,P(Yu,i=j)为以指定的服务选择概率选择一个和目标服务i相似的服务j时的服务选择概率,sim(i,j)为目标服务i和服务j之间的相似度,sim(i,l)为目标服务i和当前跳的用户u调用过的服务集合RSu中服务l之间的相似度。
为了定义随机游走模型的整体概率分布,可将在ru,i存在或用户u没有评价过服务的条件下的概率定义如式(11-1)所示;
&ForAll; v &NotEqual; u P ( X u 0 , i , k + 1 = v | X u 0 , i , k = u , R u , i ) = 0 &ForAll; j . j &Element; RS u P ( Y u , i = j ) = 0 - - - ( 11 - 1 )
式(11-1)中,为从用户u的邻域NUu中选择一个用户v的用户选择概率,RSu为用户u调用过的服务集合,P(Yu,i=j)为以指定的服务选择概率选择一个和目标服务i相似的服务j时的服务选择概率。
本实施例中,随机游走时会有一定的概率从不同用户调用的Web服务中选择服务,并返回服务的QoS值作为一次随机游走的结果。这些被选择的服务可能是已确定的目标服务,或是其他服务,因此源用户u对目标服务i的QoS预测值是综合多次随机游走返回的结果得到的。本实施例中,步骤7)中具体可以根据需要采用式(12)~式(14)中的任意一个函数表达式计算源用户u0相对目标服务i的QoS预测值;
r ^ u , i = &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) r v , j &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 12 )
r ^ u , i = u &OverBar; + &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) ( r v , j - v &OverBar; ) &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 13 )
r ^ u , i = i &OverBar; + &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) ( r v , j - j &OverBar; ) &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 14 )
式(12)~式(14)中,为源用户u相对目标服务i的QoS预测值;rv,j为用户v在Web服务j上观察到的QoS值,Rv,j为用户v是否调用过服务j的布尔变量,为源用户u的QoS平均值,为用户v的QoS平均值,为目标服务i的QoS平均值,为服务j的QoS平均值;P(XYu,i=(v,j))为从用户u开始随机游走后,在用户v停止并从v调用过的服务集合中选择目标服务i的相似服务j的随机概率,P(XYu,i=(v,j))的函数表达式如式(15)所示;
P ( XY u , i = ( v , j ) ) = P ( X u , i = v ) &phi; u , i P ( Y v , i = j ) v &NotEqual; u ; i &NotEqual; j P ( X u , i = v ) v &NotEqual; u ; i = j &phi; v , i , 1 P ( Y v , i = j ) v = u ; i &NotEqual; j - - - ( 15 )
式(15)中,XYu,i是从用户u开始随机游走后,在用户v停止并从v调用过的服务集合中选择服务j的随机变量;Xu,i是从用户u开始查找有关目标服务i的随机游走到达用户v的随机变量;P(Xu,i=v)为从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率;φu,i为不考虑跳数k的情形下针对目标服务i的游走随机过程中到达用户u时的终止概率,φu,i的函数表达式如式(9)所示,且其中跳数k的取值为无穷大;P(Yv,i=j)为从用户v调用过的服务集合中选择一个和目标服务i相似的服务j时的服务选择概率,服务选择概率的计算表达式如式(11)所示;φv,i,1为从用户u开始游走第一步到达用户v时就终止的概率;其中从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率P(Xu,i=v)的函数表达式如式(16)所示;
P ( X u , i = v ) = &Sigma; k = 1 &infin; P ( X u , i , k = v ) &Sigma; w &Element; U &Sigma; k = 1 &infin; P ( X u , i , k = w ) - - - ( 16 )
式(16)中,P(Xu,i=v)为从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率,P(Xu,i,k=v)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户v的随机概率,P(Xu,i,k=w)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户关系网络G的用户集合U中的用户w的随机概率,Xu,i,k为从用户u开始在k步游走到节点用户v的随机变量。
需要注意的是,本实施例在上述式(13)中用φu,i代替单次随机游走中的φu,i,k,这是因为本实施例中并不需要统计经过多少跳才能找到用户v,故不考虑因子k(φu,i=φu,i,∞)。但是,在实际执行随机游走时,需要考虑游走步数k。为了形成一个通用的公式,本实施例在最后的用户v节点处忽略跳数k,即将跳数k的取值为无穷大,这可以使得到概率P(XYu,i=(v,j))的一个很好的估计值。同样,应该要注意到v=u且i=j这种情况是无意义的,这是因为这种情况下源用户本身已经调用过目标服务i(有目标服务的QoS信息)。
本实施例中,从用户u开始的随机游走中,可以通过游走不同步数找到用户v。用Xu,i,k表示从用户u开始在k步游走到节点用户v的随机变量,由于本实施例中每一跳根据用户选择概率选择一个用户v作为本次游走随机的下一跳节点,则有式(16-1)。
P ( X u , i , k = v ) = &Sigma; w &Element; U P ( X u , i , k - 1 = w ) ( 1 - &phi; w , i , k ) P ( S w = v ) - - - ( 16 - 1 )
式(16-1)中,P(Xu,i,k=v)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户v的随机概率,P(Xu,i,k-1=w)为从用户u开始查找有关目标服务i的随机游走经k-1跳到达用户关系网络G的用户集合U中的用户w的随机概率,Xu,i,k为从用户u开始在k步游走到节点用户v的随机变量,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,P(Su=v)如式(10-1)所示,具体为从节点用户u的邻域NUu中选择一个用户v的随机变量。
对于上述式(16-1)来说,有个基本条件即P(Xu,i,0=u)=1,即从用户u开始查找有关目标服务i的随机游走经0跳到达用户u的随机概率为1。由于随机游走的每一步都有终止游走的概率,故∑v∈UP(Xu,i,k=v)≠1,即从用户u开始查找有关目标服务i的随机游走经k跳到达用户关系网络G的用户集合U中的用户v的随机概率非1。为了使P(Xu,i,k=v)成为一个完整的概率分布,可定义了一个表示所有用户决定停止其随机游走的终止状态⊥。因此,可以得到下述公式(16-2);
P ( X u , i , k = &perp; ) = 1 - &Sigma; v &Element; U P ( X u , i , k = v ) - - - ( 16 - 2 )
式(16-2)中,P(Xu,i,k=⊥)即为从用户u开始查找有关目标服务i的随机游走经k跳停止其随机游走时的随机概率,∑v∈UP(Xu,i,k=v)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户关系网络G的用户集合U中的用户v的随机概率。因此,为了便于本实施例方法的形式化,把这个终止状态⊥加入到停止其随机游走U中,但是在实际的随机游走过程中不会考虑这种,从而可以采用式(16)来计算从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率P(Xu,i=v)。
本实施例基于随机游走的Web服务质量预测方法的随机游走模型具有几个可取的属性,例如模型的通用性,预测结果的置信度以及可解释性。
(1)模型的通用性。本实施例基于随机游走的Web服务质量预测方法包括基于位置感知的推荐方法、基于项目的协同过滤方法这两个极端的特例。一方面,如果对于所有用户u(u∈U)有φu,i=1,则本实施例的随机游走不会开始,并会返回源用户u0调用过的某个服务的QoS值。由于选择服务的概率与服务和目标服务的相似度成正比,预测的QoS值可能是源用户所调用过的服务的QoS值的加权求平均而得到的,这些服务的权值与它们和目标服务的相似度也成正比。因此,本实施例基于随机游走的Web服务质量预测方法得到的预测值与基于项目的协同过滤方法得到的结果是一样的。另一方面,如果对每一个属于集合U的用户u设置终止概率φu,i=0,则所有的随机游走将会持续游走,直到找到调用过目标服务i的用户才会停止。最后的预测值将会是这些用户在目标服务i上观察到的QoS值加权累加得到的,权值根据从源用户游走找到该用户的概率来确定。因此,本实施例基于随机游走的Web服务质量预测方法作为一种极端的案例,可看做是基于位置感知的推荐方法。因此,本实施例综合了基于位置感知的推荐方法、基于项目的协同过滤方法的优点,能够在覆盖率和精度之间得到显著好的平衡点。
(2)预测结果的置信度。目前大多数已有的推荐系统都不能给与用户他们对预测结果的置信度。然而,一个推荐系统的用户想要知道预测结果的置信度是多少。MohsenJamali等人的《arandomwalkmodelforcombiningtrust-basedanditem-basedrecommendation》(KDD2009:397-406)定义了一个置信度值,由计算预测值的误差函数来得到,通常把平均误差作为置信度,实验表明置信度越高,其预测结果精度就高。类似地,本实施例的随机行走模型也有计算置信度这一优势。可以利用方差来计算本实施例QoS预测值的置信度。方差越低,本实施例对结果的置信度越大。为了把方差转换为置信度,可应用下面的公式(17);
c o n f i d e n c e = 1 - &sigma; 2 max&sigma; 2 - - - ( 17 )
式(17)中,confidence为置信度,为方差,maxσ2是结果的最大合适方差,是用来标准化方差值。另外两个因子也可能会影响到置信度:任随机行走步骤数量的平均值以及进行随机行走的趟数。的引入看起来似乎有影响,但本实施例的实验表明它对预测结果的精度没造成任何影响。换句话说,较低值的预测误差没比整体误差低。至于随机行走的次数,随机行走的次数越多,得到的信息越多,置信度越高。但也象征会得到更多的噪声数据,这是由于为了找到结果,查找的覆盖范围过长。使用公式(17),如果随机行走得到的结果是一样的,则方差为0,置信度将会是100%。另一方面,如果方差的值很大,那置信度将会无限接近0%。
(3)可解释性。可解释性意味着推荐系统可以解释它是如何预测Web服务的QoS。现在越来越认识到推荐系统必须要能够解释并且证明他们的推荐结果,这是为了帮助用户了解为什么要推荐这些特定的服务。在本实施例中,为了预测的值,为所有用户v计算P(Xu,i=v)。不同随机行走得到的结果都来自不同的用户。查找频率高的用户,其概率P(Xu,i=v)也高,可以把这些作为对预测影响大的用户输出。同时,本实施例也考虑在不同随机行走结果中使用频繁的一些服务的QoS值,这些服务的概率P(XYu,i=(v,j))也高。现在可以用这些出现频繁的用户和服务来解释为什么本实施例的QoS预测值为本实施例可以为用户解释,让他们知道这个预测结果是根据这些邻居用户以及这些相似服务的QoS得到的。
为了评价所提方法的预测性能,本实施例采用了一些评价指标来进行评价,并通过这些指标来与其它协同过滤方法进行比较。这些指标包括平均绝对误差MAE、标准平均绝对误差NMAE以及一个结合标准平均误差和覆盖率的综合指标FMeasure等。
平均绝对误差MAE是预测的QoS值与实际值之间的偏差来度量预测的准确性,本实施例中具体定义如式(18)所示;
M A E = &Sigma; ( u , i ) | R u , i ( r u , i - r ^ u , i ) L - - - ( 18 )
式(18)中,Ru,i是一个布尔变量,用来表示数据集中用户u是否调用过服务i,且有QoS记录。ru,i表示QoS实际值,表示采用本实施例方法得到的QoS预测值,L则表示待预测值的个数。MAE的值越小,推荐的质量越高。
由于Web服务的不同QoS属性有着不同的值域,只用平均绝对误差MAE来评价是不够客观的,故本实施例用标准平均绝对误差NMAE度量标准用来归一化不同区间的平均绝对误差MAE,标准平均绝对误差NMAE的计算公式如式(19)所示;
N M A E = M A E &Sigma; ( u , i ) | R u , i r u , i / L - - - ( 19 )
式(19)中,MAE表示平均绝对误差,其余字符参数的含义与式(18)相同。
由于本实施例一个重要目标是为了在不降低预测精度下,更好的提高预测的覆盖率。因此,本实施例定义一个覆盖率评测标准来度量本实施例可以预测出QoS值的<user,service>对数占测试对数的百分比,则覆盖率Coverage定义如式(20)所示;
C o v e r a g e = # h i t s L - - - ( 20 )
式(20)中,#hits是可以计算推荐的<user,service>对数,L是测试数据集中包含的<user,service>对数,即待预测值的个数。
为了把标准平均绝对误差NMAE和覆盖率Coverage结合作为一个评价指标,本实施例中定义了一个综合指标FMeasure。针对这个目标,本实施例中把标准平均绝对误差NMAE转换到一个值在区间[0,1]内的精确度测量指标。因此本实施例中定义精确度如式(21)所示,则综合指标FMeasure定义如式(22)所示;
Precision=e-NMAE(21)
式(21)中,Precision表示精确度,NMAE表示标准平均绝对误差。
F M e a s u r e = 2 * C o v e r a g e * Pr e c i s i o n C o v e r a g e + Pr e c i s i o n - - - ( 22 )
式(22)中,Coverage表示覆盖率,Precision表示精确度。综合指标FMeasure的值越大,表示预测性能越好。如果任何一次随机游走都不能找到某源用户在一个目标服务上的QoS预测值,则本实施例可以认为推荐系统没有覆盖到该点<user,service>处。
本实施例中,实验使用的数据集包含分布在世界不同地方的339个用户调用5,825个Web服务所产生的详细调用信息,因此本实施例使用一个339*5825大小的用户-服务矩阵来存储。在实验中,这个矩阵被分为两个部分,一部分作为训练矩阵,剩下的则作为测试矩阵。同时,为了贴近真实场景,本实施例随机在原始的用户-服务矩阵中删除一部分QoS记录来稀疏化矩阵。稀疏矩阵的密度指定为10%,20%,30%,40%和50%。例如,矩阵的密度等于10%时,意味着本实施例把矩阵的90%的项目随机移除。然后本实施例随机选择30个用户作为测试用户,其它的用户作为训练用户。测试用户被移除的QoS项目用来作为测试值与预测值进行比较。图3和图4所展示的预测性能表是训练矩阵密度在1%和5%两种情况下的不同方法的预测性能数据,其中:WSWalker-p,WSWalker-u和WSWalker-s为采用本实施例方法的三个具体实现版本,UPCC、IPCC、WSRec、LACF四种预测方法均为现有技术。结合图3和图4可知,不论训练矩阵的密度是1%还是5%,本实施例方法的三个具体实现版本WSWalker-p,WSWalker-u和WSWalker-s预测的覆盖率都是1,这表明本实施例方法对于任一<user,service>点都能成功计算出一个QoS预测值。然而,在由于训练矩阵的稀疏性而导致源用户找不到相似用户的情况下,协同过滤方法无法工作。当训练矩阵的密度从1%增加到5%时,所有方法的预测精度明显提高,现有技术的WSRec的覆盖率也明显提高了。随着矩阵密度的增加,本实施例方法与现有技术WSRec之间的性能差异变得越来越小,这表明协同过滤方法对数据的密度很敏感。尽管如此,由于用户-服务矩阵在现实情景中是极其稀疏的,因此本实施例方法相较于其他三种方法更适合于真正的服务推荐系统。而且,也可以观察到本实施例方法的三个具体实现版本WSWalker-p,WSWalker-u和WSWalker-s中,WSWalker-s看起来性能是最好的,这意味着不同Web服务之间的QoS差异会很大,考虑用目标服务的平均QoS值来替代源用户所感知的QoS会使得QoS的预测更加准确。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于随机游走的Web服务质量预测方法,其特征在于步骤包括:
1)根据Web服务QoS数据集中用户的位置信息计算用户和用户之间的物理距离;
2)为每个用户选择物理距离最近的K个近邻用户作为该用户的邻域;
3)为每个用户连接各自邻域的用户构建用户关系网络G;
4)针对用户关系网络G,计算用户和用户之间的相似度、服务和服务之间的相似度;
5)根据所述用户和用户之间的物理距离、用户和用户之间的相似度计算用户关系网络G中每一条边的权重;
6)针对源用户u0所请求的目标服务i,从源用户u0开始分别进行多次查找关于目标服务i的随机游走,每一次随机游走中的每一跳基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据所述用户选择概率从当前跳的用户u的邻域NUu中随机选择一个用户v作为本次随机游走的下一跳节点,最终在找到调用过目标服务i或相似服务的用户后结束本次游走并返回一个QoS值;
7)综合所有随机游走返回的QoS值计算源用户u0相对目标服务i的QoS预测值。
2.根据权利要求1所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤1)中具体是指根据式(1)计算用户和用户之间的物理距离;
式(1)中,du,v为用户u和用户v之间的物理距离,为用户u的纬度、λu为用户u的经度,为用户v的纬度、λv为用户v的经度。
3.根据权利要求2所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤4)具体是指根据式(2)计算用户和用户之间的相似度、根据式(4)计算服务和服务之间的相似度;;
s i m ( u , v ) = 1 1 + e - | IC u , v | 2 c o r r ( u , v ) - - - ( 2 )
式(2)中,sim(u,v)为用户u和用户v之间的相似度,ICu,v是指用户u和用户v共同调用过的Web服务集合,corr(u,v)为用户u和用户v之间的皮尔森相关系数,皮尔森相关系数corr(u,v)的计算公式如式(3)所示;
c o r r ( u , v ) = &Sigma; i &Element; IC u , v ( r u , i - r u &OverBar; ) ( r v , i - r v &OverBar; ) &Sigma; i &Element; IC u , v ( r u , i - r u &OverBar; ) 2 &Sigma; i &Element; IC u , v ( r v , i - r v &OverBar; ) 2 - - - ( 3 )
式(3)中,ICu,v为用户u和用户v共同调用过的Web服务集合,ru,i为用户u在Web服务i上观察到的QoS值,为用户u的QoS向量的平均值,为用户v的QoS向量的平均值;
s i m ( i , j ) = 1 1 + e - | UC i , j | 2 c o r r ( i , j ) - - - ( 4 )
式(4)中,sim(i,j)为服务i和服务j之间的相似度,UCi,j是指共同调用过Web服务i和j的用户集,corr(i,j)为服务i和j之间的皮尔森相关系数,皮尔森相关系数corr(i,j)的计算公式如式(5)所示,且服务i和j之间的皮尔森相关系数corr(i,j)仅仅取正相关;
c o r r ( i , j ) = &Sigma; u &Element; UC i , j ( r u , i - r i &OverBar; ) ( r u , j - r j &OverBar; ) &Sigma; u &Element; UC i , j ( r u , i - r i &OverBar; ) 2 &Sigma; u &Element; UC i , j ( r u , j - r j &OverBar; ) 2 - - - ( 5 )
式(5)中,UCi,j为共同调用过Web服务i和j的用户集,ru,i为用户u在Web服务i上观察到的QoS值,为服务i的QoS向量的平均值,为服务j的QoS向量的平均值。
4.根据权利要求3所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤5)中具体是指根据式(6)计算用户关系网络G中每一条边的权重;
t u , v = ( 1 1 + d u , v ) &lambda; * ( ( 1 + s i m ( u , v ) ) 2 ) 1 - &lambda; - - - ( 6 )
式(6)中,tu,v为用户关系网络G中用户u和用户v之间的边的权重,du,v为用户u和用户v之间的物理距离,sim(u,v)为用户u和用户v之间的相似度,λ为[0,1]区间内的可调参数。
5.根据权利要求1~4中任意一项所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤6)中每一次随机游走的详细步骤包括:
6.1)从源用户u0开始进行查找有关目标服务i的随机游走,当本次游走随机过程中的某一跳到达某个用户u时跳转执行步骤6.2);
6.2)判断当前跳的用户u在目标服务i上是否有QoS值,如果有QoS值则将该QoS值ru,i作为本次随机游走的QoS值返回,本次随机游走结束;否则,跳转执行下一步;
6.3)判断源用户u0开始进行随机游走的跳数是否等于预设的最大游走深度max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6.4),否则跳转执行步骤6.5);
6.4)以指定的终止概率φu,i,k判断本次随机游走是否需要终止,如果不需要终止,则基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据所述用户选择概率从当前跳的用户u的邻域NUu中选择一个用户v作为本次游走随机的下一跳节点,跳转执行步骤6.2);如果需要终止,则跳转执行步骤6.5);
6.5)从当前跳的用户u调用过的服务集合RSu中以指定的服务选择概率选择一个和目标服务i相似的服务j,将当前跳的用户u在目标服务j上的QoS值作为本次随机游走的QoS值ru,j返回,本次随机游走结束。
6.根据权利要求5所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤6.3)的详细步骤包括:
6.3.1)判断是否满足式(7)所示的全局游走终止条件,如果满足全局游走终止条件,则跳转执行步骤6.5);否则跳转执行步骤6.3.2);
| &sigma; i + 1 2 - &sigma; i 2 | < &epsiv; - - - ( 7 )
式(7)中,表示前i次随机游走结果的方差,表示前i+1次随机游走结果的方差,ε为预设的收敛常数,其中前i次随机游走结果的方差的计算表达式如式(8)所示;
&sigma; i 2 = &Sigma; i = 1 T ( r i - r &OverBar; ) 2 T - - - ( 8 )
式(8)中,为前i次随机游走结果的方差,T为已返回QoS值的随机游走总次数,为T趟随机游走返回的QoS平均值,ri为第i次随机游走返回的QoS值;
6.3.2)判断源用户u0开始进行随机游走的跳数是否等于预设的最大游走深度max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6.4),否则跳转执行步骤6.5)。
7.根据权利要求6所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤6.4)中以指定的终止概率判断本次随机游走是否需要终止时,所述终止概率φu,i,k的计算表达式如式(9)所示;
&phi; u , i , k = m a x j &Element; RS u s i m ( i , j ) &times; 1 1 + e - k 2 - - - ( 9 )
式(9)中,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,RSu为当前跳的用户u调用过的服务集合,sim(i,j)为目标服务i和当前跳的用户u调用过的服务集合RSu中的服务j之间的相似度,k为当前跳的用户u和源用户u0之间的跳数。
8.根据权利要求7所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤6.4)中具体是指根据式(10)确定下一跳的用户选择概率;
P ( X u 0 , i , k + 1 = v | X u 0 , i , k = u , R ~ u , i ) = ( 1 - &phi; u , i , k ) &times; t u , v &Sigma; w &Element; NU u t u , w - - - ( 10 )
式(10)中,为从用户u的邻域NUu中选择一个用户v的用户选择概率,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k跳找到用户v的随机变量,为在寻找源用户u0对目标服务i的一个QoS预测值时随机游走在第k-1跳找到用户u的随机变量,表示在第k-1步时所在节点用户u对目标服务i没有QoS记录的前提条件;NUu为和源用户u0距离k跳的用户u的邻域,v为从用户u的邻域NUu中选择的作为下一跳的用户,φu,i,k为针对目标服务i的游走随机过程中经过第k跳到达用户u时的终止概率,tu,v为用户关系网络G中用户u和下一跳的用户v之间的边的权重,tu,w为用户关系网络G中用户u、用户u的邻域NUu中用户w之间的边的权重。
9.根据权利要求8所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤6.5)中以指定的服务选择概率选择一个和目标服务i相似的服务j时,所述服务选择概率的计算表达式如式(11)所示;
P ( Y u , i = j ) = s i m ( i , j ) &Sigma; l &Element; RS u s i m ( i , l ) - - - ( 11 )
式(11)中,P(Yu,i=j)为以指定的服务选择概率选择一个和目标服务i相似的服务j时的服务选择概率,sim(i,j)为目标服务i和服务j之间的相似度,sim(i,l)为目标服务i和当前跳的用户u调用过的服务集合RSu中服务l之间的相似度。
10.根据权利要求9所述的基于随机游走的Web服务质量预测方法,其特征在于,所述步骤7)中具体是指根据式(12)~式(14)中的任意一个函数表达式计算源用户u0相对目标服务i的QoS预测值;
r ^ u , i = &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) r v , j &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 12 )
r ^ u , i = u &OverBar; + &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) ( r v , j - v &OverBar; ) &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 13 )
r ^ u , i = i &OverBar; + &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) ( r v , j - j &OverBar; ) &Sigma; { ( v , j ) | R v , j } P ( XY u , i = ( v , j ) ) - - - ( 14 )
式(12)~式(14)中,为源用户u相对目标服务i的QoS预测值;rv,j为用户v在Web服务j上观察到的QoS值,Rv,j为用户v是否调用过服务j的布尔变量,为源用户u的QoS平均值,为用户v的QoS平均值,为目标服务i的QoS平均值,为服务j的QoS平均值;P(XYu,i=(v,j))为从用户u开始随机游走后,在用户v停止并从v调用过的服务集合中选择目标服务i的相似服务j的随机概率,P(XYu,i=(v,j))的函数表达式如式(15)所示;
P ( XY u , i = ( v , j ) ) = P ( X u , i = v ) &phi; u , i P ( Y v , i = j ) v &NotEqual; u ; i &NotEqual; j P ( X u , i = v ) v &NotEqual; u ; i = j &phi; v , i , 1 P ( Y v , i = j ) v = u ; i &NotEqual; j - - - ( 15 )
式(15)中,XYu,i是从用户u开始随机游走后,在用户v停止并从v调用过的服务集合中选择服务j的随机变量;Xu,i是从用户u开始查找有关目标服务i的随机游走到达用户v的随机变量;P(Xu,i=v)为从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率;φu,i为不考虑跳数k的情形下针对目标服务i的游走随机过程中到达用户u时的终止概率,φu,i的函数表达式如式(9)所示,且其中跳数k的取值为无穷大;P(Yv,i=j)为从用户v调用过的服务集合中选择一个和目标服务i相似的服务j时的服务选择概率,服务选择概率的计算表达式如式(11)所示;φv,i,1为从用户u开始游走第一步到达用户v时就终止的概率;其中从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率P(Xu,i=v)的函数表达式如式(16)所示;
P ( X u , i = v ) = &Sigma; k = 1 &infin; P ( X u , i , k = v ) &Sigma; w &Element; U &Sigma; k = 1 &infin; P ( X u , i , k = w ) - - - ( 16 )
式(16)中,P(Xu,i=v)为从用户u开始查找有关目标服务i的随机游走到达用户v的随机概率,P(Xu,i,k=v)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户v的随机概率,P(Xu,i,k=w)为从用户u开始查找有关目标服务i的随机游走经k跳到达用户关系网络G的用户集合U中的用户w的随机概率,Xu,i,k为从用户u开始在k步游走到节点用户v的随机变量。
CN201510531036.7A 2015-08-26 2015-08-26 一种基于随机游走的Web服务质量预测方法 Pending CN105117325A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510531036.7A CN105117325A (zh) 2015-08-26 2015-08-26 一种基于随机游走的Web服务质量预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510531036.7A CN105117325A (zh) 2015-08-26 2015-08-26 一种基于随机游走的Web服务质量预测方法

Publications (1)

Publication Number Publication Date
CN105117325A true CN105117325A (zh) 2015-12-02

Family

ID=54665323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510531036.7A Pending CN105117325A (zh) 2015-08-26 2015-08-26 一种基于随机游走的Web服务质量预测方法

Country Status (1)

Country Link
CN (1) CN105117325A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055665A (zh) * 2016-06-02 2016-10-26 兰州大学 基于异常值剔除的情境感知Web服务推荐方法和系统
CN107590243A (zh) * 2017-09-14 2018-01-16 中国人民解放军信息工程大学 基于随机游走和多样性图排序的个性化服务推荐方法
CN110110222A (zh) * 2019-04-12 2019-08-09 保定市大为计算机软件开发有限公司 一种目标对象确定方法、装置及计算机存储介质
US20210286641A1 (en) * 2020-03-13 2021-09-16 Fujitsu Limited Management device, information processing system, and non-transitory computer-readable storage medium for storing management program
CN116132347A (zh) * 2023-04-06 2023-05-16 湖南工商大学 算网融合环境下基于Bi-LSTM的服务QoS预测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999634A (zh) * 2012-12-18 2013-03-27 百度在线网络技术(北京)有限公司 基于浏览器数据的用户导航推荐方法、系统及云端服务器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999634A (zh) * 2012-12-18 2013-03-27 百度在线网络技术(北京)有限公司 基于浏览器数据的用户导航推荐方法、系统及云端服务器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TANG M等: "A Random Walk Method for QoS-Aware Web Service Recommendation", 《2015 IEEE INTERNATIONAL CONFERENCE ON WEB SERVICES (ICWS)》 *
唐明董等: "用户位置感知的Web服务QoS预测方法", 《小型微型计算机系统》 *
林祥云: "Web服务QoS与用户位置的相关性实证研究", 《计算机工程与科学》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055665A (zh) * 2016-06-02 2016-10-26 兰州大学 基于异常值剔除的情境感知Web服务推荐方法和系统
CN106055665B (zh) * 2016-06-02 2020-03-17 兰州大学 基于异常值剔除的情境感知Web服务推荐方法和系统
CN107590243A (zh) * 2017-09-14 2018-01-16 中国人民解放军信息工程大学 基于随机游走和多样性图排序的个性化服务推荐方法
CN107590243B (zh) * 2017-09-14 2019-09-06 中国人民解放军信息工程大学 基于随机游走和多样性图排序的个性化服务推荐方法
CN110110222A (zh) * 2019-04-12 2019-08-09 保定市大为计算机软件开发有限公司 一种目标对象确定方法、装置及计算机存储介质
CN110110222B (zh) * 2019-04-12 2021-03-16 保定市大为计算机软件开发有限公司 一种目标对象确定方法、装置及计算机存储介质
US20210286641A1 (en) * 2020-03-13 2021-09-16 Fujitsu Limited Management device, information processing system, and non-transitory computer-readable storage medium for storing management program
US11593146B2 (en) * 2020-03-13 2023-02-28 Fujitsu Limited Management device, information processing system, and non-transitory computer-readable storage medium for storing management program
CN116132347A (zh) * 2023-04-06 2023-05-16 湖南工商大学 算网融合环境下基于Bi-LSTM的服务QoS预测方法

Similar Documents

Publication Publication Date Title
CN108875007B (zh) 兴趣点的确定方法和装置、存储介质、电子装置
CN105117325A (zh) 一种基于随机游走的Web服务质量预测方法
Brilhante et al. On planning sightseeing tours with TripBuilder
KR101810169B1 (ko) 유동인구 패턴정보 기반의 미래입점객수 예측방법 및 장치
JP5248915B2 (ja) Gps追跡及び周知な近傍目的地からのユーザの行動趣向の学習
CN107590243A (zh) 基于随机游走和多样性图排序的个性化服务推荐方法
US20110282798A1 (en) Making Friend and Location Recommendations Based on Location Similarities
CN103473291A (zh) 一种基于隐语义概率模型的个性化服务推荐系统及方法
CN105430099A (zh) 一种基于位置聚类的协同式Web服务性能预测方法
JP6052806B2 (ja) 携帯端末を所持したユーザの滞在目的を推定する装置、プログラム及び方法
Lim et al. Online estimating the k central nodes of a network
CN104903753B (zh) 自动匹配群体新成员与类似成员的系统及程序产品
CN111461812A (zh) 对象推荐方法、装置、电子设备及可读存储介质
CN107786449A (zh) 基于fsr协议的路径选择方法、装置、服务器和存储介质
CN109492076A (zh) 一种基于网络的社区问答网站答案可信评估方法
Sarwat et al. Plutus: leveraging location-based social networks to recommend potential customers to venues
CN115270007B (zh) 一种基于混合图神经网络的poi推荐方法及系统
Codina et al. Context-aware user modeling strategies for journey plan recommendation
CN114510653B (zh) 社交群体推荐方法、系统、设备及存储介质
Yu et al. Link prediction in directed network and its application in microblog
CN106202113B (zh) 应用于组队运动的信息提供方法和装置
CN111008334B (zh) 基于局部成对排序和全局决策融合的Top-K推荐方法和系统
Hsieh et al. Estimating potential customers anywhere and anytime based on location-based social networks
CN112016836A (zh) 一种对象间相似性的确定方法及装置
CN109300057B (zh) 基于社交用户隐特征表示的网络群体形成机制发现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151202

WD01 Invention patent application deemed withdrawn after publication