面向服务的架构(SOA)通过跨网络组合云API来促进软件开发,利用中立的访问协议和明确定义的服务契约[1]。目前,SOA已成为软件开发中的主流范式,云API作为关键技术,支持分布式系统的构建、人工智能服务的集成以及数字经济的推进[2]。特别是,云API提供了对各种资源(如数据、计算、存储、数据库以及机器学习和人工智能模型)的丰富访问接口,使开发者能够根据具体需求选择合适的云API,从而高效地创建定制化且功能丰富的应用程序,即Mashup[3]。例如,开发者可以方便地使用Google Maps API1进行实时导航,利用Stripe API2进行在线支付,或使用DeepSeek API3生成AI驱动的洞察。因此,云API的利用显著提高了现有资源的重用效率,使企业和组织能够分配更多资源并专注于业务创新。
近年来,越来越多的企业和组织通过云API提供越来越开放的功能。这种演变使云API成为一种“数字粘合剂”,有效促进了不同领域服务的集成,并推动了数字经济的发展。同时,出现了多种专注于云API服务的开放平台,如RapidAPI4、ProgrammableWeb5和ShowAPI6,进一步推动了云API生态系统的繁荣。截至2025年5月,RapidAPI reportedly托管了超过40,000个云API,拥有超过400万开发者,每月活跃订阅者约270,000人,并处理超过50亿次云API请求。此外,云API的数量每年增长速度超过30%[4]。虽然这种不断扩展的云API生态系统为开发者提供了更多选择,但也带来了API过载的挑战,因为可用云API的数量庞大。
云API推荐系统是解决云API过载问题的有效方案,其中协作过滤(CF)是一种由于其效率和多功能性而广泛采用的方法[5]。行为模式通常被编码为协作嵌入,这些嵌入从最初的ID嵌入(用于矩阵分解[6]、[7])发展到了最近基于图的编码器产生的更全面的图嵌入[8]、[9]。尽管这些CF方法表现优异,但它们严重依赖于Mashup与云API之间的历史交互。因此,它们存在严重的云API冷启动问题,即无法为新发布或未见过的云API生成有效的协作嵌入。鉴于新云API的持续涌入,提高它们的可见性并有效地向开发者推荐它们已成为云API推荐的关键挑战。
解决冷启动问题的一种常见方法是利用云API提供的侧信息(如文本描述、标签和提供商详情)作为内容特征来表示冷启动的云API。例如,一些强大的方法(如DropoutNet [10]、MTPR [11])将云API的内容和协作特征整合到一个统一的表示中,并在训练期间随机丢弃某些暖启动云API的协作特征,将其视为冷启动云API。然而,尽管这些方法在训练阶段考虑了冷启动云API,但它们未能考虑到云API的内容特征与协作特征之间的关系,这最终限制了它们的整体效果。
为此,最近的研究采用了API级别的对齐策略来利用云API的内容特征和协作特征之间的关系[12]、[13]、[14]、[15]。例如,CLCRec [12]使用对比学习来对齐同一云API的内容嵌入和协作嵌入。CCFCRec [14]采样共现的云API对,并将一个云API的内容嵌入与另一个云API的协作嵌入对齐,以增强协作信号。这些方法通常基于一个前提:冷启动的云API与暖启动的云API具有相似的内容特征。通过对暖启动云API的内容嵌入与其协作嵌入进行对齐,它们间接引导冷启动云API的内容嵌入与暖启动云API的协作嵌入对齐。
然而,当冷启动和暖启动云API的内容特征相似度较低时,基于API级别对齐的方法的效果会受到限制,这种情况在现实世界中很常见。如图1所示,PayPal7和Stripe都被归类为具有相似内容特征的支付云API。因此,将PayPal的内容嵌入与Stripe的协作嵌入对齐可以推荐给之前使用过Stripe的开发者u。相反,对于AfterShip8,API级别对齐的效果较差,因为开发者u没有使用过任何具有与AfterShip相似内容特征的云API。值得注意的是,开发者u曾与WooCommerce9、Stripe、Twilio10和Amazon S311交互过,表明他们的业务需求主要集中在电子商务领域。因此,提供电子商务相关物流服务的AfterShip也可能符合开发者u的需求。此外,在面向服务的软件开发中,开发者经常组合多个云API来创建满足特定业务目标的Mashup。因此,从组级角度检查开发者使用的暖启动云API是非常重要的,以推断可能需要的云API。
为此,我们引入了一种名为MDCL的多级双重对比学习框架,用于云API冷启动推荐。MDCL从三个不同的角度进行嵌入对齐:Mashup-API对齐、API级别对齐和组级对齐,从而引导包括低相似度云API在内的内容嵌入向协作空间靠拢。具体来说,Mashup-API对齐旨在最大化Mashup与云API的协作嵌入之间的互信息,从而促进交互模式的学习。API级别对齐采用自我区分任务,旨在最大化云API的内容嵌入与协作嵌入之间的互信息,利用暖启动云API的协作知识来增强冷启动云API的内容嵌入。组级对齐首先汇总Mashup交互历史中一组暖启动云API的协作嵌入,生成其偏好表示。然后,它通过对Mashup的偏好表示与随机选择的暖启动云API的内容嵌入之间的互信息进行最大化,对低相似度的冷启动云API施加嵌入约束。在训练期间,选定的暖启动云API被视为冷启动云API。值得注意的是,Mashup-API对齐和API级别对齐都采用了双向对比策略,通过双锚点构建正负样本对来增强嵌入学习过程中的监督。此外,我们采用了一种混合训练策略来共同优化Mashup-API对齐、API级别对齐和组级对齐的目标。因此,MDCL不仅提高了低相似度冷启动云API的推荐性能,还在冷启动和暖启动云API的推荐之间实现了更优的平衡。
我们的贡献总结如下:
•我们提出了一种组级对齐策略,在训练阶段将随机选择的暖启动云API视为冷启动云API。该策略将其内容嵌入与从一组暖启动云API聚合的Mashup偏好表示对齐,从而为低相似度的冷启动云API建立嵌入约束。
•我们将推荐目标分解为三个嵌入对齐目标:Mashup-API对齐、API级别对齐和组级对齐。通过混合训练共同优化这些目标,以实现冷启动和暖启动云API推荐之间的更好平衡。
•我们在真实的云API数据集上进行了广泛实验,证明MDCL在冷启动和暖启动推荐场景中的性能均优于现有的最先进方法(SOTA)。此外,案例研究的结果证实,MDCL显著提高了低相似度冷启动云API的推荐性能。
文章的其余部分安排如下。第2节回顾了相关工作。第3节介绍了所提出的MDCL框架,包括问题表述和方法细节。第4节描述了实验设置并检验了结果。最后,第5节总结了我们的工作。