0% found this document useful (0 votes)
4 views

Regularizing Matrix Factorization With Implicit User Preference

Uploaded by

Rama Thulasi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Regularizing Matrix Factorization With Implicit User Preference

Uploaded by

Rama Thulasi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

2019 IEEE International Conference on Services Computing (SCC)

Regularizing Matrix Factorization with Implicit User Preference


Embeddings for Web API Recommendation
Kenneth K. Fletcher
Computer Science Department
University of Massachusetts Boston
Boston, USA
kenneth.fl[email protected]

Abstract— Mashups have emerged as a popular technique, mashup developers with relevant web APIs to satisfy a
which composes value-added web services/APIs, to realize some mashup requirement.
complicated business needs. The rapid increase in the number The application of most traditional service recommender
of similarly functional web APIs, makes it challenging to
find relevant ones for mashup development. Recommender systems to web API recommendation is limited, because they
systems have become highly important, because they reduce the lack some quality of service information and formal semantic
myriad of web APIs, during web API selection. Most existing specification, specific to web API recommendation [4]. On
web API recommender systems, however, neglect the implicit the other hand, there are few existing works that have
user preferences, to personalize and precisely recommend web proposed methods specific to web API recommendation.
APIs to mashup developers. It is for this reason, that this
work proposes a method, which considers both explicit and These methods are based on: (1) content similarity and topic
implicit user personalized preferences to make personalized modeling [5] [6] [7] [8] [9], (2) finding some relationship
web API recommendations, while improving recommendation between mashups and web API invocation [4] [6] [7] or (3)
accuracy and diversity. Specifically, we propose a regularized exploiting various features such as web API description, tags,
user preference embedded matrix factorization method, to popularity and usage history to improve recommendation
personalize recommendations. We take advantage of users’
implicit personalized preferences, which are obtained from their accuracy [5] [7] [10] [11] [12] [13]. Regardless, these
interactions (i.e. invoking or following) with web APIs and existing recommender systems are incapable of personalizing
other users in the system. We demonstrate the effectiveness web API recommendation due to their disregard of implicit
of our method by conducting extensive experiments on a real- user preferences. Implicit user preferences offer rich API
world dataset crawled from www.programmableweb.com1 . We invocation history, thereby providing better recommendation
also compare our method with some baseline recommendation
methods for verification. diversity. Although users’ implicit preferences are challeng-
Index Terms— Web API Recommendation, Matrix Factoriza- ing to model, they can be inferred from their interactions
tion, User Preference Embeddings; Mashup Development with web APIs directly by either invoking or following
them or indirectly by following other users in the system.
I. I NTRODUCTION In this paper, we utilize these interactions, and propose a
The emergence of rapid web development techniques method to improve the diversity and accuracy of web API
has seen very complex user requirements for various web recommendation for mashup development. Different from
applications, yet the functions of existing web APIs are most existing methods [4]−[6][7][10]−[13], our proposed
unable to respond to such complex needs [1]. Mashups rep- method incorporates implicit user preferences by exploring
resent a type of lightweight Web applications that compose the different interactions users have with web APIs and
several existing Web APIs or services in an agile manner, other users in the system. In addition, inspired by the recent
to meet users’ complex application needs [2]. Consequently, success of word embedding techniques in natural language
several online mashups and web APIs repositories, such as processing, if we consider two users as pairs of words, we
www.programmableweb.com, have been established. In these can apply word embedding to learn the latent representations
repositories, there are a large number of published web APIs, of those users. Since our proposed method is based on
from which users can compose, to create mashup solution for collaborative filtering, the accuracy is largely dependent on
completing users needs. For instance, over the past few years, the availability of rich API invocation history. Therefore,
the number of web APIs on www.programmableweb.com has by incorporating the latent representations of users into
increased rapidly by almost 300% to 19,669, belonging to weighted matrix factorization, the proposed method ensures
more than 400 predefined categories, as at October 2018 [3]. improved recommendation accuracy and diversity.
With this much web APIs, mashup developers are now faced Typically, the web API invocation history, which existing
with the challenge of selecting web APIs due to the presence recommender systems exploit, are very sparse leading to poor
of abundant options having similar functionality. Therefore API recommendations [4] [6]. However, an experimental
there is the need for recommendation techniques to present study performed (see Section II-A) shows that users’ implicit
preferences are revealed in their interactions with asset (web
1 www.programmableweb.com APIs and mashups) and other users as well. For this reason,

