Page 61 - 《软件学报》2025年第5期
P. 61
胡强 等: 融合潜在联合词与异质关联兼容的 Web API 推荐 1961
节点 v j 进行游走.
依据此随机游走模式, 假设 v k 为节点 v i 的上一跳节点, v i 的下一跳节点集合 v J ={v j1 , v j2 ,…, v jm }, 在选取下一
跳节点时采取如下规则.
1) 若 v i ↔v k , ∃v Jf ⊆ v J 且∀v ∈ v J 满足 v~v i , 则 v i 下一跳节点 v j = {v | v ∈ v Jf ∧ max(p(v | v i , T)).
f
2) 若 v i ~v k , ∃v Jc ⊆ v J 且∀v ∈ v J 满足 v↔v i , 则 v i 下一跳节点 v j = {v | v ∈ v Jc ∧ max(p(v | v i , T)).
c
该游走策略综合协作关联与功能关联计算关联强度, 不但能够高效的捕获 Web API 节点在不同关联类型中
产生的语义关联强度, 而且可以最大化节点序列中 Web API 兼容性, 提升了训练语料采样质量, 可以有效提高关
联向量的生成质量.
对于长度为 l 的随机游走路径 P = (v p1 ,…, v pl ), v p 的上下文为 C = {v pk | v pk ∈ P, |k–t|≤c, t ≠ k}, 其中 c 为窗口大
t
小的半径. 基于上述采用策略获得给定节点 v i 与其路径上下文 C, 最小化如下的负对数似然:
({ } ) ( )
∑
−logP θ v jv j ∈ C v i = −logP θ v jv i (21)
v j ∈C
接下来, 使用异质 Softmax 函数, 对节点 v j 的上下文出现概率进行归一化, 即给定节点 v i 条件下, v j 的概率:
( )
T
( ) exp C ·v i,r
P θ v j |v i = ∑ ( ) (22)
T
exp c ·v i,r
k
k∈V t
其中, v j ∈V t , c k 为节点 v k 的上下文嵌入, v i, 为节点 v i 对边类型 r 的整体嵌入. 最后, 通过负采样函数为每一对节点
r
构建目标函数:
L
( ) ∑ [ ]
T T
E = −logσ c ·v i,r − E v k ∼P t (v) logσ(−c ·v i,r ) (23)
j
k
l=1
其中, σ (x) 为 Sigmoid 激活函数, L 是针对每个正样本进行负采样得到的负样本数, v k 从节点 v j 对应节点集 V t 上
的噪声分布 Pt(v) 中随机抽取. 当目标函数收敛时, 为 Web API 异质关联图中的节点生成最终的关联向量, 将 v 所
对应的服务 s 的关联向量记作 vc(s).
在关联向量生成过程中, 将协作关联和功能关联分别作为 Web API 组合兼容性判定过程中的正向因素和负
向因素融入到服务关联向量中. 因此, 相比单一通过协作关联辅助 Web API 的推荐, 采用 Web API 关联向量进行
兼容性判定将能进一步提高组件 Web API 推荐的多样性. 本文将在异质关联图中利用 WGATNE 模型和改进的
Metapath2vec++模型生成 Web API 关联向量的方法命名为 WGAT-HAG. 算法 2 为 Web API 关联向量的生成算法.
算法 2. 融合异质关联的 Web API 关联向量生成.
输入: Mashup 服务集合 MS, Web API 集合 S;
输出: Web API 的关联向量集合{vc(s)}.
1. HAG ←v:s ∈ S
2. for each s i , s j ∈ S
3. if s i ∼s j then
4. HAG.Ef = HAG.Ef∪(v i , v j )
5. w ij = w ij + 1
6. endif
7. endfor
8. for ∀m ∈ MS
9. if s i ↔s j ∈ m.S then
10. HAG.Ec = HAG.Ec∪(v i , v j )
11. w ij = w ij + 1