Leveraging Web Services Discovery

snufflevoicelessInternet και Εφαρμογές Web

22 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

73 εμφανίσεις

Leveraging Web Services Discovery
with Customizable Hybrid Matching

Natallia Kokash,

Willem
-
Jan van den Heuvel

(University of Tilburg, the Netherlands),

Vincenzo D'Andrea

(ICSOC 2007)

Introduction


Web Service Discovery


Web Service Interface Description


Web Service Matching


Hybrid Matching


Classification


Hybrid Algorithms


Experiments


Involved Data


Related Work

Web Service Discovery and Selection

Service

Registry

(UDDI, ebXML)

Service


Requestor

Service


Provider

Find

Service

Interface

Descriptions

Service

Behavior

Descriptions

Service

Quality

Service

Service
-
oriented

application

Service

Description

Preferences

User

experience

Web Services Discovery


Matching



meeting the functionality required
by a user with specifications of existing services


Generic
(heuristics, domain
-
independent ontologies)


Community
(domain
-
specific ontologies)


Personal
(preferences, specific functions and
patterns for comparing requests and existing
services)


Selection



choosing a service with the best
quality among those able to satisfy a user goal

Service Interface Description


(Syntactic)


Identity



unique identity of the interface


Input/Output


the meaning of input and output parameters


Faults



specify the abstract message format for any error messages
that may be output as the result of the operation


Types



declare data types used in the interface (XML Schema)


Documentation



natural language service description and usage
guide


(Semantic)


Preconditions



a set of semantic statements that are required to be
true before an operation can be successfully invoked


Effects



a set of semantic statements that must be true after an
operation completes execution after being invoked.


Restrictions



a set of assumptions about the environment that must
be true


Quality of Service



non
-
functional parameters such as response
time, execution cost, capacity, etc.


Web Service Description Language (WSDL)

GoogleSearch.wsdl

<message name=”
doGoogleSearchResponse
”>


<part name=”
return
” type=”
GoogleSearchResult
”/>

</message>

...

<complexType name=”
GoogleSearchResult
”>

<all>


<element name=”
searchComments
” type=”
string
”/>


<element name=”
estimatedTotalResultsCount

type=”
int
”/>


<element name=”
resultElements

type=”
ResultElementArray
”/>

...

< /all>

< /complexType>

WolframSearch.wsdl

<message name=”
WolframSearchResponse
”>


<part element=”
WolframSearchReturn
”/ >

</message>

...

<element name=”
WolframSearchReturn
”>

<complexType>

<sequence>


<element name=”
Result
” type=”
WolframSearchResult
”/ >

< /sequence>

< /complexType>

< /element>

...

<complexType name=”
WolframSearchResult
”>

<sequence>


<element name=”
TotalMatches
” type=”
int
”/ >


<element name=”
Comment
” type=”
string
”/ >


<element name=”
Matches
” type=”
WolframSearchMatchArray
”/
>

...

< /sequence>

< /complexType>

Semantic Web Service Description


Managing End
-
To
-
End OpeRations (
METEOR
-
S
)


Semantic Web Services Framework (
SWSF
)



Web Service Modelling Ontology (
WSMO
)


Ontology Web Language for Services (
OWL
-
S
)


Semantic Web Rule Language (
SWRL
)


Web Service Description Language


Semantics (
WSDL
-
S
)


The semantics of operations are directly added to WSDL files


Easy to deploy and use


Does not support full features of OWL
-
S process ontology


Universal Service
-
Semantics Description Language (
USDL
)


Based on Web Ontology Language (OWL)


Employs Word
-
Net as a common basis for understanding the
meaning of services


Side effects:
create, update, delete, find, affects




WSDL
-
S (Semantics)

StockQuotes.wsdls



xmlns:Ontology4=
http://lsdis.cs.uga.edu/projects/meteor
-
s/wsdl
-
s/ontologies/LSDIS_Finance.owl

xmlns:wssem="http://www.ibm.com/xmlns/WebServices/WSSemantics">



<message name="
GetQuotesSoapIn
">


<part name="
QuoteTicker
" type="
string
"
wssem:modelReference="
Ontology4#Stock.stockSymbol
"
/>

</message>



<operation name="GetStockQuotes"
wssem:modelReference="
Ontology4#DelayedStockQuote
">


<input name="GetQuotes" message="
GetQuotesSoapIn
" />



</operation>



Ontology Web Language (
OWL)

LSDIS_FInance.owl



<
owl:ObjectProperty rdf:ID="
stockSymbol
">


<rdfs:range rdf:resource="#
SymbolicString
"/>


<rdfs:domain rdf:resource="#
Stock
"/>


</owl:ObjectProperty>



<owl:ObjectProperty rdf:ID="
stock
">


<rdfs:range>


<owl:Class>


<owl:unionOf rdf:parseType="
Collection
">


<owl:Class rdf:about="#
Stock
"/>


<owl:Class rdf:about="#
Security
"/>


</owl:unionOf>


</owl:Class>


</rdfs:range>


<rdfs:domain rdf:resource="#
SecuritiesTransaction
"/>