2474-2473/19/$31.00 ©2019 IEEE 1


DOI 10.1109/SCC.2019.00014
TABLE I: Statistical Information of the Datset
Item Type Number
Number of Web APIs 17, 564
Number of Mashups 6, 270
Number of User Profiles 87, 857
User-Web API Invocation Matrix Density 2.2159 × 10−6
User-Web API Interaction Matrix Density 1.1417 × 10−5

able to the research community for future studies.


The rest of this paper is organized as follows: In section
Fig. 1: Users interactions scenario with assets (web APIs and II, we give some background information about users inter-
mashups) and other users on www.programmableweb.com actions with web APIs and matrix factorization. We present
our proposed method in detail in section III, followed by our
experiments, evaluations and results analysis in section IV. In
section V we discuss some of the current state-of-the-art web
our proposed method utilizes such interactions to enrich
API/service recommendation works. Finally, we conclude
the web API invocation history and ultimately, improve
our paper and discuss some directions for our future work
recommendation accuracy and diversity.
in section VI.
Figure 1 shows a typical scenario of users interactions on
www.programmableweb.com, one of the largest online web II. BACKGROUND
API repository, which we observed during our experimental
In this section we give some background information
study. There are two main assets in this repository, web APIs
relating to our proposed method. First, we analyze user inter-
and mashups. Users interact with these assets in various
actions with respect to web API invocation. We subsequently
ways, yet the most commonly used by existing works is
give a brief description of matrix factorization.
API invocation. Very few web APIs are invoked by users,
which makes user-web API matrix very sparse. Besides, A. Experimental Study
there are other ways that users interact with web APIs;
We study one of the popular online web APIs and mashups
directly, by following a web API or indirectly by following
repository, www.programmableweb.com, which is by far the
another user. Take user3 for instance, although she has
largest online web APIs repository that contains over 19,000
invoked only 2 web APIs (AP I4 and AP I5 ), we argue
web APIs with various functionalities [3] [8]. We crawled
that she is interested (implicit preference) in APIs AP I3
web APIs, mashups and user profiles from this online web
and AP I6 because she is directly following them and also
API repository and analyzed both web API interactions and
APIs AP I1 , AP I2 and AP I7 because she is following user2
user interactions. Table I shows details of the crawled
and user4 who are directly following these web APIs. From
dataset. Each web API is described by fields such as an ID,
this reasoning, it becomes necessary to include this implicit
short description, primary and secondary categories, number
user interactions in web API recommender systems to enrich
of developers and followers, and much more. Similarly, for
web API invocation history for personalized recommendation
the mashup dataset, each mashup is described by an ID,
with high accuracy and diversity.
description, primary and secondary categories, related web
To sum up, the contributions of this work are in threefold: APIs, date mashup was created and so on.
1) We employ users implicit preferences, revealed in their We observed that user-web API invocation is very low, i.e.
interactions with web APIs, mashups and other users there are lots of web APIs that have not been invoked. This
to make personalized web API recommendations. we anticipate is the reason behind the very low user-web
2) We employ word embedding techniques in natural API invocation density of about 2.2 × 10−6 (see Table I).
language processing to embed the implicit user pref-
erences.
3) We propose a recommendation method that combines
matrix factorization and implicit user preference em-
beddings for web API recommendations. By incorpo-
rating the latent representations of users, from the user
embeddings, into matrix factorization, the proposed
method ensures improved recommendation accuracy
and diversity.
4) We crawled a collection of 17,564 web APIs, 6,270
mashups and 87,857 user profiles datasets from
www.programmableweb.com and conduct extensive
experiments to evaluate and validate our proposed Fig. 2: A choropleth world map showing the different loca-
method. These datasets are also publicly made avail- tions of users on www.programmableweb.com

