Top Banner
Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham Young University Supported by:
35

Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Resolving Under Constrained andOver Constrained Systems of Conjunctive

Constraints for Service Requests

Muhammed J. Al-MuhammedDavid W. Embley

Brigham Young University

Supported by:

Page 2: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Outline of Presentation

The larger project Satisfying free-form service requests Resolving encountered difficulties

Focus on resolution for: Under constrained systems of constraints Over constrained systems of constraints

System demo Concluding remarks

Page 3: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Challenges for Web Services

Help users find and use services Reduce requirements for service specification

and resolution

I want to see a dermatologist between the 12th and 15th, at 1:00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance.

Page 4: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

A Conceptual-Modeling Solution Domain Ontology

Has a single object set of interest (e.g. Appointment) Establishes requirements for insertion of a single object

into the object set of interest (e.g. requirements for making an appointment)

Has extensional recognizers (i.e. can match request to requirements)

Process Ontology Recognizes constraints Obtains information (from DB and from user) Satisfies constraints Resolves issues (if necessary)

Page 5: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Domain Ontology

object set of interest

optionalmandatory

functional

Page 6: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Domain Ontology: Data Frames

Time…textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean)

contextual keywords/phrases: (at\s+)?Time\s+or\s+after|……

Address…DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance)…

Distance …

textual representation: ((\d+(\.\d+)?)|(\.\d+))…DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean)

contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance…

Time…textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean)

contextual keywords/phrases: (at\s+)?Time\s+or\s+after|……

Address…DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance)…

Distance …

textual representation: ((\d+(\.\d+)?)|(\.\d+))…DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean)

contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance…

Time…textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean)

contextual keywords/phrases: (at\s+)?Time\s+or\s+after|……

Address…DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance)…

Distance …

textual representation: ((\d+(\.\d+)?)|(\.\d+))…DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean)

contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance…

Time…

textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?) TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|…

…Address

… DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance) …Distance

…textual representation: ((\d+(\.\d+)?)|(\.\d+))

…DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean)

contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance…

Page 7: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

I want to see a dermatologist between the 12th and 15th, at 1:00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance.

Appointment

context keywords/phrase: “appointment |want to see a |…”Time textual representation: “([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)” TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean)

contextual keywords/phrases: (at\s+)?Time\s+or\s+after|…Date DateBetween(x1: Date, x2: Date, x3: Date) returns(Boolean) contextual keywords/phrases: between\s+the\s+Date\s+and\s+Date ….Distance textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles? | kilometers? | … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|…)\s+Distance|…

Example

Page 8: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

I want to see a dermatologist between the 12th and 15th, at 1:00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance.

Appointment

context keywords/phrase: “appointment |want to see a |…”Time textual representation: “([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)” TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean)

contextual keywords/phrases: (at\s+)?Time\s+or\s+after|…Date DateBetween(x1: Date, x2: Date, x3: Date) returns(Boolean) contextual keywords/phrases: between\s+the\s+Date\s+and\s+Date ….Distance textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles? | kilometers? | … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|…)\s+Distance|…

Part of this is about finding the right ontology.

Page 9: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Marked-Up Domain OntologyDistance

DistanceLessThanOrEqual(d1: Distance, “15”)

TimeAtOrAfter(t1: Time, “1:00 PM”)

DateBetween(x1: Date, “12th”, “15th”)

InsuranceEqual(i1: Insurance, “IHC”)

Page 10: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Doctor

Insurance

ServiceDescription

Appointment

Address

Person

Name

PediatricianDuration

Auto Mechanic

Dermatologist

Cost

Date

Time

has

is at

is on

has

provides

has

is with

is for

is at

is at

has

->

has

sells

acceptsMedical Service Provider

Insurance Salesperson

Auto Service Provider

Service Provider

Person Address

Relevant Object and Relationship Sets Identification

Page 11: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Dermatologist Insurance

Appointment

Address

Person

Name

Date

Time

is at

is on

has

is with

is for

is at

is at

has

->

accepts

Person Address

Dermatologist Insurance

Appointment

Address

Person

Name

Date

Time

is at

is on

has

is with

is for

is at

is at

has

->

accepts

Person Address

Relevant Object & Relationship Sets

Dermatologist(y) is at Address(z)

Appointment(x) is with Dermatologist(y)

Page 12: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Dermatologist Insurance

Appointment

Address

Person

Name

Date

Time

is at

is on

has

is with

is for

is at

is at

has

->

accepts

Person Address

Dermatologist Insurance

Appointment

Address

Person

Name

Date

Time

is at

is on

has

is with

is for

is at

is at

has

->

accepts

Person Address

Relevant OperationsTimeAtOrAfter(t1: Time, “1:00 PM”)

DateBetween(x1: Date, “12th”, “15th”)

InsuranceEqual(i1: Insurance, “IHC”)

DistanceLessThanOrEqual(d1: Distance, “15”)

Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”)

DateBetween(x1: Date, “12th”, “15th”)

