1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W....
-
date post
21-Dec-2015 -
Category
Documents
-
view
224 -
download
1
Transcript of 1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W....
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.
2
A Free-Form Service Request
What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?
3
Weather Forecasting ServiceAccess to the National Digital Forecast Database
4
Weather Forecasting ServiceAccess to the National Digital Forecast Database
-89.66
39.78
2007-04-21 4
5
Request Recognition
What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?
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?
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
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
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
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)
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))
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 …
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?
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?
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?
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?
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?
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?
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) }
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
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
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”
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.
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
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
26
Wrappers for Web Services
www.deg.byu.edu
27
Costs
Manual ontology construction Mitigating observations
Not impossibly hard to build by handData-frame libraryForm-based constructionTable-based semi-automatic construction
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