1 ontology-based constraint recognition for free-form service requests muhammed al-muhammed david w....

28
1 Ontology-Based Constraint Recognition for Free- Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part by the National Science Foundation under Grant #0414644.

Post on 21-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

1

Ontology-Based Constraint Recognition for Free-Form

Service RequestsMuhammed Al-Muhammed

David W. Embley

Brigham Young University

Supported in part by the National Science Foundation under Grant #0414644.

Page 2: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

2

A Free-Form Service Request

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 3: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

3

Weather Forecasting ServiceAccess to the National Digital Forecast Database

Page 4: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

4

Weather Forecasting ServiceAccess to the National Digital Forecast Database

-89.66

39.78

2007-04-21 4

Page 5: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

5

Request Recognition

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 6: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

6

Request Results

53° 34° 10%

54° 39° 14%

50° 37° 41%

55° 40° 70%

MaximumTemp ChanceOfPrecipMinimumTemp

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 7: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

7

What Makes this Work?What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

WeatherReport(x0) is for Latitude(getLatitude(“Illinois”, “Springfield”)) WeatherReport(x0) is for Longitude(getLongitude(“Illinois”, “Springfield”)) WeatherReport(x0) starts on StartDate(NextDate(“21st”)) WeatherReport(x0) is for NumDays(NrDaysBetween(NextDate(“21st”),

NextDate(“24th”))) WeatherReport(x0) has Format(“24 Hourly”) WeatherReport(x0) produces ReportPeriod(x1) ReportPeriod(x1) has MaximumTemperature(x2) ReportPeriod(x1) has MinimumTemperature(x3) ReportPeriod(x1) has PercentChanceOfPrecipitation(x4)

The heart of the problem:constraint recognition

Page 8: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

8

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Page 9: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

9

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Add object; satisfy constraints

Page 10: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

10

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Formal predicates: object sets & relationship sets

WeatherReport(x) is for Latitude(y)

NumDays(x)

Page 11: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

11

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Formal constraints: e.g. functional, mandatory, …

x(WeatherReport(x) 1y(WeatherReport(x) is for Latitude(y))

Page 12: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

12

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Data frames: instance recognition; operation recognition

StartDate internal representation: date default value: (today) text representation {monthName}\s+([0]?[1-9] | [12]\d|3[01])(\s*\,)?\s+\d{4} | (the\s+)?([0]?[1-9] | [12]\d|3[01])\s*(th|...)|... toInternalRepresentation(x:string) returns (StartDate) Tomorrow() returns (StartDate) context keywords/phrases: tomorrow|next\s*day | ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

NumDays internal representation: integer default value: 1 …

Page 13: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

13

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 14: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

14

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 15: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

15

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 16: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

16

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 17: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

17

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

Format … Default value: “24 Hourly” …

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 18: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

18

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

Format … Default value: “24 Hourly” …

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 19: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

19

Generated Rel. Calculus QueryWhat’s the weather forecast for Springfield, Illinois between the 21st and 24th?

{ < x2, x3, x4 > | WeatherReport(x0) is for Latitude(getLatitude(“Illinois”, “Springfield”)) WeatherReport(x0) is for Longitude(getLongitude(“Illinois”, “Springfield”)) WeatherReport(x0) starts on StartDate(NextDate(“21st”)) WeatherReport(x0) is for NumDays(NrDaysBetween(NextDate(“21st”),

NextDate(“24th”))) WeatherReport(x0) has Format(“24 Hourly”) WeatherReport(x0) produces ReportPeriod(x1) ReportPeriod(x1) has MaximumTemperature(x2) ReportPeriod(x1) has MinimumTemperature(x3) ReportPeriod(x1) has PercentChanceOfPrecipitation(x4) }

Page 20: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

20

Experiment Subjects: BYU students Domains:

Doctor/Dentist appointments Car purchase Apartment rental

Requests:

Requests Predicates ArgumentsAppointment 10 126 34Car 15 315 98Apartment 6 107 38Totals 31 548 170

Page 21: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

21

Results

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

Page 22: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

22

Results

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

e.g. missed:

“any Monday of this month” “most days of the week”

“a nook” “extra storage”

Page 23: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

23

Results

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

e.g. missed:

“I want a Toyota with a cheap price, 2000 would be great …”

The system incorrectly concluded that “2000” was a price.

Page 24: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

24

Results

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

Recall: “good” – can improve by improving value recognition

Precision: “excellent” – recognized constraints and valuesalmost cannot be irrelevant

Page 25: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

25

Implications

Free-form queries: possible Free-form service requests: possible Ontology-based web services

Ontology-based wrapper for web servicesExample: the National Digital Forecast Database

Page 26: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

26

Wrappers for Web Services

www.deg.byu.edu

Page 27: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

27

Costs

Manual ontology construction Mitigating observations

Not impossibly hard to build by handData-frame libraryForm-based constructionTable-based semi-automatic construction

Page 28: 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part

28

Conclusions

Can process ontology-based free-form requests Experimental recall: can be sufficiently good Experimental precision: nicely bounded within context

Possibilities: Free-form queries Free-form service requests Wrapper for web services

www.deg.byu.edu