Title: Ontology-Based Constraint Recognition for Free-Form Service Requests
1Ontology-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.
2A Free-Form Service Request
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
3Weather Forecasting Service
Access to the National Digital Forecast Database
4Weather Forecasting Service
Access to the National Digital Forecast Database
39.78
-89.66
2007-04-21
4
5Request Recognition
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
6Request Results
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
MaximumTemp
ChanceOfPrecip
MinimumTemp
53 34 10
54 39 14
50 37 41
55 40 70
7What Makes this Work?
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
The heart of the problem constraint recognition
- WeatherReport(x0) is for Latitude(getLatitude(Ill
inois, Springfield)) - WeatherReport(x0) is for Longitude(getLongitude(
Illinois, Springfield)) - WeatherReport(x0) starts on StartDate(NextDate(2
1st)) - WeatherReport(x0) is for NumDays(NrDaysBetween(Ne
xtDate(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)
8Ontology-Based Constraint Recognition
9Ontology-Based Constraint Recognition
Add object satisfy constraints
10Ontology-Based Constraint Recognition
NumDays(x)
Formal predicates object sets relationship
sets
WeatherReport(x) is for Latitude(y)
11Ontology-Based Constraint Recognition
Formal constraints e.g. functional,
mandatory,
?x(WeatherReport(x) ? ?1y(WeatherReport(x)
is for Latitude(y))
12Ontology-Based Constraint Recognition
NumDays internal representation integer
default value 1
Data frames instance recognition operation
recognition
StartDate internal representation date
default value (today) text representation
monthName\s(0?1-9
12\d301)(\s\,)?\s\d4
(the\s)?(0?1-9
12\d301)\s(th...)...
toInternalRepresentation(xstring) returns
(StartDate) Tomorrow() returns (StartDate)
context keywords/phrases tomorrownext\sday
... NrDaysBetween(x1StartDate, x2EndDate)
returns (NumDays) context
keywords/phrases between the
\sx1\sand\sx2 ...
13Ontology-Based Constraint Recognition
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
14Ontology-Based Constraint Recognition
?
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
15Ontology-Based Constraint Recognition
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
16Ontology-Based Constraint Recognition
StartDate ... NrDaysBetween(x1StartDate,
x2EndDate) returns (NumDays)
context keywords/phrases between
the \sx1\sand\sx2 ...
?
?
?
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
17Ontology-Based Constraint Recognition
StartDate ... NrDaysBetween(x1StartDate,
x2EndDate) returns (NumDays)
context keywords/phrases between
the \sx1\sand\sx2 ...
?
?
?
?
?
Format Default value 24 Hourly
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
18Ontology-Based Constraint Recognition
StartDate ... NrDaysBetween(x1StartDate,
x2EndDate) returns (NumDays)
context keywords/phrases between
the \sx1\sand\sx2 ...
?
?
?
?
?
Format Default value 24 Hourly
?
?
?
?
?
?
?
?
?
Whats the weather forecast for Springfield,
Illinois, between the 21st and 24th?
19Generated Rel. Calculus Query
Whats the weather forecast for Springfield,
Illinois between the 21st and 24th?
- lt x2, x3, x4 gt
- WeatherReport(x0) is for Latitude(getLatitude(
Illinois, Springfield)) - WeatherReport(x0) is for Longitude(getLongitude(
Illinois, Springfield)) - WeatherReport(x0) starts on StartDate(NextDate(2
1st)) - WeatherReport(x0) is for NumDays(NrDaysBetween(Ne
xtDate(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)
20Experiment
- Subjects BYU students
- Domains
- Doctor/Dentist appointments
- Car purchase
- Apartment rental
- Requests
Requests Predicates Arguments Appointmen
t 10 126 34 Car
15 315 98 Apartment
6 107 38 Totals 31
548 170
21Results
Recall Precision Appointment predicates
0.98 1.00 arguments 0.94
1.00 Car predicates 0.99
0.99 arguments 0.98
0.99 Apartment predicates 0.97
1.00 arguments 0.92
1.00 All predicates 0.98
0.99 arguments 0.95 0.99
22Results
Recall Precision Appointment predicates
0.98 1.00 arguments 0.94
1.00 Car predicates 0.99
0.99 arguments 0.98
0.99 Apartment predicates 0.97
1.00 arguments 0.92
1.00 All 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
23Results
Recall Precision Appointment predicates
0.98 1.00 arguments 0.94
1.00 Car predicates 0.99
0.99 arguments 0.98
0.99 Apartment predicates 0.97
1.00 arguments 0.92
1.00 All 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.
24Results
Recall Precision Appointment predicates
0.98 1.00 arguments 0.94
1.00 Car predicates 0.99
0.99 arguments 0.98
0.99 Apartment predicates 0.97
1.00 arguments 0.92
1.00 All predicates 0.98
0.99 arguments 0.95 0.99
Recall good can improve by improving value
recognition Precision excellent recognized
constraints and values almost cannot be
irrelevant
25Implications
- Free-form queries possible
- Free-form service requests possible
- Ontology-based web services
- Ontology-based wrapper for web services
- Example the National Digital Forecast Database
26Wrappers for Web Services
Demo
www.deg.byu.edu
27Costs
- Manual ontology construction
- Mitigating observations
- Not impossibly hard to build by hand
- Data-frame library
- Form-based construction
- Table-based semi-automatic construction
28Conclusions
- 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