DySR: A Dynamic Representation Learning and Aligning based Model for Service Bundle Recommendation
Abstract
An increasing number and diversity of services are available, which result in significant challenges to effective reuse service during requirement satisfaction. There have been many service bundle recommendation studies and achieved remarkable results. However, there is still plenty of room for improvement in the performance of these methods. The fundamental problem with these studies is that they ignore the evolution of services over time and the representation gap between services and requirements. In this paper, we propose a dynamic representation learning and aligning based model called DySR to tackle these issues. DySR eliminates the representation gap between services and requirements by learning a transformation function and obtains service representations in an evolving social environment through dynamic graph representation learning. Extensive experiments conducted on a real-world dataset from ProgrammableWeb show that DySR outperforms existing state-of-the-art methods in commonly used evaluation metrics, improving from to .
Index Terms:
Service Bundle Recommendation, Evolving Service Social, Cold Start, Deep Learning, Dynamic GraphI Introduction
With the rapid development of new technologies such as cloud, edge, and mobile computing, the number and diversity of available services are dramatically exploding, and services have become increasingly important to people’s daily work and life. The increasing number and diversity of services bring significant challenges to effective service management and reuse. Consequently, recommending suitable services for developers based on requirements to help them reduce the burden of service selection in creating applications (mashups) becomes a non-trivial issue, and such task is often called service bundle recommendation in services computing.
Service bundle recommendation refers to recommending a set of services based on these services’ functions and history compositions to satisfy the user’s explicit and implicit requirements[1]. There have been many service recommendation studies from different perspectives. Existing approaches can be categorized into natural language processing (NLP) based approaches[2, 3, 4], graph-based approaches[5, 6, 7], and hybrid approaches [8, 9]. These approaches have achieved remarkable results. However, ignoring the following factors limits the performance of their approaches and the application scenarios in reality:
(1) Cold Start: Most existing approaches leverage the interaction history between mashups and services to recommend missing services. They work well in normal situations like user-item recommendations and user-movie recommendations. The co-occurrence between users(mashups) and items(movies/services) can be repeated. However, in the application scenario of mashup creation, each mashup only appears once and without any interaction with existing services. The lack of such information decreases the performance of existing approaches. This phenomenon is also known as the cold start of requirements, which has recently started to attract the attention of researchers[9, 10]. Additionally, existing approaches assume all services have enough description document and historical usage information (e.g., invocation history, co-invocation, and popularity). While, in the real world, services are created in temporal order, and newly created services often do not accumulate enough historical usage information or even no historical usage information. Or, due to unregulated development, some service providers do not provide a comprehensive service description. These services are usually ignored in existing approaches. We call this phenomenon the cold start of services, which has not received enough attention in service bundle recommendations.
(2) Evolving Service Social: Since, in most cases, services do not actively update their profile promptly[11], existing approaches assume services’ function and quality are static. However, we argue that the quality of services evolves, and the functionality of services evolves in a latent way as their social environment changes. For example, a service that other applications have not invoked for a long time may indicate that the service quality has degraded or that an alternative service with better similar functionality is available and should be avoided when making service recommendations. Readmill111https://www.programmableweb.com/api/readmill is an example of service function evolving[12], which is designed for “Social” as its profile says “Readmill is an online and mobile platform for readers to share information about …, allowing them to highlight and discuss sections of eBooks with other users. . .”. The mashups that invoke Readmill are gradually moving from the “Social” domain to the “Book” domain, indicating that the social environment of Readmill is gradually evolving from “Social” to “Books”.
(3) Representation Gaps between Services and Requirements: There is a large gap between services and requirements representation, often overlooked in existing approaches. The representation of requirements focuses on the functionality and value that the constructed mashup can provide to the user and is accompanied by an extensive domain vocabulary. In contrast, the representation of services is more freedom. Services can be described using natural language text, but they may describe their performance and input/output format in a technical-oriented language style. Services can also be represented using a set of properties, such as QoS, popularity. For example, QuickMocker222https://www.programmableweb.com/mashup/quickmocker is a mashup where the requirement it satisfied is described as “QuickMocker is an online API tool that allows to create your own public domain and a fake web services…”. While its component service Mocky333https://www.programmableweb.com/api/mocky are described as “Mocky is available as a web console, downloadable software, or REST API. The API version of the service accepts calls issued in JSON and JSONP. The Mocky website is available in English, French, and Portuguese”. These representation gaps make services and requirements exist in different semantic spaces. The arbitrary mixing of features in two different spaces in existing methods can significantly affect the performance of recommendations.

