Title: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web
1Ontology Aware Software Service Agents Meeting
Ordinary User Needs on the Semantic Web
April 19, 2005
2The Challenge
- Reduce information overload
- Find and use services
I want to see a dermatologist next week any day
would be ok for me, at 400 p.m. The
dermatologist must be within 20 miles from my
home and must accept my insurance.
3Thesis 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
4Approach
- 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
5Domain Ontology
- Components
- Object sets concepts
- Relationship sets
- Constraints
- Uses
- Task knowledge
- Task recognition
6Domain Ontology
7Domain 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
8Data Frames
Time textual representation (2-91012?)\s \s(0-5\d)\sAaPp\s \.?\s Mm\s \.?) end Distance internal representation real textual representation ((\d(\.\d)?)(\.\d)) context keywords/phrases miles mile kilometers Within(d1 Distance, d2 Distance) returns (Boolean) contextual keywords/phrases less than ? end
9Task Recognition
- A task domain determination
- Input a task specification, domain ontologies
- Output a marked domain ontology
- A domain-independent process
10Appointment context keywords/phrase
appointment want to see a Dermatologist
context keywords/phrases (Ddermatologist)
I want to see a dermatologist next week any day
would be ok for me, at 400 p.m. The
dermatologist must be within 20 miles from my
home and must accept my insurance.
11Appointment context keywords/phrase
appointment want to see a Dermatologist
context keywords/phrases (Ddermatologist)
?
I want to see a dermatologist next week any day
would be ok for me, at 400 p.m. The
dermatologist must be within 20 miles from my
home and must accept my insurance.
12Appointment context keywords/phrase
appointment want to see a Dermatologist
context keywords/phrases (Ddermatologist)
?
?
I want to see a dermatologist next week any day
would be ok for me, at 400 p.m. The
dermatologist must be within 20 miles from my
home and must accept my insurance.
13Appointment context keywords/phrase
appointment want to see a Dermatologist
context keywords/phrases (Ddermatologist)
?
?
?
?
?
?
I want to see a dermatologist next week any day
would be ok for me, at 400 p.m. The
dermatologist must be within 20 miles from my
home and must accept my insurance.
14Appointment context keywords/phrase
appointment want to see a Dermatologist
context keywords/phrases (Ddermatologist)
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 (d1?d2) end
?
?
?
?
?
?
I want to see a dermatologist next week any day
would be ok for me, at 400 p.m. The
dermatologist must be within 20 miles from my
home and must accept my insurance.
15Process Ontology
- Process to execute tasks in a domain
- Statenet
- States
- Transitions, based on ECA rules
16Process Ontology
17Task 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
18Task View Creation
?
?
?
?
?
?
19Task View Creation
20Creation 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 (d1?d2) end
21Creation of Additional Task Constraints
Task?imposed 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))
22Obtaining Information from the System
Insurance
Dermatologist
Name
Address
Time
Date
-
gt
Appointment
400
Person
Task?imposed 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))
23Obtaining Information from the System
Task?imposed 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))
24Obtaining Information from the User
Task?imposed 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))
25Obtaining Information from the User
Task?imposed 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))
26Constraint Satisfaction
Task?imposed 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))
27 Constraint Satisfaction
28 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)
29Negotiation
-
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)
30Finalization
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(Pr
ovo 300 State St., Orem 600 State St.),
22) ? i2 (Dermatologist(Dermatologist0) accepts
Insurance(i2) and Equal(IHC, i2))
31Testing
- 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
32Delimitations
- Recognition and execution of complex tasks
- Compositional tasks
- Alternative tasks
- Conditional tasks
- Graphical or vocal specification of tasks
33Contributions
- Simplification of everyday task executionfind
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