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

47
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed J. Al-Muhammed Brigham Young University Supported by: July 23, 2007

Upload: knut

Post on 13-Jan-2016

28 views

Category:

Documents


2 download

DESCRIPTION

Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web. Muhammed J. Al-Muhammed Brigham Young University. Supported by:. July 23, 2007. A Challenge for Semantic Web Services. Help users find and use services Reduce requirements for service specification. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the

Semantic Web

Muhammed J. Al-Muhammed

Brigham Young University

Supported by:

July 23, 2007

Page 2: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

2

A Challenge for Semantic Web Services

• Help users find and use services• Reduce requirements for service specification

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

Page 3: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

3

Weather Forecasting ServiceAccess to the National Digital Forecast Database

Page 4: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

4

Problems with Web Services

What is the weather forecast for Springfield, Illinois, between the 24th and 27th?

Access to the National Digital Forecast Database

Discover the required service

-89.66

39.78

2007-04-21 4

Know how to use it

Communicate: keep the communication until the service responds

Coupling problem

What is the weather forecast for Springfield, Illinois, between the 24th and 27th?

What is the weather forecast for Springfield, Illinois, between the 24th and 27th?

Data heterogeneity problem

Page 5: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

5

Better: Invoke Services only by Specifying Requests

The service recognizes constraints

And services the request

Page 6: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

6

Resolution: Ontology-Based Web Services

• Domain ontology– Declares concepts, relationships, and constraints– Has a central concept of interest– Has extensional recognizers

• Process ontology– Matches a request with a domain ontology– Obtains information (from DB and from user)– Satisfies constraints– Negotiates (if necessary)

Page 7: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

7

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Domain Ontology

Page 8: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

8

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Domain Ontology

Formal predicates: object sets, relationship sets, & constraints

WeatherReport(x) is for Latitude(y)

NumDays(x)

