Time-Aware Service Recommendation for Mashup Creation in an Evolving Service
Ecosystem
Yang Zhong
Tsinghua National
Laboratory for
Information Science
and Technology
Department of
Automation
Tsinghua University
Beijing 10084, China
zhongy12@mails.tsinghua.edu.cn
Yushun Fan
*
Tsinghua National
Laboratory for
Information Science
and Technology
Department of
Automation
Tsinghua University
Beijing 10084, China
fanyus@mail.tsinghua.edu.cn
Keman Huang
Tsinghua National
Laboratory for
Information Science
and Technology
Department of
Automation
Tsinghua University
Beijing 10084, China
hkm09@mails.tsinghua.edu.cn
Wei Tan
IBM Thomas J. Watson
Research Center
Yorktown Heights, NY
10598, USA
wtan@us.ibm.com
Jia Zhang
Carnegie Mellon
University
Silicon Valley
jia.zhang@sv.cmu.edu
Abstract—Web service recommendation has become a critical
problem as services become increasingly prevalent on the
Internet. Some existing methods focus on content matching
techniques such as keyword search and semantic matching
while others are based on Quality of Service (QoS) prediction.
However, services and their mashups are evolving over time
with publishing, perishing and changing of interfaces.
Therefore, a practical service recommendation approach
should take into account the evolution of a service ecosystem.
In this paper, we present a method to extract service evolution
patterns by exploiting Latent Dirichlet Allocation (LDA) and
time series prediction. A time-aware service recommendation
framework for mashup creation is presented combining service
evolution, collaborative filtering and content matching.
Experiments on real-world ProgrammableWeb data set show
that our approach leads to a higher precision than traditional
collaborative filtering and content matching methods.
Keywords-service recommendation; LDA; service ecosystem;
time-aware; mashup creation
I. INTRODUCTION
With the wide adoption of Service-Oriented Architecture
and Cloud Computing, the number of web services
(nowadays usually in the form of web APIs) published on
the Internet has been rapidly growing [1]. Mashup, a web
application created through service composition, has become
a popular technique to reuse existing services and shorten
development cycle [2]. As a consequence, several web
service ecosystems (such as Bell lab’s ProgrammableWeb
1
and myExperiment
2
by the universities of Southampton,
Manchester and Oxford) have emerged in the recent years,
continuously accumulating web services and their mashups
[3, 4]. In spite of such encouraging facts, creating a mashup
may take an inexperienced developer a great amount of time
to search in the sea of available services in the repositories
for service components. Therefore, service recommendation
and discovery approach is essential to facilitate developers in
locating desired services.
*Communication Author
1
http://www.programmableweb.com
2
http://www.myexperiment.org
Most existing service recommendation approaches are
content matching methods, mainly focusing on keyword
search [6, 7] and semantic-based search [8]. However,
keyword search is usually inefficient while semantic-based
approach is expensive to construct in practice. A
probabilistic approach for service discovery based on Latent
Dirichlet Allocation (LDA) is proposed in [9] to address the
challenge. It extracts features from WSDL documents and
employs the LDA model to characterize the latent topics
between services and user queries. In contrast to these
service recommendation methods considering functional
requirements, other methods focus on helping developers
find services meeting expected Quality of Service (QoS).
Non-functional properties of services under consideration
include reliability, availability, and response time. In
addition to formal QoS measurement, user-centric
collaborative filtering [10, 11] mechanism has also been used
to support service recommendation. For example, a hybrid
approach that combines collaborative filtering and content
matching is proposed in [12] to improve the performance of
service recommendation. Recently, some researchers also
apply social network analysis to service recommendation [13,
14, 23] and combine service ranking with service clustering
[15].
One phenomenon that has usually been ignored in service
discovery is that, services and their mashups evolve over
time. Few existing methods consider or exploit temporal
information for service recommendation. Our previous work
[5, 16] proposed a method based on link prediction in a time-
varying service network. Nevertheless, it is purely based on
past service usage and does not take into account the
functional requirements of individual mashups. Thus, its
recommendation precision is not satisfactory.
In this paper, we address such limitations by conducting
joint analysis on temporal information, topology and content
in an evolving service ecosystem. Two assumptions are put
forth. First, services with similar functions form a particular
service domain that can be interpreted as a specific topic.
Second, developers tend to adopt popular services in popular
domains at the moment of request. Under these assumptions,
service usage over time is modeled as a probabilistic
generative model. Our key idea is to represent each sliced
time interval as a
"bag of services" and introduce the concept