Você está na página 1de 8

2010 IEEE International Conference on Web Services

Measuring Similarity of Web Services Based on


WSDL
Fangfang Liu1

Yuliang Shi2

Jie Yu1

Tianhong Wang1

Jingzhe Wu1

2
School of Computer Engineering and Science
School of Computer Science and Technology
Shanghai University, China
Shandong University, China
ffliu@shu.edu.cn liangyus@sdu.edu.cn jieyu@shu.edu.cn tianhonglouis@yahoo.com jzwu@shu.edu.cn

based WSDL documents. As WSDL contains very few text


fragments, its insufficient to apply the traditional IR
techniques such as TF/IDF and LSI [11] which rely on the
term frequency to get the semantics of services.
Considering the problem above, Woogle [21] and URBE
[4] have been built. To capture the semantics of terms
within WSDL of a service, developers in [21] propose the
approach which clusters parameter names in the collection
of web services into semantically meaningful concepts. The
similarity of services is evaluated by comparing the
concepts the input and output parameters belong to. This
approach works well in case that when large number of
services with new functionalities appears over web, it has
to rebuild the concepts based on the new service collections.
The method of URBE in [4] takes services as bags of
isolated terms. Firstly the semantic distances of terms from
two compared services are computed by employing the
lexical database such as Wordnet [19]. Then, the similarity
of two services is just taken as the maximum matching of a
bipartite graph. As declared in [4], it outperforms Woogle
in [21] and other existing approaches [12,13] on both
efficacy and efficiency.
As considering the similarity of web services in detail,
its apparent that the terms within one service are not
isolated. They display the function of the service as a whole.
As the semantic connections between the terms decide the
real meaning of a service, they should also be taken into
consideration when computing the similarity of services.
Therefore, in this paper we propose new similarity
metrics which make improvements on the metric in [4] and
aim at utilizing terms inside WSDL fully to measure the
similarity of services.
The improvements mainly include two aspects. Firstly,
instead of utilizing Wordnet, a lexical database, as in
previous work, we turn to get help from web search engine
for two reasons: some terms, such as mp3, Toyota, are
not included in Wordnet; the semantic distances of terms
with different genders are not supported well by Wordnet.
On the other side, by leveraging web search results from
search engine to provide greater context, the distance of
almost any two terms can be calculated. Secondly, as terms
inside WSDL of a service are actually not isolated and they
have implied connections that associate them together to
describe the function of the service, we propose several
similarity metrics that utilize each term we can obtain. With

AbstractWeb service has already been an important


paradigm for web applications. Growing number of services
need efficiently locating the desired web services. The
similarity metric of web services plays an important role in
service search and classification. The very small text
fragments in WSDL of web services are unsuitable for
applying the traditional IR techniques. We describe our
approach which supports the similarity search and
classification of service operations. The approach firstly
employs the external knowledge to compute the semantic
distance of terms from two compared services. The similarity
of services is measured upon these distances. Previous
researches treat terms within the same WSDL documents as
the isolated words and neglect the semantic association among
them, hence lower down the accuracy of the similarity metric.
We provide our method which tries to reflect the underlying
semantics of web services by utilizing the terms within WSDL
fully. The experiments show that our method works well on
both service classification and query.
Keywords-web service; similarity;

I. INTRODUCTION
Web service has already become an important paradigm
for developing web applications. Growing number of web
services raise the issue of efficiently locating the desired
web services.
Many approaches have been proposed with respect to the
way in which services are described. Semantic
communities provide ontology languages for web services
such as OWL-s [9] and WSMO [10]. Services are
organized in ontology. To locate desired services depends
on semantic match of services. The formal foundation helps
the semantic matching approaches [1-3] obtaining high
accuracy. On the other side, many efforts are required from
both users and developers on the semantic description of
services and the applied range is also limited by the timeconsuming building and reasoning of ontology.
Methods in [5,15] apply the traditional IR techniques on
the text description of services. But in practice the text
field of services provided by developers often contains
much information unrelated with the functionality of
services which lowers down the accuracy of metrics.
As most services have WSDL to describe their operations,
many methods focus on information extracted from XML978-0-7695-4128-0/10 $26.00 2010 IEEE
DOI 10.1109/ICWS.2010.67

Downloaded from http://www.elearnica.ir

155

the initial experiments results the best similarity measure is