2
In the same vein, we observed that user-web API interaction S and A share the same latent space to characterize the
density matrix was almost 20% denser than user-web API two entities. The recommendation can then be performed by
invocation density. inferring and ranking the missing values of entries based on
User profiles, as per our knowledge, have not been the lower dimensionality matrices, derived from the values
incorporated for web API and mashup recommender of observable entries.
systems. However, it is surprising to know that over
87,000 users from 96 different countries worldwide on III. P ROPOSED M ETHOD
www.programmableweb.com, which we employ in our pro-
This section first gives an overview of the proposed
posed method. Figure 2 shows a worldwide choropleth map
method and thereafter describes the main modules that drives
of users. Each user is described by an ID, location, web
our method. Figure 3 shows the overview of the proposed
API assets owned, mashup assets owned and list of followed
method.
assets and users. For a complete list of fields describing
The functional profile information of assets (web
each item in the datasets, please refer to our github dataset
APIs and mashups) and users are crawled from
repository. 2
www.programmableweb.com into a repository. We employ
this dataset to construct the user-web API relation matrix
B. Matrix Factorization from the historical invocation and user interactions. From
Matrix factorization is one of the widely used model-based this relations matrix, we retain only the invoked (this
collaborative filtering methods in recommender systems [14]. includes both invoked and followed) web APIs, as the
Although memory-based collaborative filtering methods are users’ implicit preferences. We then apply word embedding
simple and intuitive, our choice of employing matrix fac- techniques to enrich the users’ latent representations. We
torization is due to its ability to successfully discover the regularize matrix factorization by using the user preference
underlying latent features in the interactions between users embeddings and relation matrix.
and items. In addition, it has exceptional scalability and When a mashup developer submits their textual mashup
predictive accuracy. Given that historical data are often requirement, we identify the functionally similar web APIs
placed in a two-dimensional matrix; user dimension and using topic modeling techniques. We employ Hierarchical
item dimension, matrix factorization characterizes both users Dirichlet Process (HDP) [15] and Jensen-Shannon diver-
and items by vectors of factors inferred from the interaction gence [16] to obtain a list of web APIs matching the mashup
patterns between users and items, implied by the item-user developer’s requirements. We subsequently, use this to filter
matrix [4]. Basically, given a sparse user-API matrix M m×n , the list of web APIs to be recommended. This is handled by
matrix factorization decomposes M into a product of two the Requirement-Web API Similarity component in Figure 3.
lower dimensionality rectangular matrices, S m×k and An×k We do not discuss the details of this component because it
(i.e. M = S × AT ), where: is not the focus in this work.
• k is the number of dimensions and k < min(m, n),
A. Problem Definition
• S is the latent factor matrix of users, and
• A is the latent factor matrix of web APIs. Let U = {u1 , u2 , u3 , ..., um } be a set of user profiles and
W = {w1 , w2 , w3 , ..., wn } be a set of web APIs. We create
2 https://github.com/kkfletch/API-dataset-with-user-profiles
an interaction matrix, C ∈ Cm×n between each user and

Fig. 3: Overview of the proposed Regularized Matrix Factorization Method with User Preference Embeddings for Web API
Recommendation

3
web API, over a set of possible interactions R = {invoke | 3. Through user-to-user (indirect) interaction: a user u
f ollow | none}, such that: may indirectly interact with a web API w through other
R
users they follow. If a user u1 follows a user u2 , then we
Cu,w −
→ Intu×w | u ∈ U, w ∈ W (1) can deduce from such interaction that the two users, u1
where Int denotes the interaction and and u2 have some common assets (web API or mashup) of
 interest [18]. By this deduction, we can infer that at least one
0 if R = none web API that u2 has interacted with, by either creating or
cuw =
1 if otherwise following, align(s) with u1 ’s preferences. To identify which
We use matrix factorization to map users and web APIs into of u2 web APIs align(s) to u1 ’s preferences, three cases exist:
two lower dimension spaces as described in section II-B. Case 1: u1 invoked or followed at least one web API in
Let S T = (α1 , α2 , ..., αm ), where αu is the latent factor the past. In this case, we utilize functionality quality dimen-
vector of user u. Also, let AT = (β1 , β2 , ..., βn ), where βw sion [2] to infer which of u2 ’s web APIs are similar to u1 ’s
is the latent factor vector for web API w. We can estimate preferences. The functionality quality of a web API, which
the probability of a user u interacting with web API w as: a user has invoked or followed, reflects the user’s quality
preferences with respect to interoperability, compliance and
ĉuw = αu T βw (2) security. Given a web API w, we compute the functionality
quality F (w), based on a black box model related to the
We can subsequently learn both latent factor vectors αu and behavior of the web API in a given environment as:
βw by minimizing the L2 loss as:
1 |lg| |df | 3
1 F (w) = [(1 + + ) + 3cmp + sec] (4)
L = min huw (cuw − ĉuw )2 + 3 k l 5
S,A 2
u,w where lg and df are the languages and data formats supported
 m n
 (3)