x(WeatherReport(x) 1y(WeatherReport(x) is for Latitude(y))

Page 9: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

9

Extensional Semantics

• Ontology augmented with data frames

• A data frame specifies semantics for a concept– Its internal and external representation

– Its contextual keywords or phrases

– Operations along with contextual keywords or phrases

Page 10: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

10

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

Data Frames

Data frames: instance recognition; operation recognition

StartDate internal representation: date -- format yyyy-mm-dd default value: (today) text representation: {monthName}\s+([0]?[1-9] | [12]\d|3[01])(\s*\,)?\s+\d{4} | (the\s+)?([0]?[1-9] | [12]\d|3[01])\s*(th|...)|... toInternalRepresentation(x:string) returns (StartDate) NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

NumDays internal representation: integer default value: (1) …

Page 11: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

11

@create

initialize ready

@service-request-view complete

service-request-view, unsatisified-constraints = satisfy-contraints(service-request-view, service-request-constraints)

constraint satisfaction checked

service-request-view complete

missing information

service-request-view = get-from-system(service-request-view) if (still missing values) service-request-view = get-from-user(service-request-view)

no missing information

unique satisfaction found

schedule-appointment(...)report that the appointment is scheduled

unique satisfaction not found

report that the appointment cannot be scheduled negotiation complete

@negotiation required

service-request-view = negotiate(service-request-view, unsatisfied contraints)

no constraint satisfaction

negotiation required

multiple constraints satisfaction possibilities

unique constraint satisfaction

initial service-request-view ready

@process-ontology(domain-ontology)

service-request-view = create-service-request-view(domain-ontology)service-request-constraints = create-service-request-constraints(service-request-view)

@create

initialize ready

@service-request-view complete

service-request-view, unsatisified-constraints = satisfy-contraints(service-request-view, service-request-constraints)

constraint satisfaction checked

service-request-view complete

missing information

service-request-view = get-from-system(service-request-view) if (still missing values) service-request-view = get-from-user(service-request-view)

no missing information

unique satisfaction found

schedule-appointment(...)report that the appointment is scheduled

unique satisfaction not found

report that the appointment cannot be scheduled negotiation complete

@negotiation required

service-request-view = negotiate(service-request-view, unsatisfied contraints)

no constraint satisfaction

negotiation required

multiple constraints satisfaction possibilities

unique constraint satisfaction

initial service-request-view ready

@process-ontology(domain-ontology)

service-request-view = create-service-request-view(domain-ontology)service-request-constraints = create-service-request-constraints(service-request-view)

Process Ontology

• Create service-request view• Generate constraints• Obtain information

– From system

– From user

• Satisfy constraints• Negotiate• Finalize service request

Page 12: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

12

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

Page 13: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

13

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

WeatherReport … text representation: weather\s+forecast|…

Page 14: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

14

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

Longitude ... getLongitude(x1:State, x2:City) returns (Longitude)

Page 15: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

15

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

StartDate ... NrDaysBetween(x1:StartDate, x2:EndDate) returns (NumDays) context keywords/phrases: between the \s+{x1}\s+and\s+{x2} | ...

Page 16: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

16

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

Format … Default value: “24 Hourly” …

Page 17: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

17

Ontology-Based Constraint Recognition

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

City

State

EndDate

StartDate

NumDays

Place

Longitude

ZipCode

Latitude

ReportPeriod

MinimumTemperature

MaximumTemperaturePercentChanceOfPrecipitation

WeatherReport Formathas

is forstarts onis for

is for ->

produces

has has

has

identify

is for

identify

determine

is in

What’s the weather forecast for Springfield, Illinois, between the 24th and 27th?

Page 18: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

18

Generated Rel. Calculus Query

{ < x2, x3, x4 > | WeatherReport(x0) is for Latitude(getLatitude(“Illinois”, “Springfield”)) WeatherReport(x0) is for Longitude(getLongitude(“Illinois”, “Springfield”)) WeatherReport(x0) starts on StartDate(NextDate(“24th”)) WeatherReport(x0) is for NumDays(NrDaysBetween(NextDate(“24th”),

NextDate(“27th”))) WeatherReport(x0) has Format(“24 Hourly”) WeatherReport(x0) produces ReportPeriod(x1) ReportPeriod(x1) has MaximumTemperature(x2) ReportPeriod(x1) has MinimumTemperature(x3) ReportPeriod(x1) has PercentChanceOfPrecipitation(x4) }

What’s the weather forecast for Springfield, Illinois, between the 21st and 24th?

Page 19: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

19

Service Request Result

Page 21: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

21

Too Many Cars

“I want a dodge, a 2000 or newer. The Mileage should be less

than 80,000 and the price should not exceed $15,000.”

Solution Make Model Price Year Mileage

S1 Dodge Stratus 9,451.00 2004 35,808

S2 Dodge Stratus 14,995.00 2005 1,694

S3 Dodge Stratus 14,999.00 2005 27,543

S4 Dodge Stratus 2,555.00 1997 115,424

S5 Dodge Stratus 6,900.00 2001 70,000

S168 Dodge Stratus 9,975.00 2003 34,060

www.cars.com, November 2005

Page 22: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

22

No Car

“I want a dodge, a 2000 or newer. The Mileage should be less

than 80,000 and the price should not exceed $4,000.”

Sorry No car matches your request.

www.cars.com, November 2005

Page 23: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

23

Constraint Satisfaction

• Exactly one solution: return it as the result

• A few solutions: return all and ask the user to select one

• Too many solutions: resolve

• No solution: resolve

Page 24: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

24

Key Observations

• Some (near) solutions are better than others

• People specify constraints on some concepts in a domain more often than on other concepts

Page 25: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

25

Fundamental Concepts:Reward, Penalty, and Expectation

• Reward: non-negative real number denoting a degree of satisfaction

• Penalty: negative real number denoting a degree of violation

• Expectation: probability of specifying a constraint on a concept

Page 26: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

26

• Based on dominance relations– The reward for S1 is as high as the reward for S2– For at least one reward S1 has a higher reward

• Dominating solutions are Pareto optimal

Fundamental Concepts:Pareto Optimality

Page 27: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

27

Too Many Solutions:Reward-Based Ordering

• Calculate rewards and combine them

• Order solutions, highest combined reward first

• Select the top-m Pareto optimal solutions

Page 28: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

28

Too Many Solutions: Expectation-Based Constraint Elicitation

• Associate expectations with domain concepts• Order the concepts in a domain based on their

expectations– Example: make > price > model > …

• Elicit additional constraints over unconstrained concepts– Example: if no preferred make provided, ask for

make; if no price, ask for price; …

Page 29: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

29

No Solution: Penalty-Based Ordering

• Calculate penalties and combine them

• Order near solutions, lowest combined penalty first

• Select the top-m Pareto optimal near solutions

Page 30: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

30

• Associate expectations with constraints

• Order constraints based on their expectation, lowest expectation first

• Trade-off: amount of violation vs. expectation

No Solution: Expectation-Based Constraint Relaxation

Page 31: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

31

Near Solution Make Mileage Price Year

S1 Dodge 100,000 $3,850 2000

S2 Dodge 78,000 $4,100 2000

Near Solution Make=dodge

exp.= 0.9

Mileage<80,000

exp.= 0.8

Price<=$4,000

exp.= 0.85

Year>=2000

exp.= 0.5

exp. plty.

S1 0.00 1.00 1.00 0.00 0.80

S2 0.00 0.10 0.66 0.00 0.56

“I want a dodge, a 2000 or newer. The Mileage should be less than 80,000 and the price should not exceed $4,000.”

No Solution: Expectation-Based Constraint Relaxation

Can this constraint “should not exceed $4,000” be relaxed to “$4,100”?

Page 33: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

33

Experiments

• Constraint recognition• Constraint resolution

– Solution ordering

– Near solution ordering

• System usability

Page 34: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

34

Experiment: Constraint Recognition

• Subjects: BYU students• Domains:

– Appointment scheduling– Car purchase– Apartment rental

• Requests:

Requests Predicates ArgumentsAppointment 10 126 34Car 15 315 98Apartment 6 107 38Totals 31 548 170

Page 35: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

35

Results: Constraint Recognition

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

Page 36: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

36

Results: Constraint Recognition

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

e.g. missed:

“any Monday of this month” “most days of the week”

“a nook” “extra storage”

Page 37: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

37

Results: Constraint Recognition

Recall PrecisionAppointment predicates 0.98 1.00

arguments 0.94 1.00Car predicates 0.99 0.99

arguments 0.98 0.99Apartment predicates 0.97 1.00

arguments 0.92 1.00All predicates 0.98 0.99

arguments 0.95 0.99

e.g. missed:

“I want a Toyota with a cheap price, 2000 would be great …”

The system incorrectly concluded that “2000” was a price.

Page 38: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

38

• Tested appointment and car-purchase domains

• 16 human subjects – The best-5 near solutions from 19 appointments– The best-5 solutions from 32 cars

• Compared human selection with system selection

Experiment: Constraint Resolution

Page 39: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

39

(appointment domain)

0

0.20.4

0.60.8

11.2

1 3 5 7 9 11 13 15 17 19

The near solutions

% o

f su

bje

cts

wh

o c

ho

se a

nea

r

solu

tio

nsystem

human

Results: Constraint Resolution

Observer-agreement test: = 0. 74 (“substantial agreement”)

Page 40: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

40

0

0.2

0.4

0.6

0.8

1

1.2

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31

The solutions

% o

f sub

ject

s w

ho c

hose

a s

olut

ion

System

Human

(car-purchase domain)

Results: Constraint Resolution

Observer-agreement test: = 0.67 (“substantial agreement”)

Page 41: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

41

Experiment: System Usability

• 12 subjects: 8 in the senior-database class and 4 in the master’s program

• Evaluated functionalities– Regular specification (only AND constraints)

– Advanced specification (AND, OR, & Negation)

– Constraint elicitation suggestions

– Constraint relaxation suggestions

– Best-k solutions

– Best-k near solutions

– Usefulness of the system

Page 42: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

42

Results: Request Specification

Agre

e

Stro

ngly

agr

ee

Stro

ngly

dis

agre

e

Disa

gree

Neu

tral

0

1

2

3

4

5

6

7

choi

ce fr

eque

ncy

Regular specification Advanced specification

Regular specification is enough to specify all my requests.

Without disjunctions and negations I was not able to specify my requests

Page 43: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

43

Results: Constraint Elicitation and Relaxation

Excell

ent

Satisfa

ctory

Not us

eful

Good

0

1

2

3

4

5

6

choi

ce fr

eque

ncy

Constraint elicitation suggestions Constraint relaxation suggestions

Page 44: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

44

Results: Solution and Near Solution Ordering

Excell

ent

Good

Not us

eful

0

1

2

3

4

5

6

7

choi

ce fr

eque

ncy

Solution ordering Near solution ordering

Page 45: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

45

Results: System Usefulness

The system usefulness

Not he

lpfu

lSomew

hat h

elpfu

l

Helpfu

l

Extrem

ely he

lpfu

l

0

1

2

3

4

5

choi

ce fr

eque

ncy

Page 46: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

46

Contributions

• Free-form service specification

• Effective constraint resolution

• Knowledge-based service creation– Only static knowledge– No code required

• Ontology-based web services– Service decoupling resolution– Data heterogeneity resolution

• Fully working prototypes

Page 47: Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web

47

Future Work

• Conditional constraints Example: if the appointment can be scheduled this week,

schedule with Dr. Carter; otherwise schedule with Dr. Adams

• Composite service requests Example: coordinated multi-ontology instantiations

(vacation planning)

• Trust: predictability, transparency, etc.

• Security: secure information exchange