decided, which is then compared with the work in [4] for it
outperforms many existing approaches. The evaluation
experiments show that our measure has higher precision,
recall and f-measure than the work in [4] in both service
classification and the query circumstances.
The organization of this paper is: section 2 has related
work; in section 3, we describe the problem previous
approach met; and our improved policies are proposed in
section 4; tuning experiments, the comparison and
evaluation with the already existing work and the analysis
are given in section 5; conclusions and future work are in
section 6.

Developers in [21] propose the approach which clusters


parameter names in the collection of web services into
semantically meaningful concepts. Next apply TF/IDF on
the concepts to obtain the similarity of services. This
approach needs the maintenance of concepts.
The work in [4] employs Wordnet to calculate the
distance of term pairs from the WSDLs of compared
services. With compared services as disjoint term bags and
the semantic distance of terms pairs as the weighted edges,
the similarity of services is treated as the maximum weight
matching of bipartite graphs. The comparison experiments
in [4] show its better than the approaches in [5, 12, 13] by
the higher precision and recall. We have mentioned that
Wordnet is not suitable for the comparison of any two
terms. Besides, terms which are together to express the
function of a service have implied connections. Its not
suitable to just considering services as isolated term bags
and similarity of services as finding a global optimum
value from the weighted edges of two disjoint sets because
the hidden association between terms are neglected.
Aiming at these problems, we offer our approach.
The bipartite graph matching has been utilized in many
researches to solve different problems. As in [20], it helps
to identify the group linkage similarity and authors also
have offered approaches to improve the efficiency of the
bipartite graph matching [20]. While in this paper its not
our purpose to further speed up the bipartite graph
matching, we offer new metrics which aim at the evaluation
of the similarity of services for which only maximum
matching of bipartite graph is not enough.

II. RELATED WORK


Assessing the similarity of services has been an
important issue in the field of web service research.
A lot of work has been done from different respects as
following. The semantic-based approaches in [1-3] adopt
the formalized description languages such as OWL-S [9]
and WSMO [10] for services and develop the reasoningbased similarity algorithms to retrieve services. This kind
of approaches is generally effective because of the accurate
descriptions of services. But building the logic-base web
services descriptions requires more effort for developers [4].
The text-based approaches [5, 15] exploit the text
description field of services and adopt the classical
information retrieval techniques (such as TF-IDF and LSI).
The similarity of services is evaluated by the traditional
measures such as Jaccard and Euclidean. The work in [5]
also is combined with Wordnet to increase the precision.
But in practice, most text descriptions of the published
services, such as services published on one of the largest
service collection website Programmable 1 , contain much
useless information unrelated with the function of services,
which hampers the application of this kind of approach.
The classical information retrieval techniques are also be
applied on WSDL. With terms extracted from XML-based
WSDL documents to construct term vectors, the traditional
similarity measures are employed to evaluate the similarity
of services. But these techniques have lower efficiency
because of the traditional similarity is based on the
frequency of terms which depends on richness of
documents. Only a few terms from WSDL documents and
little repetition of terms are not fit for obtaining term
frequency or inverse document frequency.
Similarity analysis of services can also consider
services behavior. Authors in [16,17,18] compare the
external behavior of services with the desired conversations,
or with the behavior of another service to evaluate the
similarity. But these methods have the implied assumption
that the discovery of services based on portType names and
message types has already been made.
1

III. PROBLEM DESCRIPTION


In this part we describe the problem we will solve.
Firstly we introduce the similarity of services measured by
the maximum weight matching of the bipartite graph model.
With examples we illustrate the cases in which it is not
suitable for only applying this model.
A. Similarity of Services as Bipartite Graph
The WSDL document of a service usually consists of
ports, portTypes, operations, input/output messages and
other definitions to express its function. Fig.1 is an example
of WSDL. The names of its components generally are
concatenation of words which declares the function of the
service, such as Comedyfilmactionfilm of portType name
in fig.1. After decomposing the names to individual terms
according to some rules, the term set is obtained as the
function description of the service. The similarity of
services is generally evaluated upon these terms. As
WSDLs only contain few text fragments, techniques which
rely on term frequency do not perform well and approaches
utilizing the distance of terms are proposed.

http://www.programmableweb.com

156

k 11

k12
S1

Fig. 1 A part of WSDL for service _comedyfilmactionfim_service

