Page 50 - 《软件学报》2025年第5期
P. 50
1950 软件学报 2025 年第 36 卷第 5 期
vectors. By enhancing the accuracy of functional similarity matching, it obtains a high-quality candidate set of Web API components.
Function association and collaboration association are modeled as heterogeneous service association. The study utilizes heterogeneous
association compatibility to replace collaboration compatibility in traditional methods, thus enhancing the recommendation diversity of Web
APIs. In comparison, the proposed approach demonstrates improvements in evaluation indicators, with Recall, Precision, and NDCG
enhanced by 4.17% to 16.05%, 4.46% to 16.62%, and 5.57% to 17.26%, respectively. Additionally, the diversity index ILS is reduced by
8.22% to 15.23%. The Recall and Precision values for cold-start Web API recommendation are 47.71% and 46.58% of those for non-cold-
start Web API recommendation, respectively. Experimental results demonstrate that the proposed method not only enhances the quality of
Web API recommendation but also yields favorable results for cold-start Web API recommendations.
Key words: Mashup service; heterogeneous association; Web API recommendation; diversity
Web API 是一种通过网络调用的应用程序接口, 可用于构建各类业务系统 [1] . 为便于调用和集成, Web API 功
能粒度通常较小, 单个 Web API 难以完成复杂的业务需求. Mashup 服务将多个 Web API 混搭形成新的增值服务,
可以整合更多的数据资源, 提供丰富的业务功能 [2] . Mashup 服务中包含的 Web API 称为其组件 Web API (或组件
服务). Mashup 服务的组件 Web API 推荐是指在已有 Web API 中, 为 Mashup 服务需求寻求合适的组件服务, 已经
成为当前的热点研究问题 [3] .
网络中发布的大量 Web API 为 Mashup 服务提供了丰富的组件服务, 同时也增加了选择难度. 在为 Mashup
服务需求寻找组件服务时, 需提供所构建 Mashup 服务的功能关键词或者描述文本, 通过对功能关键词进行语义
解析, 或者采用主题模型、神经网络模型等对功能描述文本进行特征提取, 将提取的 Mashup 服务需求的功能特
征与已有 Web API 进行匹配, 获得在功能上满足 Mashup 服务需求的候选 Web API 集合 [4] .
部分研究者将协同过滤思想引入到组件服务的筛选. 寻找与 Mashup 服务需求相似的 Mashup 服务, 将这些
Mashup 服务的组件 Web API 作为候选服务, 开展功能和非功能匹配以便精准地推荐组件 Web API. 上述做法利
用已有 Mashup 服务与 Web API 的历史调用关系以及 Web API 流行度等因素来提升推荐合理性. 然而, 在寻找与
Mashup 服务需求相似的 Mashup 服务时, 仍然以功能关键词或描述文本作为依据, 这些关键词和文本描述了服务
的功能, 但在应用场景层面提供的信息有限. 因此, 难以挖掘 Mashup 服务与组成 Web API 之间隐含的场景交互信
息, 从而影响了协同过滤的效果.
图 1 中的 Mashup 服务 Cool Bars, Restaurants and Clubs 是一个休闲社交 API. 使用者利用该服务可以查询附
近的餐馆、酒吧和俱乐部等休闲场所, 并即时分享社交状态与照片. 它由 Google Maps 与 Twitter 两个 Web API 组
成, 二者分别负责场馆位置定位与社交信息展示.
Mashup服务: Cool Bars, Restaurants and Clubs
Localization、 Interact
geocoding
Review、
Venues
chat
Web API: Twitter
Web API: Google Maps
图 1 潜在联合词示例
在 Cool Bars, Restaurants and Clubs 服务的描述中, 存在 venues、review 和 chat 等词语, 这些词语不仅表达了
Mashup 服务的功能, 也是其组件 Web API 的应用场景特征词, 其中 venues 对应 Google Maps 的应用场景, review
和 chat 对应 Twitter 的应用场景. 同样, 从 Google Maps 与 Twitter 可以分别提取出表达 Mashup 服务功能场景的