This paper proposes a dynamic representation learning and aligning based model called DySR to solve the three challenges mentioned above. Fig. 1 shows how the innovation modules in DySR address the challenges mentioned above, where Learnable Transformation Function, Evolving Representation of Service, and Requirement-Service Matching Function are used to address Representation Gaps, Evolving Service Social, and Cold Start, respectively. In aadition, Joint Learning & GAN-style Training is used to combine the other three modules so that they can provide complementary information to each other:
-
1.
Learnable Transformation Function: We propose a learnable transformation function that aligns the representation of requirements to the semantic space where the representation of services resides, thus eliminating the representation gap between requirements and services.
-
2.
Evolving Representation of Service: We form a dynamically evolving graph of services based on co-invocation relations. Then we perform dynamic representation learning on this dynamic graph to obtain a dynamic representation of the services to solve evolving service social environment.
-
3.
Requirement-Service Matching Function: We introduce a learnable function called the requirement-service matching function to evaluate the probability of an invocation between a given requirement and a service. This function works with only the aligned representation of the requirements and services and does not require other information (e.g., known component service, historical usage). Thus the cold start of mashups and the cold start of services are solved at the same time.
-
4.
Joint Learning & GAN-style Training: DySR models the influence mechanism of service and requirement by jointly learning the dynamic representation learning task of services and service recommendation task. A Generative Adversarial Network (GAN)[13] like training approach is also proposed to model the process of requirement-induced service evolution and service evolution reacting to requirement, unlike GAN, where the two tasks are not adversarial but cooperative.
Besides the proposed DySR model, the contributions of this paper also include: 1) We provide an in-depth analysis of the issues that have not been sufficiently discussed in real-world service recommendation scenarios; 2) We have conducted extensive experiments on the real-world dataset ProgrammableWeb, which shows that our proposed model significantly outperforms several state-of-the-art approaches in terms of recommendation performance; 3) We have also constructed additional experiments to discuss the effects of the different components of DySR.
The remainder of this paper is organized as follows: In Section II, we introduce related work. In Section III, we describe relevant details of the DySR model. In Section IV, we give the details of the experiment settings. In Section V, we present the experiment results and discuss how DySR works. In the final section, we present the conclusion.
II Related Work
The use of service bundle recommendations to satisfy the requirements of users creating new mashups has recently attracted a great deal of academic and industrial attention. Service recommendation approaches can be divided into the following categories based on the information used: NLP-based approaches, graph-based approaches, and hybrid approaches.
II-A NLP-based Approaches
The main idea of NLP-based approaches is to make recommendations by measuring the similarity between the description of the candidate services and the requirement. Keywords[14, 15] and TF-IDF[16] are used to match services to satisfy mashup creation. However, these matching procedures cannot really understand semantic and suffer from poor performance.
Ontology-based approaches annotate requirements and services with domain ontologies and use these ontologies to match high-level concepts or calculate their semantic similarities[17, 18, 19]. However, the lack of suitable domain ontologies and the huge manual annotation cost of ontology construction make ontology-based approaches difficult to use in real-world scenarios. Some studies attempt to use latent semantics to denote text features. Currently, the most common technique used to solve this problem in the field of service computing is the topic model[4, 10]. For example, Li et al. [20] use a topic model to explore the semantic relationships between mashups and services. Zhong et al. [21] refactor descriptions by using Author-Topic Model [22] to eliminate the gaps between mashups and services. However, small data volumes, high noise in data, and ignoring word orders make the performance of topic model-based methods unsatisfactory; for example, the recent SOTA method [10] based on topic models has an value of only about 30% on the ProgrammableWeb dataset. With the great success of pre-trained language models (PLMs) and deep learning models in the NLP, some researchers start using PLMs and deep learning to solve the service recommendation problem. For example, Bai et al. [23] designed a stacked denoising autoencoder (SADE) to extract features for the recommendation. However, experimental results show that the simple introduction of PLMs and deep learning does not significantly improve recommendation performance, possibly due to the inability of existing models to directly adapt to service recommendation and negative transfer [24].
The major drawback of the NLP-based approaches is the inability to leverage the social information between services, leading to recommended service bundles with combinations of services that cannot co-occur due to real-world constraints, despite being functionally compatible.
II-B Graph-based Approaches
Unlike NLP-based approaches, graph-based approaches make recommendations by mining information from historical interaction between services or requirements (users). For example, [25, 5, 26] design recommendation algorithms based on the feature learned on knowledge graph.
The graph-based approach usually works in conjunction with collaborative filtering (CF). For example, Chen et al. [27, 28] propose a neighborhood integrated matrix factorization approach to predict the quality of service (QoS) of candidate services. Chang et al. [6] designed a graph-based matrix factorization approach to predict QoS, then use the QoS to select services. Besides predicting QoS, graph is also applied to find similar users or services. For example, Maardji et al. [29] proposes a frequent pair mining method for mashup development. Qi et al. [30] adopts a hybrid random walk to compute the similarities between users or services, and a CF model is designed for service recommendation. [31, 32] build a heterogeneous information network using various information of services and mashups to measure the similarity between mashups, and then use the user-based CF to ranking candidate services.
Graph-based approaches cannot solve the cold start problem, as new requirements do not have any historical information.
II-C Hybrid Approaches
Considering the complementarity of textual and graph information, a number of hybrid service recommendation approaches combining the two types of data have been proposed in recent years.
Li et al. [20] add the invocation relations between requirements and services to a latent Dirichlet allocation (LDA) model to enable the topic model learn the relationship between services and requirements, . [8, 16] incorporates data structure made up of service and their co-invocation records into LDA. Jain et al. [33] and Samanta et al. [34] use topic models and neighbor interaction probabilities to calculate similarity scores between services and requirements, then multiply these scores to rank candidate services.
Deep learning-based approaches are becoming the mainstream of hybrid methods. For example, Xiong et al. [35] integrates the invocation relations between services and requirements as well as their description similarity into a deep neural network (DNN). Chen et al. [36] propose a preference-based neural collaborative filtering[37] recommendation model, which uses multi-layer perceptron to capture the non-linear user-item relationships and obtain abstract data representation from sparse vectors. Ma et al. [9] utilize the powerful representation learning abilities provided by deep learning to extract textual features and features from various types of interactions between mashups and services. Wu et al. [38] propose a neural framework based on multi-model fusion and multi-task learning, whiche exploits a semantic component to generate representations of requirements and introduces a feature interaction component to model the feature interaction between mashups and services.
Although the hybrid approach is a significant improvement over the NLP-based approaches and graph-based approaches, the current SOTA approach[9] still has an F1@5 value below 40% on the ProgrammableWeb dataset. This is mainly caused by ignoring the difference in representation between services and requirements and the evolving service social environment. The DySR model proposed in this paper is a hybrid approach that achieves values close to 70% on the ProgrammableWeb dataset by tackling the representation gap and service evolution.
III Dynamic Representation Learning and Aligning based Model
Notion | Description |
Requirement | |
Service | |
Timestamp | |
The latent representation of requirement | |
The set of all services latent representation updated after time | |
The representation of service being updated after a co-invocation event involving at time | |
Most recently updated latent representation of service just before | |
Transformation function used for align representation of requirements and services | |
Requirement-Service matching Function | |
The probability of being a component service of at time | |
The set of trainable parameters in the unsupervised learning module | |
Temporary attention matrix at time t | |
Service-Service co-invocation adjacency matrix at time | |
Conditional intensity between and at time | |
denotes a co-invocation event involving and at time |
In this section, we introduce the details of the DySR model. In Section III-A we first explain the joint learning framework of DySR. Next, we detail two main subtasks in DySR, supervised service recommendation task and unsupervised evolving service representation task,in Section III-B and Section III-C, respectively. Finally, in Section III-D we describe the GAN-style training process. Table I list frequently-used notions in this section and their meanings.
III-A Overall Framework