k 31

Fig.2 is the examples of the graphical representations of


services which contain terms extracted from WSDL. Nodes
are terms. The values over the connections between terms
represent the semantic distance of two terms. These
distances are generally obtained by the external knowledge,
such as Wordnet or the great context from Web which is to
be introduced in the next section.
From the graphical representation, its easy to take two
compared services as a bipartite graph. The similarity of
services is the maximal weight matching of the bipartite
graph as in [4, 6].
,
Formally,
given
a
graph G ( S1 , S 2 , E )
where S1 {k i } and S 2 {k j } , k i and k j are terms from their

corresponding WSDLs. E

k 32

S3

S2

k 41
k 42
k 43 S
4

Despite the different application purposes, they all


depend on the maximum weight matching. Here for the
simplicity of discussion, we assume that the normalization
factor is the first one. Then the similarity measure based on
bipartite graphs is:
max_ value1, 2
similarity1, 2
|M |
where 0 d similarity1, 2 d 1
(2)

( k i , k j !, wi , j ) , where wi , j is

graph, S1 and S 2 are two disjoint sets such that no edge


exists between vertexes within the same set. The maximum
weight matching M E of G has no two edges sharing
common end vertex and the sum of the weights of M is the
maximum. Then, the maximum weight matching M of G is:

According to (2), the similarity degrees of compared


services in fig.2 (a) and fig.2 (b) are 0.145 and 0.579
respectively.
When two services have the same cardinality, i.e.,
| S1 |=| S 2 |, the graph is balanced (as in fig.2 (a)). For a
balanced graph, when each term pair has a non-zero
weighted edge, all terms of S 1 and S 2 are included in the
maximum matching. Otherwise, for the unbalanced
bipartite graph there exist unmatched term(s) (as in fig.2
(b)).

k j S 2

max{ wi , j }

where 0 d wi , j d 1

k22

Fig. 2 Compared services as bipartite graphs

the semantic distance of terms k i , k j . If G is a bipartite

max_ value1, 2

k 21

ki S1

(1)

For example, the maximum weight matching of two


services in fig.2 (a) is 0.157+0.133=0.29 and the value for
fig.2 (b) is 1+0.157=1.157.
The similarity degree of S1 , S 2 is the normalization of the
maximal value. Different normalization factors have been
chosen for different application purposes.
The normalization factor could be the number of edges
in the maximum matching, | M | ; the sum of the number of
edges in the matching M and the unmatched terms in
each of S1 ( | S1 |  | M | ) and S 2 ( | S 2 |  | M | ) , i.e.,
| S1 |  | S 2 |  | M | ; or decided by the cardinality of the
objective service, i.e., the query or the replaced service.
For the first two choices, the similarity metric is
symmetric and fit for the service classification. The third
choice is utilized in [4], which is asymmetric and only for
the purpose of the service query or replacement.

B. Effect of Implied Connections of Terms


Terms within WSDL of a service all together describe
the capability of the service, such as action film, apple
player and apple food cooperation. The implicit
connections between terms decide their real meanings.
Considering two compared services as a bipartite graph
has an important assumption that there is no edge between
terms within one term set. Thats to say the terms that are
originally utilized as a whole to represent the capability of a
service are now only individuals. The implied connections
are broken. Especially when two services have different
number of terms, there have left terms which are out of

157

decide the effects brought by these connections upon the


similarity of two services.
As we can calculate the similarity of almost any term
pairs by the method introduced next, the graph composed
by two services is complete, i.e., every term pair of the
compared services has a non-zero edge. Therefore, only
when the cardinalities of two services are not equal, that is
the graph is not balanced, we have left unmatched terms.
For balanced graphs, each term is included in the
maximum matching and the corresponding maximal value
is able to represent how closely a term set is with the other
term set. Since every term has been utilized, it can be
considered that the effect of the inner connections of terms
within one service melts into the matching value. As to the
unbalanced graph, the inner associations between matched
terms and unmatched term(s) have obvious effects on the
similarity.
Based on the above considerations, we focus on the
unbalanced graph and propose our two-phase similarity
metrics. At the first phase, the maximum weight matching
algorithm is still applied to calculate the basic similarity
score of services. The remained unmatched terms and their
weights are taken into consideration at the second phase to
further identify the effects of the left part upon the
similarity of services.
Next we firstly give the way to compute the semantic
distance of terms. Then offer our similarity metrics.

