Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ontology-Based Constraint Recognition in Free-Form Service Requests Muhammed J. Al-Muhammed Brigham Young University Sponsored in part by NSF (#0083127.

Similar presentations


Presentation on theme: "Ontology-Based Constraint Recognition in Free-Form Service Requests Muhammed J. Al-Muhammed Brigham Young University Sponsored in part by NSF (#0083127."— Presentation transcript:

1 Ontology-Based Constraint Recognition in Free-Form Service Requests Muhammed J. Al-Muhammed Brigham Young University Sponsored in part by NSF (#0083127 and #0414644)

2 2 Motivation Enable machines to process natural language service requests Users can invoke services using natural language  “Natural language queries are ultimate goal for querying databases.”

3 3 The Problem I want to see a dermatologist between the 5th and the 10th, at 1:00 PM or after. The dermatologist should be within 5 miles from my home and must accept my IHC insurance. Appointment(x 0 ) is with Dermatologist(x 1 ) /\ Appointment(x 0 ) is for Person(x 2 ) /\ Dermatologist(x 0 ) has Name(x 3 ) /\ Person(x 2 ) has Name(x 4 ) /\ Appointment(x 0 ) is on Date(x 5 ) /\ DateBetween(x 5, “the 5th”, “the 10th”) /\ Appointment(x 0 ) is at Time(x 6 ) /\ TimeAtOrAfter(x 6, “1:00 PM) /\ Dermatologist(x 1 ) is at Address(x 7 ) /\ Person(x 2 ) is at Address(x 8 ) /\ DistanceLessThanOrEqual(DistanceBetweenAddresses(x 7, x 8 ), “5”) /\ Dermatologist(x 1 ) accepts Insurance(x 9 ) /\ InsuranceEqual(x 9, “IHC”) Given a free-form service request

4 4 Ontology-Based Resolution Encode domain knowledge in a domain ontology Match a service request with ontologies Use the best matching ontology to generate a formalism

5 5 generalization/specialization Domain Ontology: Basic Concepts functional many-many optional mutual exclusion “+”

6 6 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 …

7 7 Implicit Knowledge

8 8 Domain Ontology Recognition Input: service request, domain ontologies Output: a best matching marked-up ontology

9 9 I want to see a dermatologist between the 5th and the 10th, at 1:00 PM or after. The dermatologist should be within 5 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+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|…

10 10 I want to see a dermatologist between the 5th and the 10th, at 1:00 PM or after. The dermatologist should be within 5 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+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|…

11 11 Marked-Up Domain Ontology  Distance  DistanceLessThanOrEqual(d1: Distance, “5”)  TimeAtOrAfter(t1: Time, “1:00 PM”)  DateBetween(x1: Date, “the 5th”, “the 10th”)  InsuranceEqual(i1: Insurance, “IHC”)

12 12 Relevant Object and Relationship Sets Identification

13 13 Relevant Object Relationship Sets Identification Dermatologist(x1) is at Address(x2) Appointment(x0) is with Dermatologist(x1)

14 14 Relevant Operation Identification TimeAtOrAfter(t1: Time, “1:00 PM”) DateBetween(x1: Date, “the 5th”, “the 10th”) InsuranceEqual(i1: Insurance, “IHC”) DistanceLessThanOrEqual(d1: Distance, “5”) Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”) DateBetween(x1: Date, “the 5th”, “the 10th”) InsuranceEqual(i1: Insurance, “IHC”) DistanceLessThanOrEqual(d1: Distance, “5”) Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”) Appointment(x0) is at Date(x1) /\ DateBetween(x1, “the 5th”, “the 10th”) Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”) DistanceLessThanOrEqual(d1: Distance, “5”) Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”) Appointment(x0) is at Date(x1) /\ DateBetween(x1, “the 5th”, “the 10th”) Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”) DistanceLessThanOrEqual(d1: Distance, “5”) Appointment(x0) is at Time(t1) /\ TimeAtOrAfter(t1, “1:00 PM”) Appointment(x0) is at Date(x1) /\ DateBetween(x1, “the 5th”, “the 10th”) Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”) DistanceLessThanOrEqual(DistanceBetweenAddresses(a1: Address, a2: Address), “5”) … 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, “the 5th”, “the 10th”) Dermatologist(x1) accepts Insurance(i1) /\ InsuranceEqual(i1, “IHC”) Dermatologist(x1) is at Address(a1) /\ Person(x2) is at Address(a2) /\ DistanceLessThanOrEqual(DistanceBetweenAddresses(a1, a2), “5”)

15 15 The Formal Representation Appointment(x 0 ) is with Dermatologist(x 1 ) /\ Appointment(x 0 ) is for Person(x 2 ) /\ Dermatologist(x 1 ) has Name(x 3 ) /\ Person(x2) has Name(x 4 ) /\ Appointment(x 0 ) is on Date(x 5 ) /\ DateBetween(x 5, “the 5th”, “the 10th”) /\ Appointment(x 0 ) is at Time(x 6 ) /\ TimeAtOrAfter(x 6, “1:00 PM) /\ Dermatologist(x 1 ) is at Address(x 7 ) /\ Person(x 2 ) is at Address(x 8 ) /\ DistanceLessThanOrEqual(DistanceBetweenAddresses(x 7, x 8 ), “5”) /\ Dermatologist(x 1 ) accepts Insurance(x 9 ) /\ InsuranceEqual(x 9, “IHC”)

16 16 Performance Analysis Tested on appointment, car purchase, and apartment rental domains Subjects provided 31 service requests  548 predicates  170 arguments Results RecallPrecision Predicate98%99% Argument94%99%


Download ppt "Ontology-Based Constraint Recognition in Free-Form Service Requests Muhammed J. Al-Muhammed Brigham Young University Sponsored in part by NSF (#0083127."

Similar presentations


Ads by Google