32
CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic Invocation of Web Services

CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Embed Size (px)

Citation preview

Page 1: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG

PRESENTED BY: SIDDHARTH PALANISWAMI

A Query-based System for Automatic Invocation of

Web Services

Page 2: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Introduction

Web Services – a software system designed to support interoperable machine-to-machine interaction over a network. Google Maps API, eBay API

WSDL – Traditional web services use the Web Services Description Language to describe the operations it provides in a machine readable format XML based. Defines what are the operations, names, endpoints,

input and out parameters.

Page 3: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Introduction

Semantic Web – semantics(meaning) of the information and services on the web are defined. Aids in understanding user/machine requests to use the

web content

Ontology – representation of a set of concepts in a domain and relationships between the concepts. Used to define a domain.

OWL – a language standard for representing ontologies.

Page 4: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

What is Automatic Invocation

Process user’s query and automatically determine which web services is to be used and which operation is to be performed.

What is the temperature in Charlotte? = getCurrentWeather(28200)

Invoke the chosen operation by passing the input parameters and display the results

Page 5: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Why Automatic Invocation

Abstract the complexities of XML based web services from end users

Provide a easy and simple UIDevelopers need to understand the

operations provided by a web service, parameters, ports ,etc.

WSDL files specify syntax only and not semantics

End users need to fill out complex forms in order to query against web services

Page 6: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Problem Definition

Address the problem of users and developers having to understand the operations in web services.

Reduce user interaction with web servicesMap user queries to relevant operations in a

domain specific web serviceProvide simple UIHide details of web service specification and

implementation from users.

Page 7: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Overview

Accepts user query in a free from text box.

Matches user’s query with web service descriptions.

Invokes the relevant web service

Displays results

Page 8: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Design and Implementation

Page 9: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Components

WSDL ProcessorUser Query InterfaceQuery ProcessorLexiconSpell CheckerMatch ProcessorRelevance CheckerWS Invocation PreprocessorWS InvokerFallback Invocation Behavior

Page 10: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

WSDL Processor

WSDL Repository contains WSDL files of web services that the system will use.

The processor will parse these WSDL files and populate the WSDL data structures to store operation names, parameters, endpoints, port types for each file.

Invoked only once, results cached for faster performance.

Page 11: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

User Query Interface

Simple InterfaceNo use of domain specific formsUser submits query like submitting queries to

popular search enginesQuery in the form of English natural

language sentences or questions How to get to New York from Boston?

Page 12: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Query Processor

Normalize the user query – Stop words removal

Common, ‘meaningless’ words like ‘the’, ‘what’ are removed. Saves processing time. What is the current time (local time) @ NYC? = current time (local time) @

NYC Replace non-alphanumeric characters

Non-alphanumeric character which have meanings are replaced with corresponding alphanumeric words.

Mapping of such characters are stored. Replaced with space if no match is found.

Example @ is replaced with ‘at’ – current time (local time) at NYC Words in parenthesis are not removed as they can add context

information Abbreviations are extended - current time (local time) at New York

City Prepositions are not removed(generally considered stopwords)

‘at’, ‘to’, ‘from’ are retained to help determine the context Query words stored in Query Words Repository

Page 13: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Lexicon

Uses WordNet and JWNL to access WordNet WordNet is a semantic lexicon for the English

language. It groups English words into sets of synonyms called synsets, provides short, general definitions, and records the various semantic relations between these synonym sets.

Used as a dictionary look up as well as a glossary and thesaurus

Used by the Match Processor, Relevance Checker.

Page 14: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Spell Checker

Used by Match Processor and Relevance checker to determine the correctness of query words

Used when no match for a query word is found

Accomplished by implementing Soundex and Metaphone algorithms.

Page 15: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor

Tries to match query with web servicesUses the words in the Query Words

RepositoryConsists of two components

Ontology Matcher Dictionary Matcher

Page 16: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor – Ontology Matcher

Ontologies for several popular domains defined using OWL Lite and stored in Ontology Repository.

Ontology modeled using Jena frameworkModels are statements made of Subject,

Predicate, Object

Page 17: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor – Ontology Matcher

Page 18: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor – Ontology Matcher

Query words are searched for in the models Best price for flight from Los Angeles to San Francisco on

Sunday – matches Flight Domain

Matching ontology sentence is storedPrepositions like ‘at’, ‘from’ are used to identify

contexts. From – identifies Los Angeles as origin, to – identifies destination

Ontology matcher uses Lexicon to help in matchingDirect matchingSynonym, hyponym, hypernym matching

How hot is it right now in Charlotte? – hot is not found in model but related word temperature can be found

Root words are used

Page 19: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor – Ontology Matcher

Matching results are also used for extending ontology models

Hot is added to the model

Page 20: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor – Ontology Matcher

If no match is found: Match against a list of locations

Charlotte is matched with locations Use web service to check if location Check if noun by looking for capitalized first letter Use Spell Checker to check if the word is spelt

correctly

Page 21: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Match Processor – Dictionary Matcher

Used when ontology matcher does not yield matches

Stop words are removed from operation names in web services – getWeather () – Weather

Query words matched with operation namesDirect Matching

Query word matched directly with operation/stripped operation names

Stripped Matching Stripped query words are matched with operation/stripped

operation namesDictionary Level Matching

Synonyms, hypernyms and hyponyms of query words matched with operation/stripped operation names.

Page 22: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Relevance Checker

Used when Match Processor yields no resultsUses glossary(definitions/meanings) of query

words provided by Lexicon. hot - having a high or higher than desirable temperature

or giving off heat or feeling or causing a sensation of heat or burning

Uses input and output parameter of methods.Uses comments and annotations in WSDL

files.

Page 23: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

WS Invocation Preprocessor

Checks selected WSDL files to determine whether user’s query has sufficient input parameters

The Ontology Matcher helps identify the domain of the query.

The semantics in the WSDL files are matched with the context identified to determine the operation and other parameters

Weather at Detroit – domain weather, input parameter location – matches – getWeather(location) operation

Text matchers are used incase of failure

Page 24: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

WS Invoker

The selected operation and web service is invoked and the corresponding input parameters are provided.

The results are parsed and displayed to the user.

Page 25: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Fallback Invocation Behavior

If no operation can be identified after matching query with WSDL files

User is presented with a form with links to various operations.

User can select the desired operationInformation pre-filled in the form based on

user queryIf nothing works user asked to refine query.

Page 26: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Experimental Results

Set up : 10 varying length queries were submitted as input

Results:

Queries that need both Ontology and Dictionary matcher takes longer

Page 27: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Experimental Results

Longer query strings take longer time due to the Lexicon Block

Page 28: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Experimental Results

Extending ontologies make subsequent queries faster

Page 29: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Related Work

Extends work by Syeda-Mahmood et al. Adds dynamic learning from previous matches Add extending ontology vocabulary Applying knowledge to subsequent queries

Page 30: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Conclusions and Future Work

User queries are matched with web servicesSelf learning to improve efficiency by

learning from previous queries

Future Work - Extend the domains Extend the ontology models Try using Metanym Matching Compare other OWL types

Page 31: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Questions for Discussion

What about support for web services without WSDL?

What about queries over multiple domains?How are the matches ranked?How are the results displayed to the user?What if more than one operation satisfy a

user’s query?

Page 32: CHAITALI GUPTA, RAJDEEP BHOWMIK, MICHAEL R. HEAD, MADHUSUDHAN GOVINDARAJU, WEIYI MENG PRESENTED BY: SIDDHARTH PALANISWAMI A Query-based System for Automatic

Thank You