引言
服务计算与大数据、区块链和人工智能等技术的加速融合,催生了大量异构和多模态的应用程序接口服务(APIs)(Sandhu, 2021, Li et al., 2021, Lins et al., 2021)。服务组合技术可以集成和编排现有API,构建具有新功能的服务(Xu et al., 2023)。由于其高资源利用率和低开发成本,该技术受到开发者的青睐并迅速发展。然而,随着现有API数量的快速增长,开发者难以快速有效地选择满足用户需求的API组合。对重叠API的广泛重复使用不可避免地引入了噪声,产生冗余交互,掩盖了开发者真正的功能偏好,从而缩小了可用的备选方案集合(Gong et al., 2022)。为了帮助开发者找到合适的API,近年来提出了许多复合服务推荐方法。
受传统推荐系统的启发,早期的服务推荐方法主要基于协同过滤技术(Jiang et al., 2011, Wu et al., 2015),这些方法依赖于历史用户-API交互记录来推断用户对API的偏好。然而,此类方法缺乏对用户和服务特征的深入探索。为了解决这一局限性,一些研究将聚类技术引入服务推荐领域,通过将用户请求划分为特定的服务簇来提高服务推荐的效率(Agarwal et al., 2020, L.U. JW et al., 2021, Lu et al., 2022)。随着深度学习技术的快速发展(Jin and Xu, 2025b, Xu, 2020),一些基于深度神经网络的技术在服务推荐领域展现了良好的性能(Dang et al., 2021, H. Wu et al., 2021)。然而,上述服务推荐方法仅将复合服务和API视为用户和项目,因此仅考虑直接调用而忽略了高阶信息结构,最终限制了推荐模型的准确性。同时,服务推荐结果的多样性意味着开发者更有机会接触到潜在有趣的服务功能类型,同时避免功能同质化,从而提升用户体验(Kou et al., 2023)。为此,一些研究者利用用户-捆绑包和用户-项目之间的交互信息,基于捆绑推荐生成用户和捆绑包的特征表示,并在此基础上分析用户意图,以提高推荐结果的多样性和相关性(Chang et al., 2020, Chang et al., 2021, Avny Brosh et al., 2022)。
图神经网络(GNNs)通过有效捕获实体间的复杂关系,在服务推荐任务中展现了卓越的能力。目前,它们已在服务推荐领域得到广泛应用并取得良好性能(Zheng et al., 2023, Wang et al., 2024, Kang et al., 2024)。然而,基于GNNs的方法在收集高阶邻居信息时可能面临节点表示过度平滑的问题,导致不同节点间的特征变得模糊,从而影响推荐性能。许多研究将图卷积网络(GCN)引入服务推荐领域(Gao and Wu, 2022, Cao et al., 2023a, Xiao et al., 2024),通过图卷积聚合邻居节点信息以缓解节点稀疏性。此外,受超图在建模复杂高阶依赖方面成功应用的启发(Feng et al., 2019, Gao et al., 2022),许多研究者采用超图神经网络进行服务推荐(Mai et al., 2023, Xiao et al., 2023, Tang et al., 2024),该方法以线性复杂度保持结构解耦。然而,现有的基于超图神经网络的方法主要关注同构超图,忽略了节点的附加属性信息,导致长尾问题(D. Yu et al., 2024)。
对比学习可以缓解推荐系统中的数据稀疏性(Yu et al., 2023),并增强用户和项目表示之间的区分度,从而有利于更准确地建模用户意图并提高推荐结果的多样性(Chen et al., 2022)。在图学习中,由于图数据往往未标注或难以标注,对比学习也被应用于图表示学习以进行推荐,并取得了令人振奋的结果(Zhang et al., 2022, Jiang et al., 2023)。然而,现有的基于图对比学习的服务推荐方法(Chen et al., 2023, Yu et al., 2024)仍存在以下局限性。首先,大部分纳入的API高度相似,因此无法反映用户对不同API的偏好。其次,用户与复合服务之间的直接关系被忽略,因此API组合信息未被利用来提高推荐多样性(Ma et al., 2022)。第三,残余噪声扭曲了数据分布,导致节点表示不可靠。为了解决上述服务推荐方法的这些局限性(J. Wu et al., 2021),我们提出了一种基于跨视图对比学习的多样化服务推荐方法(DSR-CCL)。本文的主要贡献总结如下:
(1) 我们使用捆绑推荐技术为服务场景构建单服务视图和捆绑服务视图,并使用GNNs在不同视图中学习用户和服务特征。考虑到节点语义信息的稀疏性,我们使用归一化聚合替代传统的特征变换和非线性激活操作,并采用逐层平均来实现不同深度的节点信息有效聚合。
(2) 基于二部图和超图的功能与结构特征,我们设计了多种基于图和基于表示的数据增强方法,以及相应的正负采样策略。在此基础上,我们采用跨视图对比学习来建立单服务视图与捆绑服务视图之间的协同关系。
(3) 最后,我们在真实服务数据集上进行了大量实验。实验结果表明,DSR-CCL优于现有基线方法,与最佳基线相比,在HR@20、NDCG@20、ILS和H指标上分别提升了5.87%、4.05%、3.99%和1.41%。
本文其余部分组织如下:第2节概述相关工作;第3节简要介绍所提出的DSR-CCL方法;第4节深入探讨所提出的方法;第5节进行实验分析与评估;第6节对全文进行总结与展望。