1   by the web API, and cmp and sec are compliance and
2 2
λα  αu  +λβ  βw  security levels of the web API respectively [2].
2 u=1 w=1 Let W u1 = {w1u1 , w2u1 , ..., wpu1 } be the set of
web APIs that u1 has invoked or followed and
where hu,w is the weight of the interaction between user u
W u2 = {w1u2 , w2u2 , ..., wqu2 } also be the set of web APIs
and web API w. This is a hyperparameter to compensate the
that u2 has invoked or followed, such that W u1 , W u2 ∈ W .
interaction between user u and web API w and also balances
The set of web APIs that aligns with u1 ’s preferences, W u1
the number of non-zero and zero values in a sparse user-web
is given as:
API matrix [14]. λα and λβ are used to adjust 
the importance
of the regularization terms u  αu 2 and w  βw 2 . W u1 ={w : Sim(F (W u1 ), F (w)) ≥ γ}
(5)
B. User Embeddings and Interactions with Web APIs ∀w : w ∈ W u2
Word embeddings models, in recent times, have received where F (w) is the functionality of web API w, F (W u1 ) is
lots of attention from the research community. An example the average functionality of web APIs that u1 has invoked or
of such embedding methods is word2vec [17]. Typically, followed, which indicates u1 ’s preferences, γ is a threshold
given a sequence of words, word embedding techniques learn value for similarity values, and Sim(F (W u1 ), F (w)) is
the latent representation for each word. We draw inspiration the similarity function to compute the similarity between
from this technique to create user embeddings, based on F (W u1 ) and F (w) given as:
the different interactions they have with web APIs. If we
min(F (W u1 ), F (w))
consider two users u1 and u2 , who have both interacted with Sim(F (W u1 ), F (w)) = (6)
max(F (W u1 ), F (w))
the same web API w, we can employ word embedding to
learn the representations of u1 and u2 .
Case 2: u1 follows at least one other user besides u2 and
Users interaction with web APIs can either be direct or
has not invoked or followed web APIs in the past. In such a
indirect. We identify the following ways by which users
case, we infer the web APIs that aligns to u1 ’s preferences
interact with web APIs.
by computing the similarity of all web APIs between the
1. Through user-to-web API (direct) interaction: a user u
followed users based on the functionality quality dimension
can interact with a web API w either by creating or following
of these APIs.
it. Intuitively, if u creates or follows w, then we can infer
Let W ua = {W u2 ∪ W u3 ∪ ... ∪ W ub } be the set
that u has some interest in w. As such, we can say that web
of all web APIs between the followed users. The set of
API w aligns to user u’s preferences.
web APIs that aligns with u1 ’s preferences, W u1 is given as:
2. Through user-to-mashup (direct) interaction: similarly,
a user u can interact with a web API w, invoking w during W u1 ={w : Sim(F (wi ), F (wj )) ≥ γ and i = j}
the creation of the mashups (mashup developers). We can (7)
∀wi , wj : wi ∈ W ua , wj ∈ W ua
presume that u will typically have interest in the web API
w, if it was part of a mashup composition they created. Case 3: u1 follows only u2 and has not invoked or followed
Therefore, we conjecture that w aligns to u’s preferences. web APIs in the past. With this case, it is challenging to

