Resolving Under Constrained and Over Constrained Systems of

  • Slides: 35
Download presentation
Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed

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 § Resolving

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 2

Challenges for Web Services © Help users find and use services © Reduce requirements

Challenges for Web Services © Help users find and use services © Reduce requirements for service and resolution specification I want to see a dermatologist between the 12 th and 15 th, at 1: 00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance. 3

A Conceptual-Modeling Solution © Domain Ontology § Has a single object set of interest

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) 4

Domain Ontology functional mandatory object set of interest optional 5

Domain Ontology functional mandatory object set of interest optional 5

Domain Ontology: Data Frames Time … textual representation: ([2 -9]|1[012]? )s*: s*([0 -5]d)s*[Aa. Pp]s*

Domain Ontology: Data Frames Time … textual representation: ([2 -9]|1[012]? )s*: s*([0 -5]d)s*[Aa. Pp]s* . ? s* [Mm]s* . ? ) Time. At. Or. After(t 1: Time, t 2: Time) returns (Boolean) contextual keywords/phrases: (ats+)? Times+ors+after|… … Address … Distance. Between. Addresses(a 1: Address, a 2: Address) returns (Distance) … Distance … textual representation: ((d+(. d+)? )|(. d+)) … Distance. Less. Than. Or. Equal(d 1: Distance, d 2: Distance) returns (Boolean) contextual keywords/phrases: (within|nots+mores+than |<s*=|…)s+Distance … 6