InsuranceEqual(i1: Insurance, “IHC”)

DistanceLessThanOrEqual(d1: Distance, “15”)

Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”)

Appointment(x0) is at Date(x1) /\ DateBetween(x1, “12th”, “15th”)

Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”)

DistanceLessThanOrEqual(d1: Distance, “15”)

Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”)

Appointment(x0) is at Date(x1) /\ DateBetween(x1, “12th”, “15th”)

Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”)

DistanceLessThanOrEqual(d1: Distance, “15”)

Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”)

Appointment(x0) is at Date(x1) /\ DateBetween(x1, “12th”, “15th”)

Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”)

DistanceLessThanOrEqual(DistanceBetweenAddresses(a1, a2), “15”)

…Address … DistanceBetweenAddresses(a1: Address, a2:

Address) returns (Distance) …

Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”)

Appointment(x0) is at Date(x1) /\ DateBetween(x1, “12th”, “15th”)

Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”)

Dermatologist(x1) is at Address(a1) /\ Person(x2) is at Address(a2) /\

DistanceLessThanOrEqual(DistanceBetweenAddresses(a1, a2), “15”)

Page 13: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Generated Constraints

Appointment(x0) is with Dermatologist(x1) /\ Appointment(x0) is for Person(x2)/\ Dermatologist(x1) has Name(x3)/\ Person(x2) has Name(x4)/\ Appointment(x0) is on Date(x5) /\ DateBetween(x5, “12th”, “15th”)/\ Appointment(x0) is at Time(x6) /\ TimeAtOrAfter(x6, “1:00 PM)/\ Dermatologist(x1) is at Address(x7) /\ Person(x2) is at Address(x8)/\ DistanceLessThanOrEqual(DistanceBetweenAddresses(x7, x8), “15”) /\ Dermatologist(x1) accepts Insurance(x9) /\ InsuranceEqual(x9, “IHC”)

Page 14: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

@create

initialize ready

@service-request-view complete

service-request-view, unsatisified-constraints = satisfy-contraints(service-request-view, service-request-constraints)

constraint satisfaction checked

service-request-view complete

missing information

service-request-view = get-from-system(service-request-view) if (still missing values) service-request-view = get-from-user(service-request-view)

no missing information

unique satisfaction found

schedule-appointment(...)report that the appointment is scheduled

unique satisfaction not found

report that the appointment cannot be scheduled negotiation complete

@negotiation required

service-request-view = negotiate(service-request-view, unsatisfied contraints)

no constraint satisfaction

negotiation required

multiple constraints satisfaction possibilities

unique constraint satisfaction

initial service-request-view ready

@process-ontology(domain-ontology)

service-request-view = create-service-request-view(domain-ontology)service-request-constraints = create-service-request-constraints(service-request-view)

@create

initialize ready

@service-request-view complete

service-request-view, unsatisified-constraints = satisfy-contraints(service-request-view, service-request-constraints)

constraint satisfaction checked

service-request-view complete

missing information

service-request-view = get-from-system(service-request-view) if (still missing values) service-request-view = get-from-user(service-request-view)

no missing information

unique satisfaction found

schedule-appointment(...)report that the appointment is scheduled

unique satisfaction not found

report that the appointment cannot be scheduled negotiation complete

@negotiation required

service-request-view = negotiate(service-request-view, unsatisfied contraints)

no constraint satisfaction

negotiation required

multiple constraints satisfaction possibilities

unique constraint satisfaction

initial service-request-view ready

@process-ontology(domain-ontology)

service-request-view = create-service-request-view(domain-ontology)service-request-constraints = create-service-request-constraints(service-request-view)

Process Ontology

Create service-request view Generate constraints Obtain information

From system From user

Satisfy constraints Resolve difficulties Finalize service request

Page 15: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Information from System

Dermatologist Insurance

Appointment

Address

Person

Name

Date

Time

is at

is on

has

is with

is for

is at

is at

has

->

accepts

Person Address

Dermatologist Insurance

Appointment

Address

Person

Name

Date

Time

is at

is on

has

is with

is for

is at

is at

has

->

accepts

Person Address

Page 16: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Generated Database Query

{<x0, x1, x3, x5, x6, x7, x9> | Appointment(x0) is with Dermatologist(x1)

/\ Dermatologist(x1) has Name(x3)/\ Appointment(x0) is on Date(x5) /\ DateBetween(x5, “12th”, “15th”)/\ Appointment(x0) is at Time(x6) /\ TimeAtOrAfter(x6, “1:00 PM)/\ Dermatologist(x1) is at Address(x7) /\ Dermatologist(x1) accepts Insurance(x9) /\ InsuranceEqual(x9, “IHC”)

}

Page 17: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Information from User

Some variables cannot be instantiated from the database. Person(x2) Name(x4) Address(x8)

Non-lexical values can be instantiated without particular values.

The system asks for values for lexical values. Name (of Person) for Appointment? Address (of Person) for Appointment?

Page 18: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Constraint Satisfaction

Exactly one solution: return it as the result A few solutions: return all and ask the user

to select one Too many solutions (under constrained):

