Page 58 - 《软件学报》2025年第5期
P. 58
1958 软件学报 2025 年第 36 卷第 5 期
API, 可以提高二者的匹配合理性与准确性.
h m 为采用 SimCSE 为需求 mr 生成的功能向量. 采用 Word2Vec 为 mr 的潜在联合词 Law(mr) 生成词向量. 将这
r
些词向量的均值作为 mr 的潜在联合词向量与 h m 拼接, 形成的向量作为 mr 的需求向量, 记作 vf(mr), 参见公式 (10),
r
其中, 符号||表示向量拼接.
∑
Word2Vec(w)
w∈Law(mr)
v f(mr) = ||h mr (10)
|Law(mr)|
同样, 对于 Cw(mr) 中的服务 s, 使用 SimCSE 为其生成功能向量 h s . 将其与潜在联合词向量均值拼接, 形成的
向量作为 s 的服务功能向量, 记作 vf(s), 参见公式 (11):
∑
Word2Vec(w)
w∈Law(s)
vf(s) = ||h s (11)
|Law(s)|
将融合潜在联合词的服务功能向量命名为 SY-SimCSE. 采用 SY-SimCSE 为 Mashup 服务需求生成需求向量
vf(mr) 和候选 Web API 生成服务功能向量 vf(s) 的方法参见算法 1.
算法 1. 融合潜在联合词的 Mashup 服务需求向量与候选 Web API 功能向量生成.
输入: Mashup 服务需求 mr, Mashup 服务集合 MS, Web API 集合 WS;
输出: 融合潜在联合词需求向量 vf(mr), 候选组件服务的功能向量集合{vf(s)}.
1. h mr = SimCSE(mr)
2. h m = SimCSE(m) for each m ∈ MS
3. h s = SimCSE(s) for each s ∈ WS
4. Nm(mr) = {m|Top-X(sim(h mr , h m )∧m ∈ MS)
5. for ∀m ∈ Nm(mr)
6. Cw-1(mr) = Cw-1(mr)∪m.S
7. endfor
8. for ∀s ∈ Cw-1(mr)
9. Ns(s) = {s|Top-Y(sim(h s , h s' )∧s' ∈ WS)
10. Cw-2(mr) = Cw-2(mr)∪Ns(s)
11. endfor
12. Cw(mr) = Cw-1(mr)∪Cw-2(mr)
13. for ∀s ∈ Cw(mr) or ∀m ∈ Nm(mr)
14. Lmr = Lmr∪SYAKE(s.d)
15. Ls = Ls∪SYAKE(m.d)
16. endfor
17. for ∀l ∈ mr.L
18. Law(mr) = Top-n(F(w, l))∧w ∈ Lmr
19. endfor
20. generate vf(mr) by Formula (10)
21. for ∀s ∈ Cw(mr) and l ∈ s.L
22. Law(s) = Top-n(F(w, l))∧w ∈ Ls
23. endfor
24. generate vf(s) by Formula (11) for each s ∈ Cw(mr)
25. return (vf(mr), {vf(s)})