Page 63 - 《软件学报》2025年第5期
P. 63

胡强 等: 融合潜在联合词与异质关联兼容的             Web API 推荐                                    1963


                                                       N ∑ |m i .S |
                                                     1   ∑       (      )
                                                L = −       y s j ,m i  log p(s j ,m i )             (30)
                                                     N
                                                       i=1  j=1
                                                                                         i
                 其中, N  为训练集中    Mashup  服务样本的数量, |m i .S|为  Mashup  服务  m i 的  Web API 数量. y sj,m 表示服务  s j 出现在
                 m i 的  Web API 集合的概率  (若存在则为   1, 否则为  0), p(s j , m i ) 表示模型预测概率. 该模型预测的概率值和真实值
                 越接近时, 交叉熵损失函数的值越小. 将所构建的面向                Mashup  服务的组件  Web API 推荐方法命名为      R-CWSE, 具
                 体实施步骤见算法       3.

                 算法  3. Mashup  服务需求的组件   Web API 推荐方法.
                 输入: Mashup  服务需求  mr, Web API 集合  WS;
                 输出: mr 的  Top-K  推荐  Web API 集合  RWA(mr).

                 1. get vf(mr) and {vf(s)} by Algorithm 1
                 2. get {vc(s)} by Algorithm 2
                 3. generate vf(mr) att  and {vc(s) att }
                 4. for each s ∈ Cw(mr)
                 5.  compute p(s, mr) by Formula (29)
                 6. endfor
                 7. RWA(mr) = {s|Top-K(p(s, mr))∧s ∈ Cw(mr)}
                 8. return RWA(mr)
                    算法  3  第  1  行调用算法  1  获取  mr 对应的需求向量   vf(mr) 以及  Cw(mr) 的  Web API 功能向量集合{vf(s)}. 第
                 2  行通过算法   2  获取  Cw(mr) 中  Web API 的关联向量集合{vc(s)}. 第  3  行通过注意力机制优化重组需求向量和关
                 联向量, 分别得到     vf(mr) at 与{vc(s) att }. 第  4–6  行通过全连接层, 为每个  s, 从其对于  mr 功能需求匹配和参与组合
                                     t
                 Web API 的关联兼容度两个角度得到         s 对于  mr 的推荐概率   p(s, mr). 第  7  行将  Top-K  最高的概率的服务作为最终
                 推荐的   Web API 集合  RWA(mr). 算法第  8  行返回集合  RWA(mr).
                    算法在训练阶段, 时间主要耗费在关联向量生成、功能匹配向量权重矩阵训练和推荐概率权重矩阵训练这                                    3
                 部分. 根据文献    [30], WGATNE  优化训练的复杂度为      O(2|WS|×l×d GAT ). 其中, 2  是  HAG  中边类型数量, l 是每个训
                 练样本的负样本数, 且      l≥1, d GA 是 T  GATNE  总嵌入  vc(s) 的维度. 功能匹配向量权重矩阵训练的复杂度为        O((2d vf )×|
                 Cw(mr)|), 推荐概率权重矩阵训练的复杂度为          O((2d vf +d GAT )×|Cw(mr)|), 其中, d v 为服务功能向量的维度. 因此, 训
                                                                              f
                 练阶段的时间复杂度为        O(2|WS|×l×d GAT +(2d vf )×|Cw(mr)|+(2d vf +d GAT )×|Cw(mr)|).
                    在真实推荐阶段, 不涉及模型训练, 算法主要耗时在求解                 Nm(mr)、求解   Cw(mr)、为  mr 和  Nm(mr) 中的  Web
                 API 匹配潜在联合词以及推荐评分. 其中, 除推荐评分涉及注意力计算, 其他几项的复杂度均为所遍历集合元素数
                                                  2
                 量的整数倍, 推荐评分的复杂为          O(|Cw(mr)| ). Cw(mr) 中数量  Web API 的数量不超过  100, 所以真实推荐的时间复
                 杂度为常数量级      O(1), 训练后的模型可以实现高时效性的推荐.

                 4   实验评估与分析

                    本节开展实验验证       Mashup  服务的  Web API 推荐过程中面临的以下问题.
                    (1) SY-SimCSE  生成的服务功能向量的质量是否优于其他模型?
                    (2) 异质关联兼容的引入能否提升          Web API 的推荐精确度?
                    (3) R-CWSE  方法是否优于最新的      Web API 推荐方法?
                    (4) R-CWSE  方法对于冷启动    Web API 的推荐性能如何?
                    (5) 关键实验参数设置.
   58   59   60   61   62   63   64   65   66   67   68