Page 59 - 《软件学报》2025年第5期
P. 59
胡强 等: 融合潜在联合词与异质关联兼容的 Web API 推荐 1959
算法 1 第 1–3 行采用 SimCSE 为 Mashup 服务需求 mr、Mashup 服务与 Web API 生成功能向量. 第 4–7 行从
已有 Mashup 服务中为需求 mr 查找 X 个相似 Mashup 服务集合 Nm(mr), 并将它们调用的组件 Web API 作为 mr
的一阶候选 Web API 集合 Cw-1(mr). 第 8–12 行通过为 Cw-1(mr) 中每一个服务查找 Y 个相似 Web API, 作为 mr
的二阶候选组件 Web API 集合, 并将 Cw-1(mr) 与 Cw-2(mr) 合并形成 mr 的候选组件集合 Cw(mr). 第 13–16 行使
用 SYAKE 模型分别从 Cw(mr) 中的 Web API 与 Nm(mr) 中的 Mashup 服务的功能描述中分别提取特征词集合
Lmr 与 Ls.
第 17–20 行通过标签适配度为需求 mr 从 Lmr 中匹配自身标签数量 n 倍的特征词, 作为潜在联合词集合
Law(mr), 然后利用公式 (10) 生成 mr 对应的融合潜在联合词的需求表达向量. 同样处理方式, 算法的第 21–24 行
为 Cw(mr) 中的每一个服务 s 通过标签适配度从 Ls 中匹配自身标签数量 n 倍的特征词, 作为服务的潜在联合词集
合 Law(s). 利用公式 (11) 为 Cw(mr) 的 Web API 生成功能向量集合{vf(s)}. 算法第 25 行返回 vf(mr) 和{vf(s)}.
3.2 融合异质关联的 Web API 关联向量生成
获取候选组件 Web API 集合后, 多数方法通过计算候选组件服务之间的协作兼容度来选取最终的推荐服务,
此类方法未考虑 Web API 之间的功能重复问题. 本文提出一种融合功能关联和协作关联的 Web API 关联兼容度
计算方法, 以解决已有方法在推荐多样性方面存在的不足.
3.2.1 基于改进 GATNE 的节点关联特征初始化
为了计算关联兼容度, 需将定义 5 中 Web API 异质关联图的节点向量化. GATNE 是当前流行的异质图节点
嵌入模型, 适合处理具有大数量级边的异质图 [30] . 图 7 为 Web API 关联向量生成过程.
Mashup 服务
爬取
协作关联
服务发布平台 HAG
优化
Web API 关联向量
面向关联强度的
Web API
随机游走策略
功能关联
爬取 改进 Metapath2vec++
图 7 Web API 关联向量建模
在 GATNE 模型中, 节点 v i 在 r 类型边上获取的表征分为节点基础表征与边嵌入表征. 第 k 层 v i 节点的 r 类
型边嵌入表征 u (k) 为:
i,r
({ })
(k)
u = aggregator u (k−1) ,∀v j ∈ N i,r (12)
i,r
j,r
其中, N i, 是 r r 类型边上的 v i 关联节点集合, u (0) 为随机初始化的边向量, 采用公式 (13) 对 u (k) 实施最大池化聚合操
j,r j,r
作, ϕ(x) 为 ReLU 激活函数.
({ ( ) })
(k)
u = max φ ˆ Q (k) u (k−1) +b ˆ (k) ,∀v j ∈ N i,r (13)
j,r
i,r
pool
pool
将节点 v i 所有的边嵌入表征进行拼接. 假设 v i 关联的 r 类型的边为 m 条, 边嵌入维度为 d, 则拼接后的边嵌入
da
m
表征为 U i,r = (u i,1 , u i,2 , ... , u i,m ), 构建如公式 (14) 的自注意力机制系数 a i,r ∈ R , 其中 w r ∈ R , W r ∈ R [da×d] 是需要训
练的参数, T 表示向量或者矩阵的转置.
( ) T
T
a i,r = Softmax w tanh(W r U i ) (14)
r
然而, GATNE 模型未考虑异质图的边权. 在 HAG 中边权反映了 Web API 间关联紧密度, 忽视边权导致模型
难以区分节点在不同关联中的重要度, 进而影响 Web API 关联表征的生成质量.
为此, 本文将边权融入到 GATNE 的特征聚合过程, 对于 w i, 构造如公式 (15) 所示的偏置向量, 融入到边嵌入
j