</owl:ObjectProperty>

Semantic Web Services…


Vast semantic descriptions are required


Fits only easily formalized domains


High complexity of matching


Do not describe what services do


Do not provide context identification


Do not describe objects used by the service but not provided by the
client


Logic
-
based approaches are difficult to use


Do not reflect real world scenarios sufficiently


Users must guess which ontology is used to write requests





Open Directory Project (human
-
edited directory of the Web, constructed
and maintained by a vast community of volunteer editors)
vs.


(Google) search engine that tries to find a document that can satisfy the
information need (regardless of its format).

WS Matching Algorithms

Kokash, N.: "A Comparison of Web Service Interface Similarity
Measures", Proceedings of STAIRS, 2006, pp. 220
--
231.

Registry

Parsing

Tagging

Indexing

Matching

VSM

Semantic

Other

Evaluation

Hybrid

Query

Ontology

Meta
-

data

http://dit.unitn.it/~kokash/sources

Structural Matching

Name,

Description,

Input,

Output

….

Name
,

Description,

Input,

Output



x

y

a

b

c

Operation

Operation

Similarity ?

Name,

Description,

Operations

….

Name,

Description
,

Operations



X

Y

A

B

Web Service

Web Service

Similarity ?

Z

w
ij

Requested

operation

Provided

operation

w
ij

Requested

service

Provided

service

Maximum weight bipartite matching:
Kuhn’s Hungarian method

Define overall similarity score:
Matching average, Dice, Simpson coefficients…

Lexical Matching

Name

Operations

Description

Service

Name

Input message

Output message

Description

Operation

Name

Parts

Description

Message

Name

Type

Description

Part

Name

Elements

Description

Type

Name

Description

Element


Tokenization


Example: ”tns:GetDNSInfoByWebAddressResponse”


{tns,
get, dns, info, by, web, address, response}.


1.
Vector
-
Space Model (VSM) (tf
-
idf)

2.
VSM + synonyms from the WordNet

3.
Semantic


Seco, N., Veale, T., Hayes, J.: “An intrinsic information content metric
for semantic similarity in WordNet”,
ECAI
, 2004, pp. 1089
-
1090

Experimental Results


Collection 1


Criterion:
One semantically equivalent operation


40 web services, 5 groups


Collection 2


Criterion:
Related domains


371 web services, 68 groups



VSM is better than Semantic (WordNet
-
based)


WordNet is too general


Lexical difference between queries and existing services


The Longman defining vocabulary


make it easier to create logically precise definitions


2 200 words (~4 000 senses)


Corresponds to 10 000 WordNet synsets


WordNet provides a limited set of relations (hyponyms,
synonyms…)


Matching confidence often is very low

Matching results: service rating list

Web service

(.wsdl file)

Similarity
score

relevance

HuZip.wsdl

1.0

+

CurrencyExchangeService.wsdl

0.121

-

Services.wsdl

0.114

+

GetCurrencyExchange.wsdl

0.083

-

FastWeather.wsdl

0.080

-



ZipDistance.wsdl

0.036

+

Query

Matching

confidence

Hybrid Algorithms

Hybridization

Algorithms

Data

Augmentation

Mixed

Cascade

Switching

Combination

Notation


q


query


x


web service (operation, message, part, data
type, element)


γ



similarity threshold


sim
A
(
q; x
)


similarity between a query q and a
web service x


X
A
(q;
γ
) = {x | sim
A
(q; x) >
γ
}
denotes a set of
services (operations,…) found by the algorithm
A.


sim
Sy
(
q; x
)


syntactic similarity


sim
Se
(
q; x
)


semantic similarity

Hybrid Algorithms: Examples

Mixed

X
H1
(q;
γ
) = {sim
H1
(q; x) >
γ
}, where

sim
H1
(q; x) = F{sim
Sy
(q; x), sim
Se
(q; x)},

