searching web services xin (luna) dong, alon halevy, dinh lam, jayant madhavan, ema nemes, jun zhang...

32
Searching Web Searching Web Services Services Xin (Luna) Dong Xin (Luna) Dong , Alon Halevy, , Alon Halevy, Dinh Lam, Dinh Lam, Jayant Madhavan, Ema Nemes, Jun Jayant Madhavan, Ema Nemes, Jun Zhang Zhang University of Washington University of Washington

Upload: myles-boyd

Post on 18-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Searching Web ServicesSearching Web Services

Xin (Luna) DongXin (Luna) Dong, Alon Halevy, Dinh Lam,, Alon Halevy, Dinh Lam,Jayant Madhavan, Ema Nemes, Jun ZhangJayant Madhavan, Ema Nemes, Jun Zhang

University of WashingtonUniversity of Washington

Web Service SearchWeb Service Search Web services are getting popular within Web services are getting popular within

organizations and on the weborganizations and on the web The growing number of web services raises the The growing number of web services raises the

problem of web-service search.problem of web-service search. First-generation web-service search engines do First-generation web-service search engines do

keyword search on web-service descriptionskeyword search on web-service descriptions BindingPoint, Grand Central, Web Service List, BindingPoint, Grand Central, Web Service List,

Salcentral, Web Service of the Day, Remote Methods, Salcentral, Web Service of the Day, Remote Methods, etc.etc.

Keyword search is Keyword search is NOT enough!NOT enough!

I. NOT Accurately Specify I. NOT Accurately Specify Users’ Information NeedsUsers’ Information Needs

Nine-day forecast for a city

II. NOT Return Objects II. NOT Return Objects at the Right Levelat the Right Level

There are 31 web services

III. NOT Capture III. NOT Capture the Underlying Semanticsthe Underlying Semantics

Italian CAP

Location Information

LocationInformation

Get Weather Forecast

IV. Users Need to Drill Down to IV. Users Need to Drill Down to Find the Desired OperationsFind the Desired Operations

Choose an operation

IV. Users Need to Drill Down to IV. Users Need to Drill Down to Find the Desired OperationsFind the Desired Operations

GetIraqWeatherInfo

city

Invoke

Enter the input parameters

IV. Users Need to Drill Down to IV. Users Need to Drill Down to Find the Desired OperationsFind the Desired Operations

Results – output

What is a good What is a good

web-service search engine?web-service search engine?

I. Allow Users to AccuratelyI. Allow Users to AccuratelySpecify their NeedsSpecify their Needs

Input: city stateOutput: forecastDescription: the weather in the

next nine days

Template Searchon Operations

II. Return Operations Rather than II. Return Operations Rather than Web ServicesWeb Services

There are 15 operations from 3 web services

III. Capture the Underlying III. Capture the Underlying Structure and SemanticsStructure and Semantics

GetWeatherByCityState(0.48858497)

GetIraqExtendedWeatherInfo(0.47451577)

GetIraqWeatherInfo(0.46325448)

GetNineDayForecastInfo(0.4384773)

IV. Search for Similar OperationsIV. Search for Similar Operations

Returns nine day forecast information for a valid given U.S. zipcode

IV. Search for Similar OperationsIV. Search for Similar Operations

Similar Operations, Inputs, Outputs

Composable with Input, Output

IV. Search for Similar OperationsIV. Search for Similar Operations

Operations that compose with input

getZipInfoByAddress

CityToZip

Jump from operation to operation

V. Composition SearchV. Composition Search

See compositions

V. Composition SearchV. Composition Search

getZipInfoByAddress+GetNineDayForecastInf

o

ShortZipCode+GetNineDayForecastInf

o

How to How to Achieve the Goal?Achieve the Goal?

Principle I. Principle I. Exploit StructureExploit Structure

Web ServiceCorpus

Web service description

Operation name and description

Input parameter names

Output parameter names

OperationRelevance

Parameter Names Are Highly VariedParameter Names Are Highly Varied Op1: GetTemperatureOp1: GetTemperature

Input: Zip, AuthorizationInput: Zip, Authorization Output: ReturnOutput: Return

Op2: WeatherFetcherOp2: WeatherFetcher Input: PostCodeInput: PostCode Output: TemperatureF, WindChill, HumidityOutput: TemperatureF, WindChill, Humidity

Op3: LocalTimeByZipcodeOp3: LocalTimeByZipcode Input: ZipcodeInput: Zipcode Output: LocalTimeByZipCodeResultOutput: LocalTimeByZipCodeResult

Op4: ZipCodeToCityStateOp4: ZipCodeToCityState Input: ZipCodeInput: ZipCode Output: City, StateOutput: City, State

Op5: CityStateToZipCodeOp5: CityStateToZipCode Input: City, StateInput: City, State Output: ZipCodeOutput: ZipCode

Input parameter names

Output parameter names

PrinciplePrinciple 2: 2: Cluster Parameters into ConceptsCluster Parameters into Concepts

Web ServiceCorpus

Web service description

Operation name and description

Input parameter names & concepts

Output parameter names & concepts

OperationSimilarity

Concepts

What if…What if…

Hard questions:Hard questions:What is the distance between my What is the distance between my

home (98036) and the university home (98036) and the university (98195)?(98195)?

What is the weather in Seattle?What is the weather in Seattle?

Ask Google?Ask Google?

Distance between 98036 and 98195

FOREST RESOURCE IMPROVEMENT ASSOCIATION OF ALBERTA

Ask Woogle!Ask Woogle!

Input: zip1=‘98036’zip2=‘98195’

Output: distance

Web-Service Automatic InvocationWeb-Service Automatic Invocation

<GetDistance>14.27101

<getDistance>31.350397116680228

Searching Web ServicesSearching Web Services

Xin (Luna) Dong, Alon Halevy, Dinh Lam, Xin (Luna) Dong, Alon Halevy, Dinh Lam, Jayant Madhavan, Ema Nemes, Jun ZhangJayant Madhavan, Ema Nemes, Jun Zhang

University of WashingtonUniversity of Washington

www.cs.washington.edu/wooglewww.cs.washington.edu/woogle

Back-upBack-up

Example ClustersExample Clusters (temperature, heatindex, icon, chance, precipe, uv, like, (temperature, heatindex, icon, chance, precipe, uv, like,

temprature, dew, feel, weather, wind, humid, visible, temprature, dew, feel, weather, wind, humid, visible, pressure, condition, windchill, dewpoint, moonset, sunrise, pressure, condition, windchill, dewpoint, moonset, sunrise, moonrise, sunset, heat, precipit, extend, forecast, china, moonrise, sunset, heat, precipit, extend, forecast, china, local, update)local, update)

(entere, enter, pitcher, situation, overall, hit, double, strike, (entere, enter, pitcher, situation, overall, hit, double, strike, stolen, ball, rb, homerun, triple, caught, steal, pct, op, slug, stolen, ball, rb, homerun, triple, caught, steal, pct, op, slug, player, bat, season, stats, position, experience, throw, player, bat, season, stats, position, experience, throw, players, draft, experier, birth, modifier)players, draft, experier, birth, modifier)

(state, city)(state, city) (zip)(zip) (code)(code)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Recall

Precision Func

Comb

ParOnly

Woogle

Impact of Multiple Sources of Evidences Impact of Multiple Sources of Evidences in Operation Matchingin Operation Matching

Wooglewithout

clustering

Ignore structure

Text matching on descriptions

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Recall

Precision ParIO

ConIO

Woogle

Impact of Parameter Clustering in Impact of Parameter Clustering in Input/output MatchingInput/output Matching

WoogleCompare

only concepts

Compare only parameter names