As shown in Fig. 2, the proposed DySR model consists of two subtasks: a supervised service bundle recommendation task and an unsupervised evolving service representation task. The service recommendation subtask is used to satisfy our need to recommend suitable services for a new requirement, and this task is used in both the training and inference stage of the DySR model. The representation gaps between requirement and service are eliminated, and the requirement-service matching function is learned in this subtask. The evolving service representation subtask is used to solve the service evolving problem. It is a supplementary task to the service recommendation subtask and is used to provide a suitable service representation for service bundle recommendation, so it will only be used in the training stage of the DySR model.
During the training stage, the input of DySR model is a requirement that is satisfied at historical time by a set of component services , which is used in the supervised task as ground truth. And a set of co-invocation event is generated from as the training samples of the unsupervised task. While in the inference stage, the input of DySR model is a requirement , and the output is a set of recommended component services .
III-B Supervised Service Bundle Recommendation
For a requirement at time , we denote the latent representation as , a dense vector obtained by a certain encoding method (e.g. text encoding using pre-trained language model), where is the dimension of the requirement’s latent representation. We use to denote the recently updated latent representation of candidate service just before , where is the dimension of each service’s latent representation. And is all candidate services latent representation. The obtaining of is discussed in detail in Section III-C.
III-B1 Transformation Function

