Page 51 - 《软件学报》2025年第5期
P. 51
胡强 等: 融合潜在联合词与异质关联兼容的 Web API 推荐 1951
词语 localization、geocoding 和 interact. 本文将上述表示应用场景的特征词称为潜在联合词, 如果为 Web API 和
Mashup 服务需求, 按照规则分别匹配潜在联合词, 然后进行功能匹配, 将有效提升 Mashup 服务需求的候选组件
服务的生成质量.
[5]
获取候选 Web API 集合后, 组件服务之间的协作兼容性常用来决定最终推荐的 Web API . 在评估组件服务
的协作兼容时, 有研究者将 Web API 之间的输入输出参数的匹配作为依据 [6] . 更多研究工作是构建 Web API 协作
图, 将协作图中的节点向量化, 通过计算协作图中的节点相似度实现服务协作兼容性的度量. 也有研究工作利用子
图的结构特性 (如文献 [7] 构建的最小斯坦纳树) 来搜寻协作兼容性最大的 Web API 组合. 协作兼容性的引入, 有
效地提升了组件 Web API 的推荐质量.
然而, 现有以协作兼容性辅助 Web API 推荐的方法中主要考虑 Web API 之间协作关联, 通常认为协作次数多
的 Web API 之间兼容性高, 优先被推荐用于构建 Mashup 服务. 在推荐的组件 Web API 中, 存在着较多具有功能
关联的服务 (功能类似或部分重复 Web API), 这与“组件 Web API 之间的功能为互补关系”这一普遍共识存在差异.
组件 Web API 之间的协作次数越多、功能重复越少, 则意味着推荐质量越高. 对于两个组件 Web API, 它们
之间的协作关联和功能关联对于二者共同出现在推荐列表分别起着正反馈和负反馈的作用. 现有单纯以协作兼容
性辅助组件 Web API 推荐的方法, 以组件服务的协作强度最大化为目标, 忽视了功能关联的负反馈作用, 造成推
荐服务中存在较多的功能重复的 Web API, 推荐多样性差. 若将 Web API 之间的协作关联和功能关联融合为一种
新的关联, 基于这种新的关联兼容将有效提升组件 Web API 的推荐质量.
已有方法在 Mashup 服务需求与组件 Web API 进行功能匹配时缺乏对应用场景信息的考量, 功能匹配精确度
有待于进一步提升. 同时, 以协作为主的 Web API 兼容性判定未考虑组件服务之间功能重复性, 造成推荐的多样
性有待. 为此, 提出一种融合潜在联合词与异质关联兼容的组件 Web API 推荐方法, 主要工作和贡献如下.
(1) 提出一种用于描述 Mashup 服务与 Web API 应用场景信息的潜在联合词提取方法. 融合潜在联合词后的
服务功能向量能够有效提升 Web API 与 Mashup 服务需求的功能匹配精确度, 提高候选组件 Web API 集合的求
解质量.
(2) 面向协作关联和功能关联构建了 Web API 的异质关联图, 设计了面向服务关联强度的随机游走策略, 利
用 GATNE 模型为 Web API 生成了关联向量. 利用异质关联兼容替代传统方法中的协作兼容, 提升了 Web API 的
推荐多样性.
(3) 建立了一种融合功能匹配度与关联兼容度的组件 Web API 推荐方法. 引入注意力机制优化重组 Mashup
服务需求向量与候选 Web API 的关联向量, 与 Web API 功能向量一起输入全连接层, 根据匹配度的输出概率实
现 Top-K 组件 Web API 推荐. 实验表明所提出方法的 Web API 推荐质量优于对比方法.
本文第 1 节介绍 Mashup 服务的组件 Web API 推荐研究现状. 第 2 节介绍与本文方法相关的定义和研究框
架. 第 3 节给出 Mashup 服务需求的组件 Web API 推荐方法. 第 4 节开展实验, 验证本文所提出方法的效果. 第 5
节对全文进行总结与展望.
1 相关工作
近年来, Mashup 服务的组件 Web API 推荐受到广泛关注. 研究者从功能匹配、服务协作以及历史服务调用
等多个角度构建了各类推荐系统, 相关推荐方法主要可以划分为基于内容匹配、基于协同过滤和基于神经网络模
型这 3 类.
基于内容匹配的方法主要依据 Web API 与 Mashup 服务需求描述的相似度推荐组件 Web API. 例如, Gu 等人 [8]
将 Mashup 服务需求划分为表示不同功能的短句, 通过计算短句与 Web API 描述之间的相似度, 预测不同 Web
API 相对需求的评分, 选取评分最高的 Web API 作为推荐服务. Li 等人 [9] 使用关系主题模型对 Mashup 服务需求
和 Web API 的标签和主题信息建模以计算二者的相似度, 同时融合因子分解机获取多个维度的信息, 以推荐
Mashup 服务需求对应的 Web API. Zhang 等人 [10] 将关键词视为服务功能载体, 从服务描述中提取功能关键词, 并