consideration. But these left terms also have effect on the


similarity of services.
Fig.3 offers the examples of three services. According to
(2), S 4 and S5 have the same similarity degrees with S 3 . But
the implied connections between terms make the left terms
k 43 and k 53 produce effect on the similarity. As shown in the
examples of fig.3, the semantic distance between k 43 and k 31
is 0.9, while for k 53 and k 31 its 0.1, therefore when left terms
are taken into consideration, the similarity degrees of
S 3 , S 4 and S 3 , S5 should not be equal anymore.
Considering the comparison of services in detail, when
the connections between terms are broken, its much
possible that the real semantics of the terms are no longer
kept. Therefore, we cant just treating compared services as
isolated term bags and employ the maximum matching to
calculate the similarity of services.
The implied connections between terms within one
service as indicated in fig.3 associate single terms into a
meaningful phrase. The unmatched terms definitely have
effect on the similarity of services. We need new metrics to
deal with the similarity of services which employ the terms
inside services fully and thus can reflect the association
between terms.

k 31

k 32
S3

k 32

A. Semantic Distance of Terms


Calculating the semantic distance of terms is the first
step to work out the similarity of services. There may exist
many decomposition rules to obtain terms. For the
simplicity of discussion, we only choose four rules from [4]
which are listed in Table 1. More rules can be combined
with our work easily.
Wordnet has limitation when the terms are not contained
in it and on the other side web search engine helps us to
find large-scale relevant information about almost any term.
This information can be taken as the context of terms. Thus,
we adopt the method in [8] to calculate the semantic
distance of terms. Here, to conform to the calculation of the
similarity of services, when the distance value is 1, it means
two terms are same.
denote
the
times
of
Let
N (k1 ), N (k 2 )
terms k1 , k 2 appearing in web pages returned

k 42
k 43

k 31

S3

k 41

S4

k 51
k 52
k 53

S5

Fig. 3 The effect of the implicit connections between services

TABLE I
DECOMPOSING RULES FOR WSDL

IV. SIMILARITY OF WEB SERVICES


The inner relations between terms of one theme break
the constraints of the bipartite graph model. The similarity
metric should be reconsidered to be able to differentiate the
cases shown in fig. 3.
As stated in [7], many kinds of relations exist between
terms within one theme, such as is-a, causal-effect and
also similar relation. Its not our purpose to define and
study all the implicit connections between terms. We aim to

Rule

158

name

Word

Case change

filmAction

flim, action

Case change
Suffix number
elimination
Underscore separator

ComedyFilm

comdey, film

film1

Film

comey_film

comdey, film

from Google respectively, N (k1 k 2 ) denote the cooccurrence of k1 , k 2 in the web pages from Google. Then
according to [8], the semantic distance of k1 , k 2 is:

methods of un _ value1, 2 , we propose the following


similarity measures:

Measure 1 (M_sum).

N ( k1 k 2 ) u N
)
N ( k1 ) u N ( k 2 )
(3)
term _ dis tan ce1, 2
log N
where N is the number of total web pages and usually set
to 1011 .
Google offers the values of N (k1 ), N (k 2 ) . The similarity
degree of almost any two terms thus can be measured. The
weights over edges in fig. 2 and fig. 3 are calculated
according to (3). While for the semantic distance of two
same terms, to ensure the precision we decide that the
semantic distance is just set to 1 and doesnt need to be
calculated.

wi , j