As we state in Section I, a key problem in real-world service recommendation is to eliminate the gap between requirement representations and service representations. Transformation function can be learned to align the representation space to solve this problem, and the overall idea is illustrated in Fig. 3.
In this paper, we use affine transformation[39] to implement the transformation function :
(1) |
where is affine transformation matrix and is translation vector. The main advantage of affine transformation is preserves collinearity and ratios of distance, which means that similar requirement remain similar after affine transformation.
III-B2 Requirement-Service Matching Function
After transforming the requirement representation into the same semantic space of the service representations. We designed a requirement-service matching function that first fuses the representations of requirement and candidate service under the same semantic space and then outputs the probability that is a component service of at time , :
(2) |
where is vector transpose operation and is a trainable parameter. Since we want to know the probability, we adopt a sigmoid activation function in the output the requirement-service matching function:
(3) |
III-B3 Loss Function
For a given requirement with component services at time , we minimize the following loss function:
(4) |
where denotes whether is a component service of at time , and denotes a set of negative samples with services that are not component services of at time . Usually, a requirement is satisfied using a limited number of services, but the number of candidate services is much larger than the number of services required. So it is not appropriate to use all unselected services as negative samples, and we select negative samples of number by random sampling.
III-C Unsupervised Evolving Service Representation
Unlike existing approaches that maintain a requirement-service invocation graph, DySR only needs to maintain a dynamic service co-invocation graph, which is more practical:
-
•
Compared to services, requirements are one-off and grows rapidly in volume, making the requirement-service invocation graph very large and sparse over time. On the one hand, this does not facilitate the extraction of information, and on the other hand, requires more expensive hardware resources.
-
•
Requirements are usually created by users, which may involve privacy and security issues. For example, users may not want their requirements to be available to other users. Service co-invocation graph can solve this problem, as it only records co-invocations between services but not specific requirement content.
The service co-invocation graph can be represented as a dynamic adjacency matrix , where is the set of services at time , and is the number of times service and have been co-invoked before time . The phenomenon of service evolution can be reflected by the evolution of the service co-invocation graph, which can be seen as a co-invocation event-driven temporal point process. We use to represent a co-invocation event, which means and are co-invoked at time .
We use a variant of the DyRep[40] model to learn the service representation on a dynamic service co-invocation graph. For a given co-invocation event , the main training steps consist of the following:
III-C1 Service Representation Update
When an co-invocation event occurs, the representation of participating service is updated based on the three terms of Self-propagation, Exogenous Drive and Attention-based Aggregation. Specially, for an event of service at time , updating as:
(5) |
where , and are learned parameters used to control the effect of above-mentioned three terms on the computation of service representation, respectively. is a nonlinear function. is the previous representation of service . denotes the time point just before current event time and represent the time point of last co-invocation event involved . is the output representation obtained from the aggregation of service ’s neighbors :
(6) |
where is learned parameters. Temporal attention is used to control the amount of information propagated from service ’s neighbors, which is updated by a hard-coded algorithm 1 adopted from DyRep[40].
Conditional intensity modes the occurrence of co-invocation between and at time :
(7) |
where is trainable scalar parameter, which denotes the rate of events arising from a point process, and is designed to learn time-scale specific compatibility. denotes concatenation.
III-C2 Loss Function
For a given set of co-invocation events, we learn parameters by minimizing the following loss function:
(8) |
where is the total negative log of the intensity rate for all co-invocation events between service and service ; represent total survival probability for co-invocation events that do not happen. It is intractable to compute all non-positive nonevent, we use Monte Carlo method to sample a subset to compute this term, with following [40] setting .
III-D GAN-style training step
To model the process that requirements trigger service evolution and that service evolution reacting the selection of services by requirements, we adopt a GAN-style training step. Specifically, we use two independent Adam optimizers[41] and to optimize the parameters in the supervised service recommendation task and parameters in the unsupervised evolving service representation task. It is also important to note that we perform supervised task optimization for each batch of samples before unsupervised task optimization. . The pseudo-code for the GAN-style training algorithm is given in Algorithm 2.
IV Experiment Settings
IV-A Dataset & Metrics
We evaluate the proposed DySR model on the real-world ProgrammableWeb dataset, which is also the dataset used in existing service recommendation studies.
ProgrammableWeb: The dataset is the largest online Web service registry. We collected a total of 23,520 APIs and 7,947 mashups on Oct 10, 2020. The mashups without functional description, the services that have not been invoked, and the mashups with fewer than two component services were removed. The experimental dataset contains 3,380 mashups, whose functional descriptions are used as requirements, and 720 APIs. We sorted the mashups by when they were created, and we initialize the adjacency matrix using the co-invocations from the earliest mashups. The next mashups are used as the training set, and the remaining mashups are used as the test set.
We adopted the following evaluation metrics to measure the recommendation performance:
(9) |
(10) |
(11) |
where is the set of requirements in the test set and denotes the size of . For requirement , is the recommended services, while is its actual component services.
IV-B Implementation Details
We use bert-base-uncased provided by Transformers[42] to obtain requirement representation with the dimension set to , and it should be noted that we do not do fine-tune on bert-base-uncased. Service representations are initialized by a Word2Vec[43] word embedding trained on text8444http://mattmahoney.net/dc/text8.zip. We use the two different pre-trained language models to reflect the representation gap between requirement and service. It should be noted that the initial representation of the service in the DySR model can theoretically be obtained using other information or in a random way. We implement a DySR variant called DySR-Rand, which does not need any prior knowledge of service and uses a randomly initialized representation of the service.
Gradient clipping is used in to avoid gradient explosion, and the clipping value is set to . We do not use dropout, and batch size is set to . We conduct five independent experiments for each approach to preventing serendipity, and early-stop is applied to avoid over-fitting. All the results reported are average results.



