Page 54 - 《软件学报》2025年第5期
P. 54
1954 软件学报 2025 年第 36 卷第 5 期
Web API 的异质关联图中包含以下两类边.
(1) 功能关联边, 如果两个 s i 与 s j 存在相同的标签, 则在 HAG 中的节点 v i 和 v j 之间建立一条功能关联边, 功
能关联边的权重为 s i 与 s j 共同标签的数量, 记作 Nl(s i , s j ).
(2) 协作关联边. 如果两个 s i 与 s j 共存于同一个 Mashup 服务的组成服务集合中, 则在 HAG 中的节点 v i 和 v j
之间建立一条协作关联边, 协作关联边的权重为 s i 与 s j 共同参与 Mashup 服务的数量, 记作 Nc(s i , s j ). 图 4 为
ProgrammableWeb 网站中注册的部分 Mashup 服务的组件 Web API 所构建的异质关联图片段. 其中, 节点为 Web
API, 虚线边为功能关联边, 实线边为协作关联边, 边上的数值为边权.
1
2
图 4 Web API 异质关联图
定义 6. Mashup 服务需求. Mashup 服务需求为一个二元组 mr = (d, L). 其中, d 为 Mashup 服务需求描述信息,
L 为 Mashup 服务需求的类别标签集合.
2.2 研究框架
本文采取如图 5 所示的研究框架, 为 Mashup 服务需求进行组件 Web API 推荐的主要流程如下.
首先, 在服务注册平台中爬取 Web API (组件服务) 以及 Mashup 服务. 将上述服务进行数据清洗, 构建研究使
用的数据集.
然后, 从功能层面获取 Mashup 服务需求 mr 的候选组件 Web API 集合, 主要步骤分为以下两个阶段.
第 1 阶段, 获取服务需求 mr 的候选组件集合. 在 Mashup 服务集合中寻找与 mr 功能相似 Mashup 服务, 记为
Nm(mr). 将 Nm(mr) 中每一个 Mashup 服务的组件 Web API 取出, 构建 mr 的一阶潜在组件服务集合 Cw-1(mr). 为
Cw-1(mr) 中的每个 Web API, 选取一定数量的相似 Web API 作为 mr 的二阶潜在组件服务集合 Cw-2(mr), 将 Cw-1(mr)
与 Cw-2(mr) 中的服务合并, 形成 mr 的候选组件集合 Cw(mr).
第 2 阶段, 为服务需求 mr 和候选 Web API 生成潜在联合词. 利用改进的 YAKE 模型从 Nm(mr) 中 Mashup 服
务和 Cw(mr) 中 Web API 的描述文本提取特征词集合, 通过标签适配度, 分别为 mr 和 Cw(mr) 中的每个服务 s 筛
选潜在联合词 Law(mr) 和 Law(s).
其次, 利用 Law(mr) 和 Law(s), 为 mr 和 Cw(mr) 中的每个服务 s 生成潜在联合词向量. 将潜在联合词向量与功
能向量相拼接, 分别为 Mashup 服务需求和 Web API 生成融合潜在联合词的需求向量和功能向量.
再次, 构建融合功能关联和协作关联的 Web API 异质关联图. 基于改进 GATNE 模型与设计的面向关联强度
的游走策略, 为异质关联图中的服务节点生成关联向量.