ontology aware software service agents: meeting ordinary user needs on the semantic web muhammed...

25
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

Ontology Aware Software Service Agents: Meeting Ordinary User

Needs on the Semantic Web

Muhammed Al-Muhammed

Supported in part by NSF

Page 2: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(2)

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.

Page 3: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(3)

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

Page 4: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(4)

Domain Ontology

Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->

TimeTextual representation: “[d][d]?\s*([:]\s* [d][d]?)?\s* ([A|a|P|p]\s* [.]?\s* [M|m]\s* [.]?)”…end;

Page 5: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(5)

Task Recognition

Page 6: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(6)

Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->

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.

Page 7: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(7)

Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->

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.

Page 8: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(8)

Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->

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.

Page 9: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(9)

Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->

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.

Page 10: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(10)

Process Ontology

ready to schedule

task-view = null

report that the appointment cannot be scheduled

task-view != null

schedule-appointment(task-view.Person.Name,task-view.Service Provider.Name, task-view.Date, task-view.Time, task-view.Address);report that the appointment is scheduled;

initial-task-view ready

no missing information missing information

task-view = get-from-system(task-view); if (still missing values) task-view = ger-from-user(task-view);

@process ontology(domain ontology)

task-view = create-task-view(domain ontology);task-constraints = create-task-constraints(task-view);

ready@create

initialize

.

.

.

ready to schedule

task-view = null

report that the appointment cannot be scheduled

task-view != null

schedule-appointment(task-view.Person.Name,task-view.Service Provider.Name, task-view.Date, task-view.Time, task-view.Address);report that the appointment is scheduled;

initial-task-view ready

no missing information missing information

task-view = get-from-system(task-view); if (still missing values) task-view = ger-from-user(task-view);

@process ontology(domain ontology)

task-view = create-task-view(domain ontology);task-constraints = create-task-constraints(task-view);

ready@create

initialize

.

.

.

Page 11: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(11)

Task Execution

• Domainindependent subprocesses– Coded once

– Specialized for a domain

• A domaindependent subprocess– Domain execution

– Automatically generated

Page 12: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(12)

Domainindependent subprocesses

Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->Appointment

Place

Insurance

Service Provider

Person

NameDoctor

Pediatrician

Service Description

Duration

Medical Service Provider

Auto Service Provider Auto Mechanic

Dermatologist

Address

Cost

Date

Time

has

is at

is on

has

provides

has

accepts

hashas

"IHC"

is with

is for

is at

is at

has

"DMBA"

is at

->

Task View Creation

Page 13: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(13)

Domainindependent subprocesses

Task View Creation

Appointment

Place

Dermatologist

Person

Name

Address

Date

Time

is at

is on

has

hasis with

is for

is at

is at

has

is at

->Appointment

Place

Dermatologist

Person

Name

Address

Date

Time

is at

is on

has

hasis with

is for

is at

is at

has

is at

->

Page 14: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(14)

Domainindependent subprocesses

Task Constraints Creation

Appointment

Place

Dermatologist

Person

Name

Address

Date

Time

is at

is on

has

hasis with

is for

is at

is at

has

is at

->Appointment

Place

Dermatologist

Person

Name

Address

Date

Time

is at

is on

has

hasis with

is for

is at

is at

has

is at

->

Date …NextWeek(d1: Date, d2: Date)returns (Boolean{T,F})context keywords/phrases: next week | week from now | …

Distanceinternal 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;

Page 15: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(15)

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

Page 16: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(16)

Domainindependent subprocessesObtaining 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))

Appointment ->

Insurance

Time “4:00”

Date

Person

Address

Name

Dermatologist

Page 17: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(17)

Domainindependent subprocessesObtaining 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))

Appointment ->

Dermatologist Dermatologist0 Dermatologist1

Insurance “IHC” “DMBA”

Time “4:00”

Date “5 Jan 05” “6 Jan 05”

Person

Address “Orem 600 State St.” “Lindon 12 Main St.”

Name “Dr. Carter” “Dr. Larry”

Page 18: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(18)

Domainindependent subprocessesObtaining Information

from a 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))

Appointment ->

Dermatologist Dermatologist0 Dermatologist1

Insurance “IHC” “DMBA”

Time “4:00”

Date “5 Jan 05” “6 Jan 05”

Person

Address “Orem 600 State St.” “Lindon 12 Main St.”

Name “Dr. Carter” “Dr. Larry”

Page 19: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(19)

Domainindependent subprocessesObtaining Information

from a 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(“IHC”, i2))

Appointment ->

Dermatologist Dermatologist0 Dermatologist1

Insurance “IHC” “DMBA”

Time “4:00”

Date “5 Jan 05” “6 Jan 05”

Person Person100

Address “Orem 600 State St.” “Lindon 12 Main St.” “Provo 300 State St.”

Name “Dr. Carter” “Dr. Larry” “Lynn Jones”

Page 20: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(20)

Domainindependent subprocesses

Constraint 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(“IHC”, i2))

Appointment ->

Dermatologist Dermatologist0 Dermatologist1

Insurance “IHC” “DMBA”

Time “4:00”

Date “5 Jan 05” “6 Jan 05”

Person Person100

Address “Orem 600 State St.” “Lindon 12 Main St.” “Provo 300 State St.”

Name “Dr. Carter” “Dr. Larry” “Lynn Jones”

Page 21: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(21)

Domainindependent subprocesses

Constraint Satisfaction

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.”), “20”) (Dermatologist(Dermatologist0) accepts Insurance(“IHC” ) and Equal(“IHC”,“IHC”) or Dermatologist(Dermatologist0) accepts Insurance(“DMBA”) and Equal(“IHC”,“DMBA”))

Person(Person100) is at Address(“Provo 300 State St.”) and Dermatologist(Dermatologist1) is at Address(“Linden 12 Main St.”) and Within(DistanceBetween(“Provo 300 State St.”, “Lindon 12 Main St.”), “20”) (Dermatologist(Dermatologist1) accepts Insurance(“DMBA”) and Equal(“IHC”,“DMBA”))

Page 22: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(22)

Domainindependent subprocesses

Constraint Satisfaction

Appointment7

Dermatologist0

“4:00” “5 Jan 05”

Person100

“Orem 600 State St.” “Provo 300 State St.”

“Dr. Carter” “Lynn Jones”

“IHC” “DMBA”

Task imposed constraints: 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”)

Page 23: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(23)

Domainindependent subprocesses

Negotiation

Appointment7

Dermatologist0

“4:00” “5 Jan 05”

Person100

“Orem 600 State St.” “Provo 300 State St.”

“Dr. Carter” “Lynn Jones”

“IHC” “DMBA”

Task imposed constraints: 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”)

Page 24: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(24)

DomainDependent Subprocess

"Dr. Carter" "Lynn Jones"

Dermatologist0 "IHC" "DMBA"

Appointment7 "4:00""5 Jan 05"

Person100

"Orem 600 State St." "Provo 300 State St."

"Dr. Carter" "Lynn Jones"

Dermatologist0 "IHC" "DMBA"

Appointment7 "4:00""5 Jan 05"

Person100

"Orem 600 State St." "Provo 300 State St."

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) and Equal(“IHC”, i2))

Page 25: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF

(25)

Contributions

• Simplification of everyday task execution

• Domainindependent subprocesses

• Task ontology based system extension