IV-C Baselines
To evaluate the effectiveness of model, we select five state-of-the-art service recommendation approaches:
-
1.
AFUP[33]: This approach first leverage probabilistic topic models to compute relevance between a service and a given requirement. description. And then use collaborative filtering to estimate the probability of a service being used by existing similar requirements. Finally, the multiplies these two term based on Baye’s theorem to rank candidates service.
-
2.
SFTN[34]: This approach extend AFUP by using hierarchical dirichlet process (HDP) and probabilistic matrix factorization (PMF) to tackle cold start issues and usage history.
-
3.
PNCF[36]: This approach use multi-layer perceptron to capture the non-linear user-item relationships and obtain abstract data representation from sparse vectors. However, text features were not considered in their original version, so we constructed two variants: PNCF-HDP using HDP adopted in SFTN to obtain text features, and PNCF-Deep using a pre-trained language model to obtain text features.
-
4.
MISR[9]: This approach propose a deep neural network that can captures multiplex interactions between services and requirements to extract hidden structures and features for better recommendation performance.
It should be noted that most baselines do not provide official code, and we can only reproduce it as described in their papers. In some cases, we were not able to reproduce the results they reported, possibly due to different ways of dividing the dataset and missing important parameter values. In these cases, we chose to directly compare the results reported in [9].
V Results & Discussion
V-A Overview
In this section, we give an overview performance comparison between our proposed DySR and baseline approaches. Fig. 4 shows the performance comparison of different approaches, showing that the DySR and DySR-Rand outperform all the five baselines across all evaluation metrics.
The AFUP and PNCF-HDP performed the worst of all the baselines for the following two main reasons: 1) They use a topic model to extract service/requirement representation from the description text, which ignores the order of words and further leads to lost semantic information; 2) Rough handling of service historical usage information. The introduction of probabilistic matrix factorization allows SFTN to handle historical usage information somewhat better, but the poor service/requirement representations obtained by the topic model remain limiting to its performance. The PNCF-Deep and MISR perform better than the other baselines because they use a pre-trained language model to obtain better representations of the services/requirements. In addition, MISR performs the best of all the benchmark methods because it takes into account multiple types of interactions between services and requirements.
Although DySR-Rand does not require any a priori knowledge of the service. DySR-Rand obtains competitive results with DySR, which shows that our proposed model is well suited to eliminate the gap between requirements and services.
DySR and DySR-Rand require less information than the baselines, while their performance is significantly better than all baselines. For example, all baselines need to maintain a requirement-service invocation matrix, while DySR only needs to maintain a small-scale service co-invocation matrix, and MISR additionally requires the tags of the service and historical requirements, which are not needed in DySR. Compared to the best performing baseline approach MISR, which requires the most information, DySR (DySR-Rand) improves the , and metrics by 28.4% (25.8%), 34.1% (30%) and 33.2% (30%), respectively. The performance improvements mainly benefit from evolving service representation and transformation function that allows the use of time information and the acquisition of better representation of services and requirements in same vector space.



V-B Ablation Study & Qualitative Performance
DySR unifies several components that contribute to its effectiveness in service recommendation. In this section, we provide insights on evolving service representation component and transformation component and how they are indispensable to the service recommendation by performing an ablation study on various design choices of DySR. We designed the following variants of DySR for comparison:
-
•
DySR-Static: In this variant, we do not perform unsupervised evolving service representation tasks so that the service representation remains initialised, i.e. .
-
•
DySR-Space: In this variant, we turn off transformation function (Eq. 1) and directly use the original requirement representation and the dynamic service representation as inputs to the requirement-service matching function (Eq. 2). The dimension of the corresponding requirement-service matching matrix sets to .
-
•
DySR-None: In this variant, we do not perform unsupervised evolving service representation task and turn off transformation function.
The comparison among the variants of our approach is shown in Fig. 5. Both DySR-Space and DySR-Static outperform DySR-None on , and , suggesting that evolving service representation and transformation function do contribute to the recommended performance. DySR outperforms DySR-Space and DySR-static indicating that evolving service representation and transformation function are complementary.


