250 likes | 342 Views
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web. Muhammed Al-Muhammed. Supported in part by NSF. The Challenge. Reduce information overload Find and use services.
E N D
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF
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.
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 Time Textual representation: “[d][d]?\s*([:]\s* [d][d]?)?\s* ([A|a|P|p]\s* [.]?\s* [M|m]\s* [.]?)” … end;
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 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.
Task Execution • Domainindependent subprocesses • Coded once • Specialized for a domain • A domaindependent subprocess • Domain execution • Automatically generated
Domainindependent subprocesses Task View Creation
Domainindependent subprocesses Task View Creation
Domainindependent subprocesses Task Constraints Creation Date … NextWeek(d1: Date, d2: Date) returns (Boolean{T,F}) context keywords/phrases: next week | week from now | … Distance internal representation : real; input (s: String) context keywords/phrases: miles | mile | mi | kilometers | kilometer | meters | meter | centimeter | … Within(d1: Distance, “20”) returns (Boolean {T or F}) context keywords/phrases: within | not more than | | … return (d1d2) … end;
Domainindependent subprocesses Task Constraints Creation 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(“IHC”, i2))
Domainindependent subprocesses Obtaining Information from the System
Domainindependent subprocesses Obtaining Information from the System
Domainindependent subprocesses Obtaining Information from a User
Domainindependent subprocesses Obtaining Information from a User
Domainindependent subprocesses Constraint Satisfaction
Domainindependent subprocesses Constraint Satisfaction
Domainindependent subprocesses Constraint Satisfaction
Domainindependent subprocesses Negotiation
DomainDependent Subprocess Date(“28 Dec 04”) and 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))
Contributions • Simplification of everyday task execution • Domainindependent subprocesses • Task ontology based system extension