4
infer web APIs that aligns with u1 ’s preferences. This is a A. Dataset Description and Experimental Setup
case of cold-start problem. We plan to investigate further as We evaluate our proposed method using web API and
future work. mashup dataset crawled from www.programmableweb.com.
As indicated earlier, when two users u1 and u2 both See section II-A for details on the dataset.
interact with the same web APIs, we can conclude u1 and u2 We follow a 70/10/20 proportions for splitting the orig-
share similar interests. So, if u1 interacts with web API w, inal dataset into training/validation/test sets [14]. For each
we can recommend w to u2 , if u2 is yet to interact with w. baseline, we randomly divided our dataset into five dif-
We can then utilize word embedding technique to learn user ferent sets of 70/10/20 proportions also representing train-
embeddings that explain the co-interaction patterns among ing/validation/test respectively. To obtain our ground truth
users. Given a sparse user-web API matrix M m×n , where for our evaluations, we randomly remove and hold 50% of
each row is the set of web APIs that the user has interacted web API interactions from our test set to generate a user-
with or not, we construct a matrix M̄ m×r , where each row web API sparse matrix with density 1.1210 × 10−6 . We
is a set of only the web APIs that a user has interacted with. then use our proposed method to predict the missing web
We subsequently construct a reverse matrix, M̄ r×m from API invocations of active users and subsequently recommend
M̄ , where each row is the set of users that interacted with services to them. In section IV-D, we present the average
a specific web API (i.e. a sequence of users that interacted results from these five sets. All models were trained on the
with the same web API). Finally, we apply word embedding same set of hyperparameters which were tuned with the
to this user sequence to strengthen the user’s latent vector validation set. We set our regularization term λ = 0.001.
representations.
B. Evaluation Metrics
C. Web API Recommendation with Implicit User Preferences
The following were the metrics we evaluated our method
The ability of matrix factorization to easily include side against. Our choice of these metrics is purely based on
information, such as our implicit user preference embed- the fact that they are well-known to evaluate ranking-based
dings, is one of its greatest advantage [4]. Hence, once methods.
the implicit user preferences embeddings are complete, we Normalized Discounted Cumulative Gain (NDCG): Top-
incorporate it into matrix factorization. Specifically, we com- N DCG measures the ranking quality by placing stronger
bine those implicit user preference embeddings with matrix emphasis on having relevant items in the top-N.
factorization (Equation 3) to regularize the latent features p
 2reli − 1
of user interactions on web APIs. Our regularized matrix DCGp = (9)
factorization is as follows: i=1
log2 (i + 1)
1
L = min huw (cuw − ĉuw )2 + where reli is the graded relevance of the result at position i.
S,A 2 We normalize each cumulative gain at each position, since
u,w
1  the performance of ranking engine cannot be consistently
h́uv (Duv − αuT θv − fu − gv )2 + achieved by using DCG alone.
2 (8)
Du v=0
  DCG
1    N DCG = (10)
λ  α u 2 +  βw 2 +  θv 2 IDCG
2 u w v In a perfect ranking algorithm, DCG = IDCG, producing
where: a NDCG of 1.0.
Recall: Top-N recall measures the sensitivity of the recom-
• D be a shifted positive pointwise mutual informa-
mender system. It captures the effectiveness of the model in
tion (SPPMI) [14] matrix constructed by user-user co-
terms of outputting relevant predictions. It is computed as:
interaction patterns,
• θ is a k × 1 latent representation vector of a user, and tP
Recall@N = (11)
• f and g are user bias and user context bias respec- tP + f N
tively [14].
where tP and f N are true positive and false negative respec-
Using the output from Equation 8, we can then make web tively. Higher recall values indicates better performance.
API recommendations to a target mashup developer. Mean Average Precision (MAP): MAP for a set of ranking
results is the mean of the average precision scores for each
IV. E XPERIMENTS AND R ESULTS ranking.
We conducted several experiments to evaluate our pro-
C. Baselines
posed method. These experiments were done to ascertain
the performance of our proposed method on web API rec- We compare our model to the following baseline methods
ommendations compared to other existing recommendation to demonstrate its effectiveness.
methods. We discuss our experimental setup and results in • Matrix Factorization (MF): this method uses weighted
this section. matrix factorization with L2 -norm regularization [19].

