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) 关键实验参数设置.