Page 52 - 《软件学报》2025年第5期
P. 52
1952 软件学报 2025 年第 36 卷第 5 期
通过扩展关键词的同义词来提升 Mashup 服务需求与 Web API 的功能匹配度. Tang 等人 [11] 通过 TF-IDF 技术挖
掘 Web API 功能描述中的关键词, 以此扩展标签集并挖掘 Web API 之间的标签关联, 然后基于标签关联相似度推
荐 Web API.
基于协同过滤思想的方法, 通常使用矩阵分解与因子分解机提高 Web API 的推荐质量. 在使用矩阵分解的方
法中, Su 等人 [12] 使用 Word2Vec 技术将上下文信息整合到一个概率分解矩阵中, 并将 Web API 和 Mashup 服务描
述的上下文关系均融入到推荐模型, 取得了优异的推荐效果. 类似的, Botangen 等人 [13] 构建了一种基于概率矩阵
分解的推荐方法, 在 Mashup-API 交互的偏好度派生中考虑了地理位置信息. 实验表明利用地理位置信息增强隐
式数据可以提高组件 Web API 推荐的精度. Yao 等人 [14] 提出了一种带有隐式相关正则化的概率矩阵分解方法来
解决 Mashup 服务的 Web API 推荐问题. 通过分析 Web API 的共同调用模式获取它们的潜在相关性, 增强推荐的
多样性.
在使用因子分解机的方法中, Tang 等人 [15] 提出了一种基于组合模式的 Web API 推荐方法, 该方法基于 Web
API 与 Mashup 之间的调用模式以及 Web API 的共现性, 构建多维特征矩阵, 通过深度分解机模型学习 Web API
与 Mashup 服务之间潜在的链接关系, 为目标 Mashup 服务需求推荐 Top-K 最佳 Web API. Cao 等人 [16] 使用关系主
题模型提取 Mashup 服务、Web API 间的调用关系, 利用因子分解机训练潜在主题, 预测 Mashup 和 Web API 之
间的链接关系, 为目标 Mashup 服务需求推荐 Top-K 相关的 Web API. Nguyen 等人 [17] 提出带有注意力机制的矩阵
分解机, 将注意力分数和 Mashup-API 上下文相似度注入到矩阵分解结构中进行训练, 利用 Web API 描述和协作
历史中其他 Web API 的关系作为正则项, 学习潜在特征的重要性并提高 Web API 的预测性能. 以上基于协同过滤
思想的方法局限于近邻 Mashup 服务匹配与直观调用记录, 忽视了 Mashup 服务需求与组件 Web API 之间的潜在
应用场景交互特征, 导致推荐出的 Web API 与开发者的需求产生差异.
当前, 神经网络逐渐成为 Mashup 服务组件 Web API 推荐的热点模型. 例如, Kang 等人 [18] 提出了一种具有新
型神经网络架构的混合因子分解机模型, 该模型集成了深度神经网络来捕获非线性特征交互, 并使用注意力机制
捕获 Mashup 服务与 Web API 交互特征的不同重要性, 提高 Web API 推荐准确性. Xiao 等人 [19] 提出了一种基于结
构增强和属性弱化网络的 Mashup 服务的组成服务推荐方法. 在特征提取层中, 从 Web API 关系网络图中捕获结
构关系和属性信息, 获得每个 API 对应的表示向量, 在匹配演化层来捕捉 API 之间的协作关系, 并增量地选择
Web API 实现推荐. Liu 等人 [20] 将 Web API 和 Mashup 服务的功能描述作为输入, 提出一个具有 3 个线性层的微
小模型 T2L2. 前两个线性层用于对齐 Web API 和 Mashup 服务的表示空间, 最后一个线性层用于计算 Web API
和 Mashup 服务的匹配度, 显著降低了模型复杂性和所需数据, 同时提高了推荐准确率. Ma 等人 [21] 分别提取需求
与 Mashup 服务、需求与 Web API、Web API 之间的交互特征信息, 构建了一个合并上述 3 种类型交互信息的深
度神经网络, 为每个候选 Web API 输出相对于 Mashup 服务需求的评分, 实现 Web API 的推荐.
Yan 等人 [22] 构建了一种基于深度学习的服务推荐框架, 将 Web API 协作信息融合到 Web API 向量嵌入中, 推
荐质量得到显著改善. Cao 等人 [23] 提出一种基于图注意力表示和 DeepFM 质量预测 Mashup 组件 Web API 推荐方
法. 利用 Web API 组合关系构建网络, 计算相邻节点的注意力系数, 根据相邻节点特征的重要性加权生成 Web
API 的节点表征. 使用 DeepFM 对特征之间的交互关系进行建模, 通过对 Web API 的调用分数排名, 实现 Web
API 推荐. Huang 等人 [24] 将 Mashup 服务和 Web API 作为网络节点, 调用关系作为边. 将节点的文本特征向量与其
他非功能特征相结合, 使用 GAT 捕获相邻节点的不同权重贡献, 混合节点信息输出新的节点特征, 通过链路预测
为 Mashup 服务推荐合适的 Web API.
此外, 研究者也尝试将 Web API 推荐转化为多目标优化或图搜索问题. 例如, Almarimi 等人 [25] 将 Mashup 服
务的组成 Web API 集合求解转化为多目标优化组合问题, 以 Web API 历史共同使用、Web API 功能与 Mashup
服务需求的匹配和 Web API 功能多样性为目标, 使用 NSGA-II 搜索最优服务集. Gong 等人 [26] 将 Mashup 服务的 Web
API 推荐建模为一个图搜索问题, 通过在 Web API 的协作关联图中找到最小斯坦纳树来解决 Web API 的推荐问题.
以上方法虽然类别众多, 其相同之处在于均仍以 Mashup 服务与 Web API 的功能相似和二者的调用或协作关
系作为主要的推荐依据. 上述工作的不同在于通过改进和设计各类模型, 提高服务功能特征的提取质量, 或者在推