log(

Similarity1, 2

k i S1 , k j S 2

( 4)
| S1 | u | S 2 |
Measure 2 (M_max).
2 max_ value1, 2  max{wi , j }
k S
k U _ MV
Similarity1, 2
(5)
| S1 |  | S 2 |
Measure 3 (M_min).
2 max_ value12  min{wi , j }
k S
k U _ MV
Similarity12
( 6)
| S1 |  | S 2 |
Measure 4 (M_avg).
2 max_ value12  average( wi , j )
k S
k U _ MV
Similarity12
(7 )
| S1 |  | S 2 |
Measure 1 (M_sum) is the average of all the weighted
edges among two services. Its for the purpose of making
comparison with the two-phase similarity measures
measures 2, 3 and 4 (M_max, M_min and M_avg).
When | S 1 | | S 2 | , the two-phase measures are just the
j

B. Two Phase Similarity Metrics

For graph G ( S1 , S 2 , E ) , let MV and ME represent the


vertexes
and
the
edges
of
the
maximum
matching M respectively. max_ value1, 2 represents the
maximal value of M . Assume that | S1 |d| S 2 | ,
let U _ MV denote the unmatched term set and we

maximum weight matching. If | S 1 || S 2 | , for unmatched


term(s) as well as their weight(s), M_max and M_min
choose the sum of the maximal weights and the minimal
weights of each remained term respectively to represent the
effect of the remained terms upon the similarity degree.
M_avg selects the average of all the edges of the left terms.
The normalization factors of M_max, M_min and M_avg
are the number of all the terms contained in S 1 , S 2 .
According to two-phase similarity measures, the
similarity degrees for service pairs in fig.2 (a) is still 0.145.
But for S 3 , S 4 in fig.3 (a) the similarity degree is 0.643 by
the metric in (5) and for S 3 , S 5 in fig.3 (b) it is 0.485.
Unlike the original equal values 0.579 by (2), the similarity
degree of S 3 , S 4 by the metric in (5) is higher than that
of S 3 , S 5 for the reason that the left terms in S 4 have more
closer relation with terms inside S 3 than the left terms of S 5 .
The two phase similarity measures can differentiate the
cases that are not distinguishable by the maximum weight
matching.
We also observed that the similarity degrees obtained by
the new metric could be higher or lower than the original
values by the maximum matching. That also shows that
every term can have contribution on the similarity of
services. Besides those terms captured by the matching, if
the left terms associated with the matched terms have weak
connections, they would weaken the connection of two
services and thus lower down the similarity degree (as
shown in the example in fig.3 (b)). On the contrary, if the
left terms have strong connections with those already

have U _ MV S 2  MV . U _ ME represents the edges of


the
left
terms,
U _ ME {( k i , k j !, wi , j ) | k i S1 , k j U _ MV } .
As we want to include each term into the similarity
measure, especially unmatched terms, we have the
following design considerations.
(a) As each term has its contribution to the similarity
evaluation and the effect is reflected by the semantic
distance with other terms, we should select the proper
contribution factor for each term. Surely this
contribution factor is one of the distances of this term.
(b) The new metric should be able to reflect the following
cases: when the left terms have higher values with the
matched terms of the compared service, then the
similarity degree should also be higher.
(c) According to (a) and (b), the normalization factor of the
new metric should be the sum of two services
cardinalities.
With these considerations, we start the new similarity
measures as follows. As the similarity measure should
reflect the effect of each term in both S1 and S 2 , it could be
the sum of the values for matched terms in
S1 ( max_ value1, 2 ) and S 2 ( max_ value1, 2 ) and the values
for the unmatched terms in S1 (0, because all terms of
S1 have been included in M ) and S 2 (denoted
).
Therefore,
we
have
as
un _ value1, 2
2 max_ value1, 2  un _ value1, 2 as the numerator of the new
similarity measures. Next with different computation

159

matched terms, then they would strengthen the connections


of two services and improve the similarity degree.

recall

(9)

F1

A. Tuning
At the tuning phase, we randomly select 240 services
which belong to 7 different categories from the benchmark.
The terms are firsty extracted according to the rules in table
1. The similarity of terms between services is computed as
equation (3).
Fig.4 shows the precision, recall and F1 of four
measures. From the results, M_sum only has the highest
recall but the lowest values of precision and F1. M_max,
M_sum and M_avg have better precision and F1 than
M_sum. Thats for the reason that M_max, M_min and
M_avg are at least as good as the maximum matching
measure. We decide M_max is the best one because of its
highest precision and F1. M_max chooses the maximal
weights of each remaining term which is consistent with
the maximum weight matching because both try to find the
maximal values from the weights over edges. M_max could
identify the distance of the remaining parts with the already
matched part, while M_min and M_sum are not quite fit
because they may not be consistent with the basic trend and
thus not reflect whether the left unmatched part is related to
the matched part.
We have also noticed that the precision, recall and F1 of
M_max, M_min and M_avg do not exceed 70%. Thats
mainly for two reasons. Firstly we only decompose terms
from portType names and neglect terms appearing in other

services classified into the category by the similarity


measure Numclassified ), recall (the number of services being
correctly classified into their according categories by the
similarity measure w.r.t. the number of services originally
belonging to this category Numoriginal ) and F-measure (here

Numoriginal

2 * precison * recall
(10)
precision  recall
Besides the application of service classification, we also
apply our similarity to service query. According to [4], we
choose R-precision and AP (Average precision) as
parameters for evaluating the similarity measure on service
query. Let P n represent the number of the relevant services
among the first n returned services for the given query w.r.t
the first n returned services. When n equals to the number
of all the relevant services for the given query in the corpus,
it is R-precision. AP is the average of precisions P n when n
varies from 1 to the number of all the relevant services for
the given query. More precisely:
n
Numrelevant
(11)
Pn
n
n
represents the number of the relevant
where Numrelevant
services among the first n returned services for the given
query. Let N denote the number of all the relevant services
for the given query, then
N
Numrelevant
(12)
R  precision
N
N
Num1relevant  ...  Numrelevant
(13)
AP
N

V. EXPERIMENTS AND EVALUATION


This part provides the experiments. For the purpose of
comparison with the approach in [4], the benchmark
adopted for both tuning and evaluating has been obtained
from OWLS-TC2 version 2, which is also the benchmark
used in [4]. The benchmark itself has some characteristics.
All WSDL documents are translated from the original
OWL-S documents and after translation the description of
services may not conform to the convention of the
programming which brings more difficulty for obtain terms
from WSDL and partly lower down the accuracy of the
results of the experiments. For example, in the translated
WSDL documents, portType names are often like the form
ComedyfilmactionfilmSoap. Its hardly to decompose it
to single terms according to the rules in [4]. The same case
also happens to the operation names and input/output
message names. As we find that in most of this kind of
WSDL documents, the terms that appearing in the portType
names are the same as the definition of message types
which is consistent with the naming convention of
programmers and can be decomposed into individual terms.
Thus, in our experiments we utilize the decomposing rules
only upon the message types.
Totally 581 services which can be translated from OWLS to WSDL documents belonging to 7 categories are
obtained after translation. Experiments are taken upon these
services.
The experiments consist of three main steps. Firstly we
randomly select a part of web services to identify the
similarity metric out of M_sum, M_max, M_min and
M_avg which has the best performance. Secondly over a
large set of web services the outperformed similarity
measure is evaluated and compared with the maximum
weight matching. Finally the selected similarity measure is
evaluated and compared with the asymmetric measure
work in [4] for the purpose of service query.
The parameters to evaluate the performance of the
symmetric measure are precision (the number of services
being correctly classified into their respective category by
the similarity measure Numcorrectly _ classified w.r.t. the number of

we use F1). More precisely:


Numcorrectly _ classified
precision
Numclassified

Numcorrectly _ classified

(8)

http://semwebcentral.org/projects/owls-tc/

160

MM in fig. 5).The results show M_max has better precision,


