330 likes | 347 Views
This thesis explores the possibility of automating everyday tasks using domain ontologies, with the goal of reducing information overload and finding and using services that meet user needs. It proposes a proof-of-concept prototype that leverages task, domain, and process ontologies to automate tasks and establish relationships. The thesis also introduces the concept of data frames in domain ontologies and describes a task recognition process that marks domain ontologies based on task specifications. The text language is English.
E N D
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed April 19, 2005
The Challenge • Reduce information overload • Find and use services I want to see a dermatologist next week; any day would be ok for me, at 4:00 p.m. The dermatologist must be within 20 miles from my home and must accept my insurance.
Thesis Statement • Hypothesis: it is possible to automate everyday tasks whose invocation results in establishing agreed-upon relationships in a domain ontology • Validation: proof-of-concept prototype
Approach • Task ontology • Domain ontology • Process ontology • Characteristics • Task specification: Free-form text • Request recognition: find best task ontology • Task execution • Specialize task ontology processes • Execute generated code
Domain Ontology • Components • Object sets = concepts • Relationship sets • Constraints • Uses • Task knowledge • Task recognition
Domain Ontology • Augmented with data frames • A data frame defines information about a concept • Its internal and external representation • Its contextual keywords or phrases • Operations along with contextual keywords or phrases
Task Recognition • A task domain determination • Input: a task specification, domain ontologies • Output: a marked domain ontology • A domain-independent process
Appointment … context keywords/phrase: “appointment |want to see a |…” Dermatologist … context keywords/phrases: “([D|d]ermatologist) | …” I want to see a dermatologist next week; any day would be ok for me, at 4:00 p.m. The dermatologist must be within 20 miles from my home and must accept my insurance.
Appointment … context keywords/phrase: “appointment |want to see a |…” Dermatologist … context keywords/phrases: “([D|d]ermatologist) | …” I want to see a dermatologist next week; any day would be ok for me, at 4:00 p.m. The dermatologist must be within 20 miles from my home and must accept my insurance.
Appointment … context keywords/phrase: “appointment |want to see a |…” Dermatologist … context keywords/phrases: “([D|d]ermatologist) | …” I want to see adermatologist next week; any day would be ok for me, at 4:00 p.m. The dermatologist must be within 20 miles from my home and must accept my insurance.
Appointment … context keywords/phrase: “appointment |want to see a |…” Dermatologist … context keywords/phrases: “([D|d]ermatologist) | …” I want to see adermatologistnext week; any day would be ok for me, at 4:00p.m. The dermatologist must be within 20 miles from my home and must accept my insurance.
Date … NextWeek(d1: Date, d2: Date) returns (Boolean) context keywords/phrases: next week | week from now | … Distance internal representation : real textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles | mile | kilometers | … Within(d1: Distance, “20”) returns (Boolean) context keywords/phrases: within | not more than | | … return (d1d2) … end Appointment … context keywords/phrase: “appointment |want to see a |…” Dermatologist … context keywords/phrases: “([D|d]ermatologist) | …” I want to see adermatologistnext week; any day would be ok for me, at 4:00 p.m. The dermatologist must be within 20 miles from my home and must accept my insurance.
Process Ontology • Process to execute tasks in a domain • Statenet • States • Transitions, based on ECA rules
Task Execution • Domain-independent subprocesses • Coded once • Specialized for a domain • A domain-dependent subprocess • Fully determined (given the task specification and domain ontology) • Automatically generated
Task View Creation
Creation of Additional Task Constraints Date … NextWeek(d1: Date, d2: Date) returns (Boolean) context keywords/phrases: next week | week from now | … … end Distance internal representation: real textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles | mile | kilometers | … Within(d1: Distance, “20”) returns (Boolean) context keywords/phrases: within | not more than | | … return (d1d2) … end
Creation of Additional Task Constraints Taskimposed constraints: NextWeek(d1: Date, d2: Date) Person(x) is at Address(a1) and Dermatologist(y) is at Address(a2) and Within(DistanceBetween(a1, a2), “20”) i2 (Dermatologist(y) accepts Insurance(i2 ) and Equal(i1, i2))
Obtaining Information from the System Insurance Dermatologist Name Address Date Time - > Appointment “4:00” Person Taskimposed constraints: NextWeek(d1: Date, d2: Date) Person(x) is at Address(a1) and Dermatologist(y) is at Address(a2) and Within(DistanceBetween(a1, a2), “20”) i2 (Dermatologist(y) accepts Insurance(i2 ) and Equal(i1, i2))
Dermatologist Dermatologist0 Dermatologist1 Insurance “IHC” “DMBA” Name “Dr. Carter” “Dr. Larry” Address “Orem 600 State St.” “Lindon 12 Main St.” Date “5 Jan 05” “6 Jan 05” Time “4:00” Appointment -> Person Obtaining Information from the System Taskimposed constraints: NextWeek(d1: Date, d2: Date) Person(x) is at Address(a1) and Dermatologist(y) is at Address(a2) and Within(DistanceBetween(a1, a2), “20”) i2 (Dermatologist(y) accepts Insurance(i2 ) and Equal(i1, i2))
Dermatologist Dermatologist0 Dermatologist1 Insurance “IHC” “DMBA” Name “Dr. Carter” “Dr. Larry” Address “Orem 600 State St.” “Lindon 12 Main St.” Date “5 Jan 05” “6 Jan 05” Time “4:00” Appointment -> Person Obtaining Information from the User Taskimposed constraints: NextWeek(d1: Date, d2: Date) Person(x) is at Address(a1) and Dermatologist(y) is at Address(a2) and Within(DistanceBetween(a1, a2), “20”) i2 (Dermatologist(y) accepts Insurance(i2 ) and Equal(i1, i2))
Dermatologist Dermatologist0 Dermatologist1 Insurance “IHC” “DMBA” Name “Dr. Carter” “Dr. Larry” “Lynn Jones” Address “Orem 600 State St.” “Lindon 12 Main St.” “Provo 300 State St.” Date “5 Jan 05” “6 Jan 05” Time “4:00” Appointment -> Person Person100 Obtaining Information from the User Taskimposed constraints: NextWeek(d1: Date, d2: Date) Person(x) is at Address(a1) and Dermatologist(y) is at Address(a2) and Within(DistanceBetween(a1, a2), “20”) i2 (Dermatologist(y) accepts Insurance(i2 ) and Equal(i1, i2))
Dermatologist Dermatologist0 Dermatologist1 Insurance “IHC” “DMBA” Name “Dr. Carter” “Dr. Larry” “Lynn Jones” Address “Orem 600 State St.” “Lindon 12 Main St.” “Provo 300 State St.” Date “5 Jan 05” “6 Jan 05” Time “4:00” Appointment -> Person Person100 Constraint Satisfaction Taskimposed constraints: NextWeek(d1: Date, d2: Date) Person(x) is at Address(a1) and Dermatologist(y) is at Address(a2) and Within(DistanceBetween(a1, a2), “20”) i2 (Dermatologist(y) accepts Insurance(i2 ) and Equal(i1, i2))
Dermatologist Dermatologist0 Insurance “IHC” “DMBA” Name “Dr. Carter” “Lynn Jones” Address “Orem 600 State St.” “Provo 300 State St.” Date “5 Jan 05” Time “4:00” Appointment -> Person Person100 Constraint Satisfaction - Task imposed constraints: Pers on(Person100) is at Address((“Provo 300 State St.”) and Dermatologist(Dermatologist0) is at Address(“Orem 600 State St.”) and Within(DistanceBetween(“Provo 300 State St.”, “Orem 600 State St.”), “22”)
Dermatologist Dermatologist0 Insurance “IHC” “DMBA” Name “Dr. Carter” “Lynn Jones” Address “Orem 600 State St.” “Provo 300 State St.” Date “5 Jan 05” Time “4:00” Appointment -> Person Person100 Negotiation - Task imposed constraints: Pers on(Person100) is at Address((“Provo 300 State St.”) and Dermatologist(Dermatologist0) is at Address(“Orem 600 State St.”) and Within(DistanceBetween(“Provo 300 State St.”, “Orem 600 State St.”), “22”)
Dermatologist0 “IHC” “DMBA” “Dr. Carter” “Lynn Jones” “Orem 600 State St.” “Provo 300 State St.” Appointment 7 “4:00” “5 Jan 05” Person100 Finalization NextWeek(“28 Dec 04”, “5 Jan 05”) Person(Person100) is at Address(“Provo 300 State St.”) and Dermatologist(Dermatologist0) is at Address(“Orem 600 State St.”) and Within(DistanceBetween(“Provo 300 State St.”, “Orem 600 State St.”), “22”) i2 (Dermatologist(Dermatologist0) accepts Insurance(i2) andEqual(“IHC”, i2))
Testing • “Black box” testing • Concept recognition • Constraint recognition • Domain recognition • Execution performance • “White box” testing for the processes of the system such as • Negotiation • Obtaining information from the user
Delimitations • Recognition and execution of complex tasks • Compositional tasks • Alternative tasks • Conditional tasks • Graphical or vocal specification of tasks
Contributions • Simplification of everyday task execution—find and use versus specify • Automatic process generation for task execution • Domain recognition and specialization • Automatic information gathering from both system and user • Constraint satisfaction • Negotiation • Prototype implementation