Time-aware Semantic Web Service Recommendation
Yu Lei, Zhou Jiantao, Zhang Junxing, Wei Fengqi and Wang Juan
Inner Mongolia Engineering Lab of Cloud Computing and Service Software
Inner Mongolia University
Hohhot, China
csyulei@imu.edu.cn
Abstract—New Web services are emerging on the Internet,
while some other Web services are obsolete for some reasons.
Unfortunately, not all services are developed in accordance
with rules of loose coupling in the software engineering. The
consequence is that some services work well only with other
services of older versions. The situation is much worse when
we deal with composite services. Moreover, using current
technology to discover proper semantic services for a
composite service is time-consuming and inaccurate. To deal
with these problems, we proposed a Web service similarities
measurement method and a recommendation method. Based
on ontology and information retrieval techniques, we compute
among Web services. Then the similarities are used to classify
services according to their topics, functionality and semantics.
Our recommendation method is able to recommend proper
component services to the composite service according to the
history information of invocations and similar composite
services. The experiments show that our clustering method,
which is based on matrix decomposition and Ontology
technologies, is more accurate than others, and our
recommendation method has less average error than others in
the series of missing rate.
Keywords-Recommendation, Time-aware, ontology, semantic
I. INTRODUCTION
In the history of software, reusability is an eternal topic.
From the functions in procedure-oriented languages, to the
inheritance in object-oriented languages, the aspects in
aspect-oriented programming, and SOA (Service-Oriented
Architecture), the granularity of reusability is increasingly
larger from one piece of code to a whole system. Though
refactoring and version updating are inevitable even in SOA
systems, some service providers still keep commitment to
avoid changing interface invoked by outside users. But some
service providers change interface frequently. Thus, we need
a method to record the change history of services to predict
their future behaviors. Frequent and irregular changes of a
service implies that it lacks planning and may be an
unsustainable evolution. This kind of history information
should be used to infer that the service is not suitable to be a
component of a composite service, since many unstable
changes of component services will weaken the performance
of a composite service. However, if one service required by
users only works well with the older version of other services,
we should always recommend these older services to it.
Internet and language experts constructed huge ontology
to formally represent knowledge as a set of concepts within a
domain, using a shared vocabulary to denote the types,
properties and interrelationships of those concepts. Its
purpose is to make Internet document readable and
understandable by machine. WSDL (Web Service
Description Language), a kind of Internet language
describing how and where to invoke services, is not good
enough for a machine-readable language for semantics. To
describe Web services from grammar level to semantic level,
experts build domain ontology on top of WSDL, including
SAWSDL (Semantic Annotation WSDL), WSML (Web
Service Modeling Language) and OWL-S (Ontology Web
Language-Semantic) [1] etc. Domain ontology, takes much
time and manpower of domain experts to build and maintain.
With the rapid development of Web service and introduction
of new concept, ontology requires frequent update. In this
perspective, ontology partially reduces manpower.
To alleviate this problem, we propose to use technology
from information retrieval domain, TF/IDF (Term Frequency
/ Inverse Document Frequency) [2]. TF/IDF analyzes a
group of related documents to identify the keywords, which
represent the main idea of the document. Meanwhile, it is not
sensitive to new concepts because that it does not construct
the tree of concepts like ontology. In addition, it can capture
the related concepts, regardless of new or old concepts, by
means of analyzing their co-appearance in the same
documents.
Facing variety of services, it is necessary to narrow the
scope of required services. As no one knows how many
kinds of services should exist, we use clustering instead of
classifying to narrow the scope. Clustering provides multiple
levels of granularities, making recommendation faster. Small
granularity provides more clusters, and each of which
contains small number of services; by contrast, large
granularity provides less clusters, and each of which contains
a large number of services. Therefore, we can begin with the
small granularity. If we are able to find out proper services in
clusters, this job can be finished quickly; if not, we go to the
larger granularity. Furthermore, not all of Web service data
are clustered in the shape of sphere. Some technology, such
as SVM (Support Vector Machine), can solve this problem
2015 IEEE International Conference on Services Computing
978-1-4673-7281-7/15 $31.00 © 2015 IEEE
DOI 10.1109/SCC.2015.95
664
2015 IEEE International Conference on Services Computing
978-1-4673-7281-7/15 $31.00 © 2015 IEEE
DOI 10.1109/SCC.2015.95
664
2015 IEEE International Conference on Services Computing
978-1-4673-7281-7/15 $31.00 © 2015 IEEE
DOI 10.1109/SCC.2015.95
664
2015 IEEE International Conference on Services Computing
978-1-4673-7281-7/15 $31.00 © 2015 IEEE
DOI 10.1109/SCC.2015.95
664