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

文档序号:9396791阅读:来源:国知局
中服务1之间的相似度。
[0052] 优选地,所述步骤7)中具体是指根据式(12)~式(14)中的任意一个函数表达式 计算源用户u。相对目标服务i的QoS预测值;
[0056] 式(12)~式(14)中,'为源用户u相对目标服务i的QoS预测值;rVi ]为用户V 在Web服务j上观察到的QoS值,Rvi,为用户V是否调用过服务j的布尔变量,&为源用户 u的QoS平均值,W为用户V的QoS平均值,Γ为目标服务i的QoS平均值,J为服务j的 QoS平均值;P (X\ 1= (v,j))为从用户u开始随机游走后,在用户V停止并从V调用过的 服务集合中选择目标服务i的相似服务j的随机概率,P(XYUil= (v,j))的函数表达式如式 (15)所示;
[0058] 式(15)中,XYU,^从用户u开始随机游走后,在用户V停止并从V调用过的服务 集合中选择服务j的随机变量;Xui i是从用户u开始查找有关目标服务i的随机游走到达用 户V的随机变量;P(XUil= V)为从用户u开始查找有关目标服务i的随机游走到达用户V 的随机概率;Cjvi为不考虑跳数k的情形下针对目标服务i的游走随机过程中到达用户u 时的终止概率,的函数表达式如式(9)所示,且其中跳数k的取值为无穷大;P(YVil = j)为从用户V调用过的服务集合中选择一个和目标服务i相似的服务j时的服务选择概 率,服务选择概率的计算表达式如式(11)所示;Φνι1ι1*从用户u开始游走第一步到达用 户V时就终止的概率;其中从用户U开始查找有关目标服务i的随机游走到达用户V的随 机概率P (Xu i= V)的函数表达式如式(16)所示;
[0060] 式(16)中,P(Xuil= V)为从用户u开始查找有关目标服务i的随机游走到达用户 V的随机概率,P (Xuilik= V)为从用户u开始查找有关目标服务i的随机游走经k跳到达用 户V的随机概率,P(X^k=W)为从用户u开始查找有关目标服务i的随机游走经k跳到 达用户关系网络G的用户集合U中的用户w的随机概率,从用户u开始在k步游走 到节点用户V的随机变量。
[0061] 本发明基于随机游走的Web服务质量预测方法具有下述优点:本发明结合了基于 位置感知的方法和基于协同过滤的原理,先利用用户位置和用户相似度来构建用户关系网 络G,通过在该用户关系网络G中游走来获得与目标服务有关的QoS信息。而且考虑到在网 络中走得离源用户太远时用户与源用户之间的关系会变得很弱,他们的QoS数据对预测来 说可能会变得更加不可靠,本发明还在每一步游走不仅考虑了目标服务的QoS信息,还考 虑到了与目标服务相似的那些服务的Q〇S,随着游走步数的增加,采用相似服务的QoS信息 的概率加大,从确保Q0S预测的成功率;并且本发明的随机游走方法还允许本发明计算预 测结果的置信度,置信度越高的推荐具有越高的质量。因此,本发明能在覆盖率和预测精度 间得到显著好的平衡,具有预测成功率高、通用性好、可计算置信度和可解释性好的优点。
【附图说明】
[0062] 图1为本发明实施例方法的基本流程示意图。
[0063] 图2为本发明实施例方法中单次随机游走的基本流程示意图。
[0064] 图3为本发明实施例方法在训练矩阵密度在1 %情况下的预测性能表。
[0065] 图4为本发明实施例方法在训练矩阵密度在5 %情况下的预测性能表。
【具体实施方式】
[0066] 如图1所示,本实施例基于随机游走的Web服务质量预测方法的步骤包括:
[0067] 1)根据Web服务QoS数据集中用户的位置信息计算用户和用户之间的物理距离;
[0068] 2)为每个用户选择物理距离最近的K个近邻用户作为该用户的邻域;
[0069] 3)为每个用户连接各自邻域的用户构建用户关系网络G ;
[0070] 4)针对用户关系网络G,计算用户和用户之间的相似度、服务和服务之间的相似 度;
[0071] 5)根据用户和用户之间的物理距离、用户和用户之间的相似度计算用户关系网络 G中每一条边的权重;
[0072] 6)针对源用户u。所请求的目标服务i,从源用户u。开始分别进行多次查找关于目 标服务i的随机游走,每一次随机游走中的每一跳基于用户关系网络G中每一条边的权重 确定下一跳的用户选择概率,并根据用户选择概率从当前跳的用户u的邻域NUu中随机选 择一个用户V作为本次随机游走的下一跳节点,最终在找到调用过目标服务i或相似服务 的用户后结束本次游走并返回一个QoS值;
[0073] 7)综合所有随机游走返回的QoS值计算源用户u。相对目标服务i的QoS预测值。
[0074] 本实施例中,步骤1)中具体是指根据式(1)计算用户和用户之间的物理距离;
[0076] 式(1)中,du,v为用户u和用户V之间的物理距离,ft为用户u的炜度、A u为用户 U的经度,穴为用户V的炜度、λ ν为用户ν的经度。
[0077] 本实施例中,步骤2)中为每个用户选择物理距离最近的K个近邻用户时,具体是 采用Top-K算法为每个用户选择物理距离最近的K个近邻用户作为该用户的邻域。例如对 于任一用户u而言,选择各自最近的Top-K个近邻用户,其邻域表示为NUU。本实施例中, Top-K具体取值为5101520。
[0078] 本实施例中,步骤3)中为每个用户连接各自邻域的用户构建用户关系网络G,对 于任一用户u而言,其用户关系网络G为G = <U,TU>,TU = {(u,V) Iu e U,V e NUJ。
[0079] 本实施例中,步骤4)具体是指根据式(2)计算用户和用户之间的相似度、根据式 (4)计算服务和服务之间的相似度;
[0081] 式(2)中,sim(u, V)为用户u和用户V之间的相似度,ICu,v是指用户u和用户V共 同调用过的Web服务集合,corr(u, V)为用户u和用户V之间的皮尔森相关系数(Pearson Correlation Coefficient,PCC),皮尔森相关系数corr(u,v)的计算公式如式(3)所示;
[0083] 式(3)中,ICu,v为用户u和用户V共同调用过的Web服务集合,r Uil为用户u在 Web服务i上观察到的QoS值,ξ为用户u的QoS向量的平均值,ξ为用户V的QoS向量的 平均值;
[0085] 式⑷中,sim(i,j)为服务i和服务j之间的相似度,UCm是指共同调用过Web月艮 务i和j的用户集,corr (i, j)为服务i和j之间的皮尔森相关系数(Pearson Correlation Coefficient,PCC),皮尔森相关系数corr(i, j)的计算公式如式(5)所示,且服务i和j之 间的皮尔森相关系数corr (i,j)仅仅取正相关;
[0086] CN 105117325 A 说明书 8/16 页
[0087] 式(5)中,UCli j为共同调用过Web服务i和j的用户集,rUil为用户u在Web服务 i上观察到的QoS值,可为服务i的QoS向量的平均值,巧为服务j的QoS向量的平均值。皮 尔森相关系数的值在区间[-1,1]之间,对于服务i和j之间的皮尔森相关系数c〇rr(i,j) 而言,负数意味着两个服务得到QoS评价是相对立的,这样的服务对本实施例而言是无用 的。因此,本实施例只需要考虑那些正相关的服务(值为[0, 1]之间),这一点与用户相似 度的处理有所不同。
[0088] 对于用户关系网络G而言,假设(u,V)在网络中是一条边,用tu,v表示(u,V)这条 边的权重,可以看作用户u和用户V之间的信任值。tu,v的计算基于两个直觉:用户V离u 越近,则V所提供的QoS信息越可靠,进而tUiV的值越好;用户V与u越相似,则V所提供的 QoS信息越可靠,进而tu,v的值越好。为了符合上述直觉,本实施例中,步骤5)中具体是指 根据式(6)计算用户关系网络G中每一条边的权重;
[0090] 式(6)中,tu,vS用户关系网络G中用户u和用户V之间的边的权重,d u,v为用户 u和用户V之间的物理距离,sim(u,V)为用户u和用户V之间的相似度,λ为[0, 1]区间 内的可调参数。本实施例中,可调参数λ具体取值为0.5。
[0091] 如图2所示,本实施例步骤6)中每一次随机游走的详细步骤包括:
[0092] 6. 1)从源用户u。开始进行查找有关目标服务i的随机游走,当本次游走随机过程 中的某一跳到达某个用户u时跳转执行步骤6. 2);
[0093] 6. 2)判断当前跳的用户u在目标服务i上是否有QoS值,如果有QoS值则将该QoS 值rUil作为本次随机游走的QoS值返回,本次随机游走结束;否则,跳转执行下一步;
[0094] 6. 3)判断源用户u。开始进行随机游走的跳数是否等于预设的最大游走深度 max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6. 4),否则跳转 执行步骤6. 5);
[0095] 6.4)以指定的终止概率Civlik判断本次随机游走是否需要终止,如果不需要终 止,则基于用户关系网络G中每一条边的权重确定下一跳的用户选择概率,并根据用户选 择概率从当前跳的用户u的邻域NUu中选择一个用户V作为本次游走随机的下一跳节点, 跳转执行步骤6.2);如果需要终止,则跳转执行步骤6.5);
[0096] 6. 5)从当前跳的用户u调用过的服务集合RSu中以指定的服务选择概率选择一个 和目标服务i相似的服务j,将当前跳的用户u在目标服务j上的QoS值作为本次随机游走 的QoS值rUi j返回,本次随机游走结束。
[0097] 结合前述步骤6. 1)~6. 5)可知,本实施例中每次随机游走在三种情况下会终 止:(1)如果找到调用过目标服务i的一个用户,则返回该用户所观察到的QoS值;(2)有 一定的概率(终止概率)停在一些用户节点u处,随机的从用户u所调用的服务中选择一 个和目标服务相似的服务,并返回用户U在该服务上观察到的QoS值作为随机游走的结 果;(3)单次随机游走可能会出现一直游走不中断的情况。为了避免出现这样的状况,本实 施例在步骤6. 3)中限制了随机游走的游走最大游走深度,当游走步数超过最大游走深度 (即k>max_depth),终止游走。基于"六度分割理论"的思想,本实施例中的最大游走深度 max-depth = 6〇
[0098] 每趟随机游走都会返回一个QoS值,为了搜集到更多的数据,获得更加可靠的预 测值,往往需要在网络中进行若干次随机游走。此时就需要
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1