5
• Personalized Collaborative Filtering (PCF): this web APIs such as tags, topics, co-occurrence and popular-
method uses Pearson Correlation Coefficient to com- ity. These information could potentially play a useful role
pute the similarity between web APIs and a fuzzy set in learning or classifying web APIs for recommendation.
approach to find the similarity between user preferences Li et al. [10], proposed a solution that leverages these
to make recommendations [13]. information. In their work, they utilized such information
• Mashup Recommendation with API Co-Invocations to derived similarity between web APIs, and subsequently
(MRAC): the method uses a probabilistic matrix factor- their popularity. They then applied factorization machines
ization approach with implicit correlation regularization to predict and recommend top-k relevant web APIs for a
to improve recommendation accuracy and diversity [4]. target Mashup. Cao et al. [20] also proposed a method
• Integrated Content and Network-based Service that utilizes functional information of mashup services, to
Clustering for Web API Recommendation (ICNSC): produce a mashup service content document for extracting
this method uses an integrated content and network- feature vectors of mashup services. Their proposed technique
based solution, which leverages the interrelationship uses natural language processing (NLP) to generate words
among mashup services to extract latent topics to pro- and feature vectors. Then using the co-invocation interrela-
duce mashup clusters for web API recommendation [6]. tionship that exist among web APIs and web API tags, they
• Invocation Only (IO): this is a variation of our pro- recommend relevant web APIs to a mashup developer. Li et
posed model that considers only invoked web APIs. No al. [21], also proposed a method for API recommendation,
other direct or indirect interactions were considered. using a probabilistic model. In their work, they model the
• Without User Preference Embedding (WUPE): this is relationships among mashups, APIs and tags, via latent
a variation of our model that considers user interaction topic modeling (i.e. relational topic modeling). Their method
but without preference embeddings. however, is based on topic popularity and topic relevance,
• Proposed model (PM): our proposed method. which was also the focus of Gao et al. [22].
Some other existing web API recommendation works
D. Experimental Results focus on clustering the web APIs based on some criteria
Figure 4 shows our performance results of our proposed and subsequently recommend web APIs. For instance, Xia
method compared to the baseline models, based on Recall, et al. [8] proposed a category-aware API clustering and
NDCG and MAP. For each of these metrics, we varied the distributed recommendation solution to enhance the accuracy
top-N values from 10 − 100 at intervals of 10. Figures 4a, of API recommendations. Cao et al. [6] also proposed a
4b and 4c show the results for Recall, NDCG and MAP method, based on clustering, to recommend web APIs for
respectively. mashup development. In their work, Cao et al. [6] proposed
Overall, using our dataset, our model (PM) outperformed an integrated content and network-based solution which
the other baselines. On an average, our model (PM) improved leverages the interrelationship among mashup services to
Recall by 29%, NDCG by 22% and MAP by 33%. From extract latent topics to further produce mashup clusters.
the figures, we can also observe that our other model variant Similarly, Gao et al. [22] adopts a learning technique which
(IO and WUPE) outperformed the PCF baseline method. We uses the geometric properties of data in high dimensions to
can also see that, our model (PM) outperformed our other implement clustering and dimensionality reduction (termed
model variants (IO and WUPE). These experimental results Manifold learning). The proposed algorithm first performs a
confirms the effectiveness of our proposed model. functional similarity-based clustering and then utilizes man-
ICNSC method performed worse than expected for all ifold ranking algorithm, they assign APIs to the generated
metrics. Our experiments revealed it is due to Pearson mashup clusters.
Correlation Coefficient (PCC) similarity function that was There are other works that propose deep learning and
employed. In the mashup application domain, since there are matrix factorization methods for web API recommendation.
very less web APIs that are invoked, the invocation relation- Yao et al. [4] proposed a probabilistic matrix factorization
ship matrix between mashup clusters and their invoked web approach with implicit correlation regularization to improve
APIs will be very sparse. PCC has however, has been known recommendation accuracy and diversity in existing recom-
to perform poorly in cases where the invocation relationship mendation approach. In their work, they were of the view
matrix between mashups and their invoked web APIs is very that service invocation history has a significant impact on
sparse [13]. the probability of future invocations and as such build their
MRAC performed next to our proposed method (PM), approach partly on latent correlations between APIs. Xue et.
outperforming all other baseline methods on NDCG. This al. [23] exploits the strength of deep learning models such
is because, the co-invocation method that MRAC method as Convolutional Neural Networks (CNN), Long Short-Term
employs results in better diversity. Memory neural networks (LSTM), and other machine learn-
ing classifiers, together with Natural Language Processing
V. R ELATED W ORKS (NLP), to produce an automatic generation and recommenda-
Most existing web API recommender systems focus on tion solution for web APIs. Although deep learning methods
improving the accuracy and sometimes diversity of web API were employed in this work, they failed to personalize
recommendations by utilizing rich and useful information on recommendations. Rahman et al. [7] also proposed a ma-

