35
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:

Muhammed J. Al-Muhammed David W. Embley Brigham Young University

  • Upload
    deion

  • View
    52

  • Download
    1

Embed Size (px)

DESCRIPTION

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:. Outline of Presentation. The larger project Satisfying free-form service requests - PowerPoint PPT Presentation

Citation preview

Page 1: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

@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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

Demo

Page 30: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

Demo

Page 31: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

Demo

Page 32: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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: Muhammed J. Al-Muhammed David W. Embley Brigham Young University

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