Abstract

Service recommendation is an efficient method for service-oriented software that can improve software quality. Applications often require the integration of multiple services to create more powerful and complex functionality while saving software development time. However, the vast number of available candidate Web services can impose a heavy burden on software developers’ selection decisions. The existing service recommendation challenges are mainly come from: (1) the development requirements entered by users are too arbitrary (2) the extreme sparsity of invocation records. To address the above challenges, in this paper, we propose a Service Recommendation method based on Contrastive Learning and Multi-task Learning (SRCLML). Specifically, we utilize the Transformer model to extract the development requirements of users, conduct in-depth mining of text descriptions, and extract features of applications. Next, the features are fed into the DNN model to predict the probability that the service will be selected. Moreover, we add a tag judgment task to make it capable of multi-task learning, through which, the training signal information implied can be used as an inductive bias to improve service recommendation capabilities. Additionally, we build three subgraphs based on the global graph, conduct in-depth mining of historical invocation records based on contrastive learning and graph neural network to extract features of applications and services and calculate application preferences for each service. Finally, we combined the above two to obtain the final recommendation service list. Extensive experiments on real-world datasets demonstrate that our method, SRCLML, outperforms several state-of-the-art comparison methods in the domain of service recommendation.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call