We conduct a series of qualitative analyses to understand how evolving service representation and transformation function contribute to recommendation performances. We first compare our evolving service representation against the static content-based service representation. Fig. 6 shows the UMAP[44] embeddings leaned by DySR (right) and initialised by service function description. The visualization demonstrates the evolving service representation have more discriminative power as it can effective capture the distinctive and evolving patterns of service combinations (line clusters in Fig. 6(b)) as well as outdated sets of services (block clusters in Fig. 6(b)) with empirical evidence.




Fig. 7 explains how DySR eliminates the representation gap between service and requirement. Fig. 7(a) demonstrates the gap between the representation of requirements and the representation of service that we stated in Section I. Compared with Fig. 7(a), the requirement representation space is much closer to the space of service representation in Fig 7(b), which shows that the transformation function in DySR does eliminate the difference between requirement and service representations to some extent. The same conclusion can be obtained by comparing Fig. 7(c) and Fig. 7(d). Fig. 7(c) and Fig. 7(d) can also illustrate that evolving service representations reduce the probability of selecting outdated services by moving them away from requirement representation space thereby improving recommendation performance.
VI Conclusion
In this paper, we propose an end-to-end deep learning model called DySR for cold-start service recommendations. DySR solves the service evolution problem by introducing evolving service representation, eliminating the gap between services and requirements through transformation functions, and solving the cold start problem through a requirement-service matching function. Experiments on a real-world dataset demonstrated that the proposed approach significantly outperforms several state-of-the-art service recommendation methods regarding three evaluation metrics. In future work, we will try to show theoretically why evolving service representation and space alignment have an impact on service performance.
Acknowledgment
The research in this paper is partially supported by the National Key Research and Development Program of China (No 2018YFB1402500) and the National Science Foundation of China (61772155, 61832004, 61802089, 61832014).
References
- [1] W. Zhaohui, D. Shuiguang, and W. Jian, “Chapter 6 - service recommendation service computing,” W. Zhaohui, D. Shuiguang, and W. Jian, Eds. Boston: Academic Press, 2015, pp. 133–176.
- [2] S. Faieq, A. Front, R. Saidi, H. El Ghazi, and M. D. Rahmani, “A context-aware recommendation-based system for service composition in smart environments,” Service Oriented Computing and Applications, vol. 13, no. 4, p. 341–355, 2019.
- [3] Y. Lei, Z. Jiantao, Z. Junxing, W. Fengqi, and W. Juan, “Time-aware semantic web service recommendation,” in 2015 IEEE International Conference on Services Computing, 2015, pp. 664–671.
- [4] C. Lin, A. Kalia, J. Xiao, M. Vukovic, and N. Anerousis, “Nl2api: A framework for bootstrapping service recommendation using natural language queries,” in 2018 IEEE International Conference on Web Services (ICWS), 2018, pp. 235–242.
- [5] S. Hu, Z. Tu, Z. Wang, and X. Xu, “A poi-sensitive knowledge graph based service recommendation method,” in 2019 IEEE International Conference on Services Computing (SCC), 2019, pp. 197–201.
- [6] Z. Chang, D. Ding, and Y. Xia, “A graph-based qos prediction approach for web service recommendation,” Applied Intelligence, pp. 1–15, 2021.
- [7] Z. Cao, X. Qiao, S. Jiang, and X. Zhang, “An efficient knowledge-graph-based web service recommendation algorithm,” Symmetry, vol. 11, no. 3, p. 392, 2019.
- [8] Z. Gao, Y. Fan, C. Wu, W. Tan, J. Zhang, Y. Ni, B. Bai, and S. Chen, “Seco-lda: Mining service co-occurrence topics for recommendation,” in 2016 IEEE International Conference on Web Services (ICWS), 2016, pp. 25–32.
- [9] Y. Ma, X. Geng, and J. Wang, “A deep neural network with multiplex interactions for cold-start service recommendation,” IEEE Transactions on Engineering Management, vol. 68, no. 1, p. 105–119, 2021.
- [10] Q. Gu, J. Cao, and Y. Liu, “Csbr: A compositional semantics-based service bundle recommendation approach for mashup development,” IEEE Transactions on Services Computing, 2021.
- [11] Z. Wang, M. Liu, Z. Tu, and X. Xu, “External service sensing (ess): Research framework, challenges and opportunities,” 2021.
- [12] B. Bai, Y. Fan, W. Tan, and J. Zhang, “Sr-lda: Mining effective representations for generating service ecosystem knowledge maps,” in 2017 IEEE International Conference on Services Computing (SCC). IEEE, 2017, pp. 124–131.
- [13] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, X. Bing, and Y. Bengio, “Generative adversarial nets,” MIT Press, 2014.
- [14] Q. He, R. Zhou, X. Zhang, Y. Wang, D. Ye, F. Chen, J. C. Grundy, and Y. Yang, “Keyword search for building service-based systems,” IEEE Transactions on Software Engineering, vol. 43, no. 7, pp. 658–674, 2016.
- [15] Q. He, R. Zhou, X. Zhang, Y. Wang, D. Ye, F. Chen, S. Chen, J. Grundy, and Y. Yang, “Efficient keyword search for building service-based systems based on dynamic programming,” in International Conference on Service-Oriented Computing. Springer, 2017, pp. 462–470.
- [16] B. Xia, Y. Fan, W. Tan, K. Huang, J. Zhang, and C. Wu, “Category-aware api clustering and distributed recommendation for automatic mashup creation,” IEEE Transactions on Services Computing, vol. 8, no. 5, pp. 674–687, 2014.
- [17] M. Al-Hassan, H. Lu, and J. Lu, “A semantic enhanced hybrid recommendation approach: A case study of e-government tourism service recommendation system,” Decision Support Systems, vol. 72, pp. 97–109, 2015.
- [18] N. Karthikeyan, R. K. RS et al., “Fuzzy service conceptual ontology system for cloud service recommendation,” Computers & Electrical Engineering, vol. 69, pp. 435–446, 2018.
- [19] R. A. Rupasingha and I. Paik, “Alleviating sparsity by specificity-aware ontology-based clustering for improving web service recommendation,” IEEJ Transactions on Electrical and Electronic Engineering, vol. 14, no. 10, pp. 1507–1517, 2019.
- [20] C. Li, R. Zhang, J. Huai, and H. Sun, “A novel approach for api recommendation in mashup development,” in 2014 IEEE International Conference on Web Services. IEEE, 2014, pp. 289–296.
- [21] Y. Zhong, Y. Fan, W. Tan, and J. Zhang, “Web service recommendation with reconstructed profile from mashup descriptions,” IEEE Transactions on Automation Science and Engineering, vol. 15, no. 2, pp. 468–478, 2016.
- [22] M. Rosen-Zvi, T. Griffiths, M. Steyvers, and P. Smyth, “The author-topic model for authors and documents,” arXiv preprint arXiv:1207.4169, 2012.
- [23] B. Bai, Y. Fan, W. Tan, and J. Zhang, “Dltsr: A deep learning framework for recommendations of long-tail web services,” IEEE Transactions on Services Computing, vol. 13, no. 1, pp. 73–85, 2017.
- [24] Z. Wang, Z. Dai, B. Póczos, and J. Carbonell, “Characterizing and avoiding negative transfer,” in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019, pp. 11 293–11 302.
- [25] H. Wang, Z. Wang, S. Hu, X. Xu, S. Chen, and Z. Tu, “Duskg: A fine-grained knowledge graph for effective personalized service recommendation,” Future Generation Computer Systems, vol. 100, pp. 600–617, 2019.
- [26] H. Mezni, D. Benslimane, and L. Bellatreche, “Context-aware service recommendation based on knowledge graph embedding,” IEEE Transactions on Knowledge and Data Engineering, 2021.
- [27] Z. Zheng, H. Ma, M. R. Lyu, and I. King, “Collaborative web service qos prediction via neighborhood integrated matrix factorization,” IEEE Transactions on Services Computing, vol. 6, no. 3, pp. 289–299, 2012.
- [28] X. Chen, X. Liu, Z. Huang, and H. Sun, “Regionknn: A scalable hybrid collaborative filtering algorithm for personalized web service recommendation,” in 2010 IEEE international conference on web services. IEEE, 2010, pp. 9–16.
- [29] A. Maaradji, H. Hacid, R. Skraba, and A. Vakali, “Social web mashups full completion via frequent sequence mining,” in 2011 IEEE World Congress on Services. IEEE, 2011, pp. 9–16.
- [30] L. Qi, Z. Zhou, J. Yu, and Q. Liu, “Data-sparsity tolerant web service recommendation approach based on improved collaborative filtering,” IEICE TRANSACTIONS on Information and Systems, vol. 100, no. 9, pp. 2092–2099, 2017.
- [31] F. Xie, J. Wang, R. Xiong, N. Zhang, Y. Ma, and K. He, “An integrated service recommendation approach for service-based system development,” Expert Systems With Applications, vol. 123, pp. 178–194, 2019.
- [32] T. Liang, L. Chen, J. Wu, H. Dong, and A. Bouguettaya, “Meta-path based service recommendation in heterogeneous information networks,” in International Conference on Service-Oriented Computing. Springer, 2016, pp. 371–386.
- [33] A. Jain, X. Liu, and Q. Yu, “Aggregating functionality, use history, and popularity of apis to recommend mashup creation,” in International Conference on Service-Oriented Computing. Springer, 2015, pp. 188–202.
- [34] P. Samanta and X. Liu, “Recommending services for new mashups through service factors and top-k neighbors,” in 2017 IEEE International Conference on Web Services (ICWS), 2017, pp. 381–388.
- [35] R. Xiong, J. Wang, N. Zhang, and Y. Ma, “Deep hybrid collaborative filtering for web service recommendation,” Expert systems with Applications, vol. 110, pp. 191–205, 2018.
- [36] L. Chen, A. Zheng, Y. Feng, F. Xie, and Z. Zheng, “Software service recommendation base on collaborative filtering neural network model,” in International Conference on Service-Oriented Computing. Springer, 2018, pp. 388–403.
- [37] X. He, L. Liao, H. Zhang, L. Nie, X. Hu, and T.-S. Chua, “Neural collaborative filtering,” in Proceedings of the 26th international conference on world wide web, 2017, pp. 173–182.
- [38] H. Wu, Y. Duan, K. Yue, and L. Zhang, “Mashup-oriented web api recommendation via multi-model fusion and multi-task learning,” IEEE Transactions on Services Computing, pp. 1–1, 2021.
- [39] I. E. Rube, “Affine transformation,” Introduction to Geometric Computing, vol. 94, no. 3, pp. 473–481, 2016.
- [40] Dyrep: Learning representations over dynamic graphs, vol. International Conference on Learning Representations. OpenReview.net, 2019.
- [41] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” in 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings, Y. Bengio and Y. LeCun, Eds., 2015. [Online]. Available: http://arxiv.org/abs/1412.6980
- [42] T. Wolf, L. Debut, V. Sanh, J. Chaumond, C. Delangue, A. Moi, P. Cistac, T. Rault, R. Louf, M. Funtowicz, J. Davison, S. Shleifer, P. von Platen, C. Ma, Y. Jernite, J. Plu, C. Xu, T. L. Scao, S. Gugger, M. Drame, Q. Lhoest, and A. M. Rush, “Transformers: State-of-the-art natural language processing,” in 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. ACL, 2020, pp. 38–45.
- [43] T. Mikolov, K. Chen, G. Corrado, and J. Dean, “Efficient estimation of word representations in vector space,” 2013.
- [44] L. McInnes, J. Healy, N. Saul, and L. Grossberger, “Umap: Uniform manifold approximation and projection,” The Journal of Open Source Software, vol. 3, no. 29, p. 861, 2018.
![]() |
Mingyi Liu received his B.S. degree from the School of Computer Science and Technology, Harbin Institute of Technology in 2018. He is currently pursuing the Ph.D. degree in software engineering at Harbin Institute of Technology (HIT), China. His research interests include service ecosystem model, service evolution analysis, data mining and knowledge graph. |
![]() |
Zhiying Tu is an associate professor of the School of Computer Science and Technology at Harbin Institute of Technology (HIT). He holds a PhD degree in Computer Integrated Manufacturing (Productique) from the University of Bordeaux. Since 2013, he start to work at HIT. His research interest are Service Computing, Enterprise Interoperability, and Cognitive Computing. He has 20 publications as edited books and proceedings, refereed book chapters, and refereed technical papers in journals and conferences. He is the member of IEEE Computer Society, and CCF China. |
![]() |
Xiaofei Xu is a professor or at School of Computer Science and Technology, and Vice President of Harbin Institute of Technology. He received the Ph.D. degree in computer science from Harbin Institute of Technology in 1988. His research interests include enterprise intelligent computing, services computing, Internet of services, and data mining. He is the Associate Chair of IFIP TC5 WG5.8, chair of INTEROP-VLab China Pole, Fellow of China Computer Federation (CCF), and the vice director of the technical committee of service computing of CCF. He is the author of more than 300 publications. He is member of the IEEE and ACM. |
![]() |
Zhongjie Wang is a professor at School of Computer Science and Technology, Harbin Institute of Technology (HIT). He received the Ph.D. degree in computer science from Harbin Institute of Technology in 2006. His research interests include services computing, mobile and social networking services, and software architecture. He is the author of more than 40 publications. He is a member of the IEEE. |