F(a,b)={min(a,b), max(a,b),

w
1
a+w
2
b | w
1
+w
2

= 1; 0


w1;w2


1


Cascade

X
H2
(q;
γ
) = {x | sim
H2
(q; x) >
γ
}, where

sim
H2
(q; x) = sim
Sy
(q; x), x


X
Se
(q;
γ
)

Experimental Results

1.
Min(sim
Sy
(q; x), sim
Se
(q; x))

2.
Max(sim
Sy
(q; x), sim
Se
(q; x))

3.
0.8sim
Sy
(q; x) +0.2 sim
Se
(q; x)

4.
0.6sim
Sy
(q; x) +0.4 sim
Se
(q; x)

Hybrid data


Service knowledge


Features of existing services (service documentation,
specification, interface description, ontology
-
based
semantic extension, service reputation, monitored
information)


Client knowledge


Client's profile: area of expertise, location, history of
searches and previously used web services


Functional knowledge


Knowledge required by the matching algorithm to map
between the client needs and the services that might
satisfy those needs

Client knowledge

<respond>

<develop>

<invoke>

<respond>

<register>

<query>

<report>

<recommend>

Web Service

Proxy

(Axis)

Application

Registry

Community

IC
-
Service

<feedback>

Birukou, A., Blanzieri, E., D'Andrea, V., Giorgini, P., Kokash, N., Modena,
A.: "IC
-
Service: A Service
-
Oriented Approach to the Development of
Recommendation Systems", The ACM Symposium on Applied
Computing, Special Track on Web Technologies (WT), March 2007.


24 / 40 services exist

How many of them provide feasible results?

System for Implicit Culture Support

Stores
information
about actions

Produce a
theory about
common user
behavior

Recommend

actions

http://dit.unitn.it/~implicit

Observation of web service invocations


Actors:


Applications (application name, user name, location)


Users (user name, location)


Objects:


Operation (operation name, web service name, category)


Inputs/Outputs (parameter name, parameter value)


Requests (operation names, input/output parameters, category)


Actions:


Bind (timestamp, web service),


Invoke (timestamp, operation, input),


Get response (timestamp, operation, output, response time),


Raise exception (timestamp, operation, exception type, input),


Provide feedback (report about contract violations, domain
-
specific
QoS parameters),


Submit query (request, preferences)

Matching + User experience

Matching algorithm

S
1

0.8

S
2

0.75

S
3

0.5

S
4

0.25

IC
-
Service: invoke
-
response

S
3

0.8

S
2

0.5

S
1

0.3

S
4

0.2

IC
-
Service: feedback 0
-
1

S
2

1

S
3

0.5

S
4

0.5

S
1

0

Final ranking

S
2

0.75

S
3

0.6

S
1

0.36

S
4

0.31

Relevant

S
2

S
3

S
4

S
1

Functional knowledge


Query


歮潷k敤来
-
扡b敤e牥慳潮r湧n


牥獰潮獥


Vocabularies


currency exchange



[currency


country]


getExchange
Rate(country1, country2)


Composition


currency exchange



getCountryByCurrency(currency) +
getExchange
Rate(country1, country2)

Matching: Related Work

1.
[Sajjanhar’04] Sajjanhar, A., Hou, J., Zhang, Y.: ”Algorithm for Web Services
Matching”,
APWeb
, 2004, pp. 665

670.

2.
[Bruno ’05] Bruno, M., Canfora, G. et al.: ”An Approach to support Web
Service Classification and Annotation”,
IEEE International Conference on e
-
Technology, e
-
Commerce and e
-
Service
, 2005.

3.
[Corella’06] Corella, M.A., Castells, P.: “Semi
-
automatic semantic
-
based web
service classification”,
International Conference on Knowledge
-
Based
Intelligent Information and Engineering Systems
, 2006.

4.
[Dong’04] Dong, X.L. et al.: ”Similarity Search for Web Services”, VLDB,
2004.

5.
[Platzer’05] Platzer, C.; Dustdar, S.: “A vector space search engine for Web
services”,
Proceedings of IEEE European Conference on Web services
(ECOWS)
, 2005.

6.
[Stroulia’05] Stroulia, E., Wang, Y.: ”Structural and Semantic Matching for
Accessing Web Service Similarity”,
International Journal of Cooperative
Information Systems
, Vol. 14, No. 4, 2005, pp. 407
-
437.

7.
[Wu’05] Wu, J., Wu, Z.: ”Similarity
-
based Web Service Matchmaking”,
IEEE
International Conference on Services Computing
, 2005, pp. 287
-
294.

8.
[Zhuang’
05
] Zhuang, Z., Mitra, Pr., Jaiswal, A.: ”Corpus
-
based Web Services
Matchmaking”, AAAI, 2005.

9.
[Verma’05] Verma, K., Sivashanmugam, K., et al.: “Meteors wsdi: A scalable
p2p infrastructure of registries for semantic publication and discovery of
web services.”
Journal of Information Technology and Management. Special
Issue on Universal Global Integration,

Vol. 6, No.1, 2005, pp. 17
-
39.

Hybrid algorithms: Related work


Syeda
-
Mahmood, T., Shah, G., et al.: “Searching service
repositories by combining semantic and ontological
matching”,
International Conference on Web Services
, 2005,
pp. 13
-
20.

“(1) The domain
-
independent relationships are derived using
an English thesaurus… (2) The domain
-
specific ontological
similarity is derived by inferencing the semantic annotations
associated with web service descriptions.

…better relevancy results can be obtained for service matches
from a large repository, than could be obtained using any
one cue alone.”


Klusch, M. Fries, B., Sycara, K.: “Automated Semantic Web
Service Discovery with OWLS
-
MX”, AAMAS, 2006.

“…under certain constraints logic based only approaches to
OWLS service I/O matching can be significantly
outperformed by hybrid ones.”

Hybrid matching: Related work


Rocha, C. et al.: “A Hybrid Approach for Searching in the
Semantic Web”,
International World Wide Web Conference
,
2004, pp. 374
-
383)


Castells, P., Fernandez, M., Vallet, D.: “An Adaptation of the
Vector
-
Space Model for Ontology
-
Based Information
Retrieval”, IEEE Transactions on Knowledge and Data
Engineering, 2007, to appear.