resolve No solutions (over constrained): resolve

Over the Instantiated Values

Page 19: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Under Constrained“I want a dodge, a 2000 or newer. The Mileage should be less

than 80,000 and the price should not exceed $15,000”

Solution Make Model Price Year Mileage

S1 Dodge Stratus 9,451.00 2004 35,808

S2 Dodge Stratus 14,995.00 2005 1,694

S3 Dodge Stratus 14,999.00 2005 27,543

S4 Dodge Stratus 2,555.00 1997 115,424

S5 Dodge Stratus 6,900.00 2001 70,000

S168 Dodge Stratus 9,975.00 2003 34,060

www.cars.com, November 2005

Page 20: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Over Constrained“I want a dodge, a 2000 or newer. The Mileage should be less

than 80,000 and the price should not exceed $4,000.”

Sorry No car matches your request.

www.cars.com, November 2005

Page 21: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Key Observations

Some (near) solutions are better than others. People specify constraints on some concepts in

a domain more often than on other concepts.

Page 22: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Fundamental Concepts:Reward, Penalty, and Expectation A reward is zero or a positive real number

given to a solution for satisfying a constraint. A penalty is a negative real number given to a

near solution for violating a constraint. An expectation for a concept is the probability

that a constraint for the concept will be specified.

Page 23: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Fundamental Concepts:Pareto Optimality

Based on dominance relations The reward for S1 is as high as the reward for S2 For at least one reward S1 has a higher reward

Dominated solutions are not Pareto optimal

Page 24: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Too Many Solutions:Reward-Based Ordering

Calculate rewards and combine them Order solutions, highest combined reward

first Select the top-m Pareto optimal solutions

Page 25: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Example

“I want a dodge a 2000 or newer. The mileage should be less than 80,000 and the price should not be more than $15,000.”

Solution Make Model Price Year Mileage---------------------------------------------------------------S1 Dodge Stratus 13,999 2005 15,775S2 Dodge Stratus 11,998 2004 23,404S3 Dodge Stratus 14,200 2005 16,008S4 Dodge Stratus 14,557 2005 16,954 S5 Dodge Stratus 10,590 2003 38,608

S1 betterThe sameS1 better

Page 26: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Too Many Solutions: Expectation-Based Constraint Elicitation

Associate expectations with domain concepts. Order the concepts in a domain based on their

expectations. e.g. make > price > model > …

Elicit additional constraints over unconstrained concepts. e.g. If no preferred make provided, ask for make; if

no price, ask for price; …

Page 27: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

No Solution: Penalty-Based Ordering

Calculate penalties and combine them. Order close solutions, lowest combined

penalty first. Select the top-m Pareto optimal near

solutions. Ask if constraints can be relaxed, but only

ask about a few (so as not to be bothersome).

Page 28: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Example

Near Solution Insurance Distance Time Date

S1 IHC 16 1:00 PM the 19th

S2 IHC 18 1:10 PM the 19th

S3 IHC 4 12:40 PM the 19th

S4 IHC 6 12:50 PM the 19th

S5 IHC 20 3:00 PM the 19th

Near Solution

Insurance=“IHC”

Expectation: 0.4

Distance5

Expectation: 0.3

Time“1:00 PM”

Expectation: 0.8

Date=“the 20th”

Expectation: 0.9

expplty

S1 0.000 0.076 0.167 0.250 0.248

S2 0.000 0.090 0.160 0.250 0.252

S3 0.000 0.007 0.014 0.250 0.236

S4 0.000 0.007 0.007 0.250 0.233

S5 0.000 0.102 0.083 0.250 0.256

“I want to see a dermatologist on the 20th, 1:00 PM or after. The dermatologistshould be within 5 miles from my home and must accept my IHC insurance.”

Can this constraint “1:00 PM or after” be relaxed to “12:40 PM”?

Can this constraint “the 20th” be relaxed to “the 19th”?

12:40 PM the 19th

Page 29: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Demo

Page 30: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Demo

Page 31: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Demo

Page 32: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Performance Analysis(Correspondence to Human Expectations)

Tested appointment and car-purchase domains 16 human subjects

The best-5 near solutions from 19 appointments The best-5 solutions from 32 cars

Compared human selection with system selection

Page 33: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Performance Analysis(appointment domain)

0

0.20.4

0.60.8

11.2

1 3 5 7 9 11 13 15 17 19

The near solutions

% o

f su

bjec

ts w

ho c

hose

a n

ear

solu

tion

system

human

Page 34: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Performance Analysis(car-purchase domain)

0

0.2

0.4

0.6

0.8

1

1.2

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31

The solutions

% o

f sub

ject

s w

ho c

hose

a s

olut

ion

System

Human

Page 35: Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Concluding Remarks

Simplification of everyday service request specification Free-form service request Ontology-based recognition of constraints Constraint satisfaction

Resolution for under and over constrained requests Ordered expectations Ordered penalty/reward Pareto optimality Inter-observer agreement test: “Substantial Agreement”

Status of prototype implementation

www.deg.byu.edu