recall and F1 than the maximum weight matching. The
result is not surprising because as we have illustrated by the
examples in fig.2 and fig.3, when the compared services
have the same cardinalities, M_max just act as the
maximum weight matching. For the unbalanced cases, the
maximum matching doesnt work while M_max can make
further differentiation and get much accurate results.
Considering M_max in detail, it is more restrictive than
(2) when the left unmatched terms only have weak
connections with those matched terms. For any two
services S1 , S 2 , let the minimum weight among the matched

precision, recall and F1 of M_sum,M_max,M_min and M_avg

0BVXP
0BPD[
0BPLQ
0BDYJ

80%
75%
70%

69.07%
68.87%
69.05%

66.65%

62.08%
62.18%
62.07%

65%

61.71%
56.54%
57.45% 56.50%
56.37%

60%
55%
50%
precision

F1

recall

edges be w _ min

Fig. 4 the average of precision, recall and F1 of M_sum, M_max, M_min


and M_avg.

the example in fig.3 (b)), and the maximum weight for the
left
terms
with
the
matched
terms
be w _ max c max{wi , j | k i S1 , k j U _ MV }} (its 0.11 for

parts considering the characteristic of WSDL documents in


the benchmark. Its easily to extend the similarity measure
to include those terms from operations and messages. Apart
from the structure of WSDL, we have not considered the
data types of parameters of messages either because our
purpose is to identify the effects of the connections of terms.
All these factors can be combined into our measure in the
future. Second reason is that the translation from OWL-s to
WSDL breaks the naming convention and lower down the
accuracy of the results.

the example in fig.3 (b)), we have the following property:


Property 1. For any two services S1 , S 2 , | S1 || S 2 | , given
threshold t , if similarity1, 2 ! t by (5) and w _ min t w _ max c ,

then we have similarity1, 2 ! t by (2).


Proof. Let M _ max 1, 2 denote similarity1, 2 obtained by (5).
Let MM 1, 2 denote similarity1, 2 obtained by (2). Then,
MM 1, 2  M _ max1, 2
M ( S 2  S1 )  S1 max {wi , j }

B. Evaluation of Similarity Metric for Service


Classification
M_max as the chosen metric would next be evaluated
over the whole benchmark. Totally 581 services belonging
to 7 categories which can be translated from OWL-S to
WSDLs are submitted. We compare M_max with the
relevant approach in [4]. As the similarity measure in [4] is
asymmetric for the purpose of the service query, we just
utilize equation (2) as its symmetric version to make
comparison with M_max for the service classification.
Fig. 5 offers the results of M_max compared with the
maximum weight matching of (2) (which is represented by

k j U _ MV

90%
80%
70%

As
MM 1, 2  M _ max 1, 2
t w _ min S1 ( S 2  S1 )  w _ max c( S 2  S1 ) S1
and by the condition w _ min t w _ max c

50%
40%

then similarity1, 2 ! t by (2).

58.47%

C. Evaluation of Similarity Measure for Service Query


The work in [4] chooses the asymmetric similarity
measure for the purpose of the service query, which is still
based on the maximum weight matching. The only
difference lies in the normalization factor which always
remains the cardinality of the query service in [4]. If S1 is
the
objective
of
the
query,
the
similarity
between S1 and S 2 is:

20%
10%
0%
recall

For the example in fig.3 (b), its reasonable that when the
left term has weak connection (0.157>0.11) with matched
terms, the similarity value should be lower. Therefore, the
property shows that the metric M_max utilizes each term
fully to decide the final similarity degree of services and is
able to reflect the practical case much better than the
maximum matching.

30%

precision

we

Therefore, if similarity1, 2 ! t by (5) and w _ min t w _ max c ,

53.18% 55.58%
49.89%

60%

have MM 1, 2  M _ max1, 2 t 0 .

MM
M_max
65.06%
63.06%

k i S1

S1 ( S1  S 2 )

SUHFLVLRQUHFDOODQG)RI00DQG0BPD[
100%

min{wi , j | k i , k j ! ME} (its 0.157 for

F1

Fig. 5 the precision, recall and F1 of the maximum weight matching (MM)
and M_max

161

ACKNOWLEDGMENT

query evaluation of QM, AM2and M_max

140%
100%
100%
120% 100%
100% 100%
90%
100%
73%
67%
80%
67%
50%55%
60%
50%
40%
20%
0%
Top5

Top10 Top15

This work is supported by NSFC with grant number 60803143


and the Natural Science Foundation of Shandong Province of
China under Grant No.Y2007G38.

QM
AM2
M_max
92%
83%
83%

REFERENCES
[1]

48%
30%
28%

[2]

R-precision AP

Top20

[3]
[4]

Fig. 6 Comparison of M_max, equation (14) and equation (15)

[5]

max_ value1.2
(14)
| S1 |
Apart from M_max and (14), we also provide a revised
asymmetric version of M_max. Given S1 as the query, we
have
similarity1, 2

[7]

max{wi , j }
max_ value1, 2 
k S
k U _ MV

| S1 |d| S2 |

| S1 |
(15)

{wi , j }
max_ value1, 2  k U_ MV max
k S
| S1 |!| S2 |

| S1 |

Similarity1, 2

[6]

[8]
[9]
[10]

The benchmark adopted provides test queries and the


relevant web services. Due to the translation tool, we can
only get 18 queries. The total number of the relevant web
services for 18 queries which have WSDL documents is
381.
Fig. 6 is the one-pass comparison results of M_max, (14)
(represented by QM in fig.6) and (15) (represented by AM2
in the fig. 6). M_max still has the best performance with
respect to RP, AP and top5~top20 precisions. Actually the
same case occurs in most of our experiment results.
Although the similarity in [4] is asymmetric, its core is
max_ value1.2 of the maximum weight matching. M_max is
better than the approach in [4]. As to the measure of (15),
its results are lower than both M_max and (14). That shows
the maximum matching is good enough in general cases.

[11]
[12]

[13]
[14]

[15]
[16]

VI. CONCLUSION AND FUTURE WORK


We propose the similarity measure to identify the
similarity of services with much relatedness. The
experiments show that our measure has better performance
than the original algorithms in both service classification
and query. The future work includes further improvements
on the performance of the measure, the combination of the
structure of WSDL into the measure and developing new
decomposition rules for WSDL.

[17]

[18]

[19]
[20]
[21]

162

M. Klusch, B. Fries, and K. Sycara, Automated semantic web


service discovery with OWLS-MX, in Proc. Intl Conf. on
Autonomous agents and multiagent systems (AAMAS06). New
York, NY, USA:ACM Press, 2006, pp. 915922.
S. Agarwal and R. Studer, Automatic atchmaking of Web
services, in Proc. of ICWS06, 2006, pp.4554.
B. Benatallah, M. Hacid, A. Leger, C. Rey, and F. Toumani, On
automating Web services discovery, The VLDB Journal, vol. 14,
no. 1, pp. 8496, 2005.
Pierluigi Plebani and Barbara Pernici. URBE: Web service
Retrieval based on Similarity Evaluation. IEEE Transactions on
Knowledge and Data Engineering, 16 Jan. 2009.
E. Stroulia and Y. Wang, Structural and semantic matching for
assessing Web-service similarity, Intl J. Cooperative Inf. Syst.,
vol. 14, no. 4, pp. 407438, 2005.
Wu jian, Wu zhaohui and Li ying et al. Web service discovery
based on ontology and similarity of words. Chinese journal of
computer science. Vol. 28, no. 4, 2005, pp.595-602
Danushka Bollegala, Yutaka Matsuo and Mitsuru Ishizuka.
Measuring the Similarity between Implicit Semantic Relations from
the Web. WWW2009pp.651-660
Mehran Sahami and Timothy D. Heilman. A Web-based Kernel
Function for Measuring the Similarity. WWW2006, pp.377-386
D. Martin (ed.), OWL-S: Semantic Markup for Web Services.
W3C
Submission,http://www.w3.org/Submission/OWL-S/,
November 2004.
H. Lausen, A. Polleres, and D. Roman (eds.), Web Services
Modeling Ontology (WSMO). W3C Submission, http://www.
w3.org/Submission/WSMO/, June 2 005.
R. Baeza-Yates and B. Ribeiro-Neto, Modern Information Retrieval.
ACM Press / Addison-Wesley, 1999.
Y. Hao, Y. Zhang, and J. Cao, WSXplorer: Searching for desired
web services, in Proc. Intl Conf. Advanced Information Systems
Engineering (CAiSE07), Trondheim, Norway, June 11-15, 2007,
pp. 173187.
X. Dong, J. Madhavan, and A. Halevy, Mining structures for
semantics, SIGKDD Explor. Newsl., vol. 6, no. 2, pp. 5360, 2004.
E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana,
Web services description language (WSDL) 1.1,
http://www.w3.org/TR/wsdl, World Wide Web Consortium, W3C
Note, March 2001.
K Gomadam, A Ranabahu, M Nagarajan et al. A Faceted
Classification Based Approach to Search and RankWeb APIs.
ICWS2008
M. Mecella, B. Pernici, and P. Craca, Compatibility of e-services
in a cooperative multi-platform environment, in Proc. Int l
Workshop on Technologies for E-Services (TES01), Rome, Italy,
September 14-15, 2001, pp. 4457.
J. Bae, L. Liu, J. Caverlee, and W. Rouse, Process mining,
discovery, and integration using distance measures, in Intl
Conf. on Web Services (ICWS06), September 2006, pp. 479
488.
A. Martens, Process oriented discovery of business partners, in
Proc. Intl Conf. on Enterprise Information Systems (ICEIS05),
Miami, USA, May 25-28, 2005, pp. 5764.
Wordnet, http://wordnet.princeton.edu/
B.W. On, N. Koudas, D. Lee and D. Drivastava. Group Linkage. In
Proc. ICDE, 2007
X. Dong, Similarity search of web services. VLDB 2003 .

Você também pode gostar