CCeACF: Content and Complementarity Enhanced Attentional Collaborative Filtering for Cloud API Recommendation
Zhen Chen,Wenhui Chen,Xiaowei Liu,Jing Zhao
DOI: https://doi.org/10.1007/s11227-024-06445-7
IF: 3.3
2024-01-01
The Journal of Supercomputing
Abstract:Cloud application programming interface (API) is a software intermediary that enables applications to communicate and transfer information to one another in the cloud. As the number of cloud APIs continues to increase, developers are inundated with a plethora of cloud API choices, so researchers have proposed many cloud API recommendation methods. Existing cloud API recommendation methods can be divided into two types: content-based (CB) cloud API recommendation and collaborative filtering-based (CF) cloud API recommendation. CF methods mainly consider the historical information of cloud APIs invoked by mashups. Generally, CF methods have better recommendation performances on head cloud APIs due to more interaction records, and poor recommendation performances on tail cloud APIs. Meanwhile, CB methods can improve the recommendation performances of tail cloud APIs by leveraging the content information of cloud APIs and mashups, but their overall performances are not as good as those of CF methods. Moreover, traditional cloud API recommendation methods ignore the complementarity relationship between mashups and cloud APIs. To address the above issues, this paper first proposes the complementary function vector (CV) based on tag co-occurrence and graph convolutional networks, in order to characterize the complementarity relationship between cloud APIs and mashups. Then we utilize the attention mechanism to systematically integrate CF, CB, and CV methods, and propose a model named Content and Complementarity enhanced Attentional Collaborative Filtering (CCeACF). Finally, the experimental results show that the proposed approach outperforms the state-of-the-art cloud API recommendation methods, can effectively alleviate the long tail problem in the cloud API ecosystem, and is interpretable.