6
(a) Recall@N (b) NDCG@N (c) MAP@N

Fig. 4: Performance of models on different Top-N values

trix factorization based solution which incorporates mashup no interactions (neither web APIs nor other users) in the
service relationships to make web API recommendations. past. We will then conduct more experiments to ascertain
This proposed method by Rahman et. al. uses the Integrated the impact of some key parameters on our model. Our goal
Content and Network-Based service clustering technique is to conduct more experiments with different datasets to see
proposed by Cao et al. [20]. Their method utilized the co- how our method performs. In addition, we will validate our
invocation based on the interrelationship that existing among model against more existing methods.
web APIs.
These works, like many web API recommendation meth- ACKNOWLEDGMENT
ods, rarely focus on personalizing web API recommenda-
I want to thank Esi Adeborna for her extremely helpful
tions. They usually assume mashups to be users and web
suggestions in carving out the contributions of this work. I
APIs to be items to create a matrix completion recommen-
would also like to thank Dr. Amartya Sen for his invaluable
dation problem. This assumption denies such methods the
suggestions to this work.
ability to leverage the intrinsic relationships that exist in user
profiles to improve web API recommendations. In addition, R EFERENCES
they focus on popularity of web APIs, they fail to personalize
recommendations and also, increases the negative Matthew [1] K. Fletcher, “A method for aggregating ranked services for personal
preference based selection.” International Journal of Web Services
effect of accumulated advantage [24], where popular web Research (IJWSR), vol. 16(2), pp. 1 – 23, 2019.
APIs are invoked frequently while unpopular ones are rarely [2] K. K. Fletcher, “A quality-based web api selection for mashup de-
invoked or not invoked at all. They are mostly popularity velopment using affinity propagation,” in International Conference on
and functional-similarity oriented, with no attention to per- Services Computing. Springer, 2018, pp. 153–165.
[3] W. Santos, Research Shows Interest in Providing APIs
sonalizing web API recommendations, such is the limitation Still High, (accessed October 18, 2018). [Online].
that we, the authors of this paper hope to resolve. Available: https://www.programmableweb.com/news/research-shows-
interest-providing-apis-still-high/research/2018/02/23
VI. C ONCLUSION AND F UTURE W ORK [4] L. Yao, X. Wang, Q. Z. Sheng, B. Benatallah, and C. Huang, “Mashup
recommendation by regularizing matrix factorization with api co-
In this work we have proposed a method, which considers invocations,” IEEE Transactions on Services Computing, 2018.
both explicit and implicit user personalized preferences to [5] Y. Zhong, Y. Fan, W. Tan, and J. Zhang, “Web service recommen-
dation with reconstructed profile from mashup descriptions,” IEEE
make personalized web API recommendations, while im- Transactions on Automation Science and Engineering, vol. 15, no. 2,
proving recommendation accuracy and diversity. Our method pp. 468–478, April 2018.
regularizes matrix factorization using user preference em- [6] B. Cao, X. Liu, M. M. Rahman, B. Li, J. Liu, and M. Tang,
bedding to personalize recommendations. In the mashup “Integrated content and network-based service clustering and web
apis recommendation for mashup development,” IEEE Transactions
application domain, since there are very less web APIs on Services Computing, 2017.
that are invoked, the invocation relationship matrix between [7] M. M. Rahman, X. Liu, and B. Cao, “Web api recommendation for
mashup and their invoked web APIs are very sparse. We mashup development using matrix factorization on integrated content
and network-based service clustering,” in 2017 IEEE International
have shown how our proposed method leverages users’ Conference on Services Computing (SCC). IEEE, 2017, pp. 225–
implicit personalized preferences, which are obtained from 232.
interacting (i.e. invoking or following) with web APIs and [8] B. Xia, Y. Fan, W. Tan, K. Huang, J. Zhang, and C. Wu, “Category-
aware api clustering and distributed recommendation for automatic
other users in the system, to improve recommendation ac- mashup creation.” IEEE Trans. Services Computing, vol. 8, no. 5, pp.
curacy and diversity. Experiments performed shows that our 674–687, 2015.
proposed method outperforms other baseline methods. [9] C. Buqing, M. Tang, and X. Huang, “Cscf: A mashup service rec-
ommendation approach based on content similarity and collaborative
For our future work, we will first focus on how to infer filtering,” International Journal of Grid & Distributed Computing,
web APIs that aligns with a user’s preferences, if they have vol. 7, no. 2, 2014.