Example Appointment context keywords/phrase: “appointment |want to see a |…” Time textual representation: “([2

Example Appointment context keywords/phrase: “appointment |want to see a |…” Time textual representation: “([2 -9]|1[012]? )s*: s*([0 -5]d)s*[Aa. Pp]s* . ? s* [Mm]s* . ? )” Time. At. Or. After(t 1: Time, t 2: Time) returns (Boolean) contextual keywords/phrases: (ats+)? Times+ors+after|… Date. Between(x 1: Date, x 2: Date, x 3: Date) returns(Boolean) contextual keywords/phrases: betweens+thes+Dates+ands+Date …. Distance textual representation: ((d+(. d+)? )|(. d+)) context keywords/phrases: miles? | kilometers? | … Distance. Less. Than. Or. Equal(d 1: Distance, d 2: Distance) returns (Boolean) contextual keywords/phrases: (within|…)s+Distance|… I want to see a dermatologist between the 12 th and 15 th, at 1: 00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance. 7

Appointment context keywords/phrase: “appointment |want to see a |…” Time textual representation: “([2 -9]|1[012]?

Appointment context keywords/phrase: “appointment |want to see a |…” Time textual representation: “([2 -9]|1[012]? )s*: s*([0 -5]d)s*[Aa. Pp]s* . ? s* [Mm]s* . ? )” Time. At. Or. After(t 1: Time, t 2: Time) returns (Boolean) contextual keywords/phrases: (ats+)? Times+ors+after|… Date. Between(x 1: Date, x 2: Date, x 3: Date) returns(Boolean) contextual keywords/phrases: betweens+thes+Dates+ands+Date …. Distance textual representation: ((d+(. d+)? )|(. d+)) context keywords/phrases: miles? | kilometers? | … Distance. Less. Than. Or. Equal(d 1: Distance, d 2: Distance) returns (Boolean) contextual keywords/phrases: (within|…)s+Distance|… Part of this is about finding the right ontology. I want to see a dermatologist between the 12 th and 15 th, at 1: 00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance. 8

Marked-Up Domain Ontology Distance. Less. Than. Or. Equal(d 1: Distance, “ 15”) Time. At.

Marked-Up Domain Ontology Distance. Less. Than. Or. Equal(d 1: Distance, “ 15”) Time. At. Or. After(t 1: Time, “ 1: 00 PM”) Date. Between(x 1: Date, “ 12 th”, “ 15 th”) Insurance. Equal(i 1: Insurance, “IHC”) 9

Relevant Object and Relationship Sets Identification 10

Relevant Object and Relationship Sets Identification 10

Relevant Object & Relationship Sets Dermatologist(y) is at Address(z) Appointment(x) is with Dermatologist(y) 11

Relevant Object & Relationship Sets Dermatologist(y) is at Address(z) Appointment(x) is with Dermatologist(y) 11

Relevant Operations Appointment(x 0) 1 is: Time, Time. At. Or. After(t at Time(t “

Relevant Operations Appointment(x 0) 1 is: Time, Time. At. Or. After(t at Time(t “ 1: 00 Time. At. Or. After(t 1, “ 1: 00 PM”) 1) /PM”) Date. Between(x Appointment(x 01): is Date, at Date(x “ 12 th”, “ 15 th”) Date. Between(x 1, “ 12 th”, “ 15 th”) 1) / Insurance. Equal(i Dermatologist(x 11): accepts Insurance, Insurance(i “IHC”) 1) / Insurance. Equal(i 1, “IHC”) Distance. Less. Than. Or. Equal(d Distance. Less. Than. Or. Equal(Distance. Between. Addresses(a Dermatologist(x “ 15”)2) is at Address(a 1: Distance, 1) / Person(x 1, a 2), “ 15”) 2) / Distance. Less. Than. Or. Equal(Distance. Between. Addresses(a 1, a 2), “ 15”) … Address … Distance. Between. Addresses(a 1: Address, a 2: Address) returns (Distance) … 12

Generated Constraints Appointment(x 0) is with Dermatologist(x 1) / Appointment(x 0) is for Person(x

Generated Constraints Appointment(x 0) is with Dermatologist(x 1) / Appointment(x 0) is for Person(x 2) / Dermatologist(x 1) has Name(x 3) / Person(x 2) has Name(x 4) / Appointment(x 0) is on Date(x 5) / Date. Between(x 5, “ 12 th”, “ 15 th”) / Appointment(x 0) is at Time(x 6) / Time. At. Or. After(x 6, “ 1: 00 PM) / Dermatologist(x 1) is at Address(x 7) / Person(x 2) is at Address(x 8) / Distance. Less. Than. Or. Equal(Distance. Between. Addresses(x 7, x 8), “ 15”) / Dermatologist(x 1) accepts Insurance(x 9) / Insurance. Equal(x 9, “IHC”) 13

Process Ontology © Create service-request view © Generate constraints © Obtain information § From

Process Ontology © Create service-request view © Generate constraints © Obtain information § From system § From user © Satisfy constraints © Resolve difficulties © Finalize service request 14

Information from System 15

Information from System 15

Generated Database Query {<x 0, x 1, x 3, x 5, x 6, x

Generated Database Query {<x 0, x 1, x 3, x 5, x 6, x 7, x 9> | } Appointment(x 0) is with Dermatologist(x 1) / Dermatologist(x 1) has Name(x 3) / Appointment(x 0) is on Date(x 5) / Date. Between(x 5, “ 12 th”, “ 15 th”) / Appointment(x 0) is at Time(x 6) / Time. At. Or. After(x 6, “ 1: 00 PM) / Dermatologist(x 1) is at Address(x 7) / Dermatologist(x 1) accepts Insurance(x 9) / Insurance. Equal(x 9, “IHC”) 16

Information from User © Some variables cannot be instantiated from the database. § Person(x

Information from User © Some variables cannot be instantiated from the database. § Person(x 2) § Name(x 4) § Address(x 8) © 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? 17

Constraint Satisfaction Over the Instantiated Values © Exactly one solution: return it as the

Constraint Satisfaction Over the Instantiated Values © 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 18

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

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 S 1 Dodge Stratus 9, 451. 00 2004 35, 808 S 2 Dodge Stratus 14, 995. 00 2005 1, 694 S 3 Dodge Stratus 14, 999. 00 2005 27, 543 S 4 Dodge Stratus 2, 555. 00 1997 115, 424 S 5 Dodge Stratus 6, 900. 00 2001 70, 000 Dodge Stratus 9, 975. 00 2003 34, 060 … … S 168 www. cars. com, November 2005 19

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

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 20

Key Observations © Some (near) solutions are better than others. © People specify constraints

Key Observations © Some (near) solutions are better than others. © People specify constraints on some concepts in a domain more often than on other concepts. 21

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

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. 22

Fundamental Concepts: Pareto Optimality © Based on dominance relations § The reward for S

Fundamental Concepts: Pareto Optimality © Based on dominance relations § The reward for S 1 is as high as the reward for S 2 § For at least one reward S 1 has a higher reward © Dominated solutions are not Pareto optimal 23

Too Many Solutions: Reward-Based Ordering © Calculate © Order rewards and combine them solutions,

Too Many Solutions: Reward-Based Ordering © Calculate © Order rewards and combine them solutions, highest combined reward first © Select the top-m Pareto optimal solutions 24

Example “I want a dodge a 2000 or newer. The mileage should be less

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. ” S 1 better The same S 1 better Solution Make Model Price Year Mileage -------------------------------S 1 Dodge Stratus 13, 999 2005 15, 775 S 2 Dodge Stratus 11, 998 2004 23, 404 S 3 Dodge Stratus 14, 2005 16, 008 S 4 Dodge Stratus 14, 557 2005 16, 954 S 5 Dodge Stratus 10, 590 2003 38, 608 25

Too Many Solutions: Expectation-Based Constraint Elicitation © Associate expectations with domain concepts. © Order

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; … 26

No Solution: Penalty-Based Ordering © Calculate penalties and combine them. © Order close solutions,

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). 27

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

Can this constraint “ 1: 00 PM or after” be relaxed to “ 12: 40 PM”? Example Can this constraint “the 20 th” be relaxed to “the 19 th”? “I want to see a dermatologist on the 20 th, 1: 00 PM or after. The dermatologist should be within 5 miles from my home and must accept my IHC insurance. ” Near Solution Insurance Distance Time Date S 1 IHC 16 1: 00 PM the 19 th S 2 IHC 18 1: 10 PM the 19 th S 3 IHC 4 12: 40 PM the 19 th S 4 IHC 6 12: 50 PM the 19 th S 5 IHC 20 3: 00 PM the 19 th Near Solution Insurance=“IHC” Expectation: 0. 4 Distance 5 Expectation: 0. 3 Time “ 1: 00 PM” Expectation: 0. 8 Date=“the 20 th” Expectation: 0. 9 exp plty S 1 0. 000 0. 076 0. 167 0. 250 0. 248 S 2 0. 000 0. 090 0. 160 0. 252 S 3 0. 000 0. 007 0. 014 0. 250 0. 236 S 4 0. 000 0. 007 0. 250 0. 233 S 5 0. 000 0. 102 0. 083 0. 250 0. 256 28

Demo 29

Demo 29

Demo 30

Demo 30

Demo 31

Demo 31

Performance Analysis (Correspondence to Human Expectations) © Tested appointment and car-purchase domains © 16

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 32

Performance Analysis (appointment domain) 33

Performance Analysis (appointment domain) 33

Performance Analysis (car-purchase domain) 34

Performance Analysis (car-purchase domain) 34

Concluding Remarks © Simplification of everyday service request specification § Free-form service request §

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 35