Leveraging Web Services Discovery with Customizable Hybrid Matching

28
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)

description

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 - PowerPoint PPT Presentation

Transcript of Leveraging Web Services Discovery with Customizable Hybrid Matching

Page 1: Leveraging Web Services Discovery with Customizable Hybrid Matching

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)

Page 2: Leveraging Web Services Discovery with Customizable Hybrid Matching

Introduction

• Web Service Discovery– Web Service Interface Description – Web Service Matching

• Hybrid Matching– Classification– Hybrid Algorithms– Experiments– Involved Data

• Related Work

Page 3: Leveraging Web Services Discovery with Customizable Hybrid Matching

Web Service Discovery and Selection

Service Registry

(UDDI, ebXML)

Service Requestor

Service Provider

Publ

ish Bind

Find

Service Interface

Descriptions

Service Behavior

Descriptions

Service Quality

Service Service-oriented application

Service Description

Preferences

User experience

Page 4: Leveraging Web Services Discovery with Customizable Hybrid Matching

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

Page 5: Leveraging Web Services Discovery with Customizable Hybrid Matching

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.

Page 6: Leveraging Web Services Discovery with Customizable Hybrid Matching

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>

Page 7: Leveraging Web Services Discovery with Customizable Hybrid Matching

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

• …

Page 8: Leveraging Web Services Discovery with Customizable Hybrid Matching

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>…

Page 9: Leveraging Web Services Discovery with Customizable Hybrid Matching

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>

Page 10: Leveraging Web Services Discovery with Customizable Hybrid Matching

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).

Page 11: Leveraging Web Services Discovery with Customizable Hybrid Matching

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

Page 12: Leveraging Web Services Discovery with Customizable Hybrid Matching

Structural Matching

Name,Description,

Input,Output

….

Name,Description,

Input,Output

xy

abc

Operation Operation

Similarity ?

Name,Description,Operations

….

Name,Description,Operations

XY

AB

Web Service Web Service

Similarity ?

Z

wij

Requestedoperation

Provided operation

wij

Requestedservice

Provided service

Maximum weight bipartite matching: Kuhn’s Hungarian methodDefine overall similarity score: Matching average, Dice, Simpson coefficients…

Page 13: Leveraging Web Services Discovery with Customizable Hybrid Matching

Lexical Matching

NameOperationsDescription

ServiceName

Input messageOutput message

Description

OperationNameParts

Description

MessageNameType

Description

PartName

ElementsDescription

TypeName

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 WordNet3. Semantic

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

Page 14: Leveraging Web Services Discovery with Customizable Hybrid Matching

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

Page 15: Leveraging Web Services Discovery with Customizable Hybrid Matching

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 confidenc

e

Page 16: Leveraging Web Services Discovery with Customizable Hybrid Matching

Hybrid Algorithms

Hybridization

AlgorithmsData

AugmentationMixed

Cascade

Switching

Combination

Page 17: Leveraging Web Services Discovery with Customizable Hybrid Matching

Notation

• q – query• x – web service (operation, message, part,

data type, element)• γ – similarity threshold• simA(q; x) – similarity between a query q and

a web service x• XA(q; γ) = {x | simA(q; x) > γ} denotes a set

of services (operations,…) found by the algorithm A.

• simSy(q; x) – syntactic similarity• simSe(q; x) – semantic similarity

Page 18: Leveraging Web Services Discovery with Customizable Hybrid Matching

Hybrid Algorithms: Examples

MixedXH1(q; γ) = {simH1(q; x) > γ}, wheresimH1(q; x) = F{simSy(q; x), simSe(q; x)},F(a,b)={min(a,b), max(a,b), w1a+w2b | w1+w2 = 1; 0 ≤ w1;w2 ≤ 1

• CascadeXH2(q; γ) = {x | simH2(q; x) > γ}, where simH2(q; x) = simSy(q; x), x XSe(q; γ)

Page 19: Leveraging Web Services Discovery with Customizable Hybrid Matching

Experimental Results

1. Min(simSy(q; x), simSe(q; x))2. Max(simSy(q; x), simSe(q; x)) 3. 0.8simSy(q; x) +0.2 simSe(q; x)4. 0.6simSy(q; x) +0.4 simSe(q; x)

Page 20: Leveraging Web Services Discovery with Customizable Hybrid Matching

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

Page 21: Leveraging Web Services Discovery with Customizable Hybrid Matching

Client knowledge

<respond>

<develop><invoke><respond>

<register>

<query>

<report>

<recommend>

Web ServiceProxy(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 existHow many of them provide feasible results?

Page 22: Leveraging Web Services Discovery with Customizable Hybrid Matching

System for Implicit Culture Support

D B o f o bs e rv a tio ns

Inductiv e M o dule

C ultura l A c tio n F ind er

S ceneP ro d ucer

C o mpo s e r

th e o ry

a g e n ts , o b je c ts , a c t io n s , s c e n e s

s c e n e s

d o ma in th e o ry

o b s e rv a t io n s

o b s e rv a t io n s

s c e n e s

O bs e rv e r

a g e n ts , o b je c ts , a c t io n s , s c e n e s

Stores information

about actions

Produce a theory about common user

behaviorRecommend actions

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

Page 23: Leveraging Web Services Discovery with Customizable Hybrid Matching

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)

Page 24: Leveraging Web Services Discovery with Customizable Hybrid Matching

Matching + User experience

Matching algorithm

S1 0.8

S2 0.75

S3 0.5

S4 0.25

IC-Service: invoke-response

S3 0.8

S2 0.5

S1 0.3

S4 0.2

IC-Service: feedback 0-1

S2 1

S3 0.5

S4 0.5

S1 0

Final ranking

S2 0.75

S3 0.6

S1 0.36

S4 0.31

Relevant

S2

S3

S4

S1

Page 25: Leveraging Web Services Discovery with Customizable Hybrid Matching

Functional knowledge

• Query knowledge-based reasoning response– Vocabularies

• currency exchange [currency country] getExchangeRate(country1, country2)

– Composition• currency exchange

getCountryByCurrency(currency) + getExchangeRate(country1, country2)

Page 26: Leveraging Web Services Discovery with Customizable Hybrid Matching

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.

Page 27: Leveraging Web Services Discovery with Customizable Hybrid Matching

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.”

Page 28: Leveraging Web Services Discovery with Customizable Hybrid Matching

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.