7
[10] H. Li, J. Liu, B. Cao, M. Tang, X. Liu, and B. Li, “Integrating feedback datasets,” in 2008 Eighth IEEE International Conference on
tag, topic, co-occurrence, and popularity to recommend web apis for Data Mining, Dec 2008, pp. 263–272.
mashup creation,” in 2017 IEEE International Conference on Services [20] B. Cao, X. Liu, B. Li, J. Liu, M. Tang, T. Zhang, and M. Shi,
Computing. IEEE, 2017, pp. 84–91. “Mashup service clustering based on an integration of service content
[11] K. K. Fletcher, “A method for dealing with data sparsity and cold- and network via exploiting a two-level topic model,” in Web Services
start limitations in service recommendation using personalized pref- (ICWS), 2016 IEEE International Conference on. IEEE, 2016, pp.
erences,” in 2017 IEEE International Conference on Cognitive Com- 212–219.
puting, June 2017, pp. 72–79. [21] C. Li, R. Zhang, J. Huai, and H. Sun, “A novel approach for api
[12] Q. Gu, J. Cao, and Q. Peng, “Service package recommendation for recommendation in mashup development,” in Web Services (ICWS),
mashup creation via mashup textual description mining,” in 2016 IEEE 2014 IEEE International Conference on. IEEE, 2014, pp. 289–296.
International Conference on Web Services (ICWS), June 2016, pp. [22] W. Gao, L. Chen, J. Wu, and H. Gao, “Manifold-learning based api
452–459. recommendation for mashup creation,” in Web Services (ICWS), 2015
[13] K. K. Fletcher and X. F. Liu, “A collaborative filtering method for IEEE International Conference on. IEEE, 2015, pp. 432–439.
personalized preference-based service recommendation,” in 2015 IEEE [23] Q. Xue, L. Liu, W. Chen, and M. C. Chuah, “Automatic generation
International Conference on Web Services, June 2015, pp. 400–407. and recommendation for api mashups,” in Machine Learning and
[14] T. Tran, K. Lee, Y. Liao, and D. Lee, “Regularizing matrix fac- Applications (ICMLA), 2017 16th IEEE International Conference on.
torization with user and item embeddings for recommendation,” in IEEE, 2017, pp. 119–124.
Proceedings of the 27th ACM International Conference on Information [24] D. Rigney, The Matthew Effect: How Advantage Begets Further
and Knowledge Management, ser. CIKM ’18. New York, NY, USA: Advantage. Columbia University Press, 2010.
ACM, 2018, pp. 687–696.
[15] Y. W. Teh, M. I. Jordan, M. J. Beal, and D. M. Blei, “Hierarchical
dirichlet processes,” Journal of the American Statistical Association,
vol. 101, no. 476, pp. 1566–1581, 2006.
[16] B. Fuglede and F. Topsoe, “Jensen-shannon divergence and hilbert
space embedding,” in International Symposium onInformation Theory,
2004. ISIT 2004. Proceedings., June 2004, pp. 31–.
[17] T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean, “Dis-
tributed representations of words and phrases and their composition-
ality,” in Proceedings of the 26th International Conference on Neural
Information Processing Systems - Volume 2, ser. NIPS’13. USA:
Curran Associates Inc., 2013, pp. 3111–3119.
[18] P. R. Badri Satya, K. Lee, D. Lee, T. Tran, and J. J. Zhang,
“Uncovering fake likers in online social networks,” in Proceedings
of the 25th ACM International on Conference on Information and
Knowledge Management, ser. CIKM ’16. New York, NY, USA: ACM,
2016, pp. 2365–2370.
[19] Y. Hu, Y. Koren, and C. Volinsky, “Collaborative filtering for implicit

You might also like