Ontology aware software service agents meeting ordinary user needs on the semantic web
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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


A challenge for semantic web services

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?


Weather forecasting service

Weather Forecasting Service

Access to the National Digital Forecast Database


Problems with web services

Know how to use it

39.78

-89.66

2007-04-21

4

Problems with Web Services

Access to the National Digital Forecast Database

Discover the required service

Coupling problem

Communicate: keep the communication until the service responds

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?

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

Data heterogeneity problem


Better invoke services only by specifying requests

Better: Invoke Services only by Specifying Requests

The service recognizes constraints

And services the request


Resolution ontology based web services

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)


Domain ontology

Domain Ontology


Domain ontology1

Domain Ontology

Formal predicates:

object sets,relationship sets,& constraints

NumDays(x)

WeatherReport(x) is for Latitude(y)

x(WeatherReport(x) 

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


Extensional semantics

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


Data frames

Data Frames

NumDays

internal representation: integer

default value: (1) …

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} | ...


Process ontology

Process Ontology

  • Create service-request view

  • Generate constraints

  • Obtain information

    • From system

    • From user

  • Satisfy constraints

  • Negotiate

  • Finalize service request


Ontology based constraint recognition

Ontology-Based Constraint Recognition

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


Ontology based constraint recognition1

Ontology-Based Constraint Recognition

WeatherReport

text representation:

weather\s+forecast|…

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


Ontology based constraint recognition2

Ontology-Based Constraint Recognition

Longitude

...

getLongitude(x1:State, x2:City)

returns (Longitude)

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


Ontology based constraint recognition3

Ontology-Based Constraint Recognition

StartDate ...

NrDaysBetween(x1:StartDate, x2:EndDate)

returns (NumDays)

context keywords/phrases:

between the \s+{x1}\s+and\s+{x2} | ...

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


Ontology based constraint recognition4

Ontology-Based Constraint Recognition

Format …

Default value:

“24 Hourly” …

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


Ontology based constraint recognition5

Ontology-Based Constraint Recognition

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


Generated rel calculus query

Generated Rel. Calculus Query

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

  • { <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) }


Service request result

Service Request Result


Weather service demo

Weather Service Demo

Demo


Too many cars

Too Many Cars

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

than80,000 and the price shouldnotexceed$15,000.”

www.cars.com, November 2005


No car

No Car

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

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

www.cars.com, November 2005


Constraint satisfaction

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


Key observations

Key Observations

  • Some (near) solutions are better than others

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


Fundamental concepts reward penalty and expectation

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


Fundamental concepts pareto optimality

Fundamental Concepts:Pareto Optimality

  • 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


Too many solutions reward based ordering

Too Many Solutions:Reward-Based Ordering

  • Calculate rewards and combine them

  • Order solutions, highest combined reward first

  • Select the top-m Pareto optimal solutions


Too many solutions expectation based constraint elicitation

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


No solution penalty based ordering

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


No solution expectation based constraint relaxation

No Solution: Expectation-Based Constraint Relaxation

  • 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 relaxation1

No Solution: Expectation-Based Constraint Relaxation

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

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

Can this constraint “shouldnotexceed$4,000” be relaxed to “$4,100”?


Free form ontology based web service demo

Free-form Ontology-Based Web Service Demo

Demo

Demo


Experiments

Experiments

  • Constraint recognition

  • Constraint resolution

    • Solution ordering

    • Near solution ordering

  • System usability


Experiment constraint recognition

Experiment: Constraint Recognition

  • Subjects: BYU students

  • Domains:

    • Appointment scheduling

    • Car purchase

    • Apartment rental

  • Requests:

Requests Predicates Arguments

Appointment 10 126 34

Car 15 315 98

Apartment 6 107 38

Totals 31 548 170


Results constraint recognition

Results: Constraint Recognition

RecallPrecision

Appointmentpredicates 0.98 1.00

arguments 0.94 1.00

Carpredicates 0.99 0.99

arguments 0.98 0.99

Apartmentpredicates 0.97 1.00

arguments 0.92 1.00

Allpredicates 0.98 0.99

arguments 0.95 0.99


Results constraint recognition1

Results: Constraint Recognition

RecallPrecision

Appointmentpredicates 0.98 1.00

arguments 0.94 1.00

Carpredicates 0.99 0.99

arguments 0.98 0.99

Apartmentpredicates 0.97 1.00

arguments 0.92 1.00

Allpredicates 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”


Results constraint recognition2

Results: Constraint Recognition

RecallPrecision

Appointmentpredicates 0.98 1.00

arguments 0.94 1.00

Carpredicates 0.99 0.99

arguments 0.98 0.99

Apartmentpredicates 0.97 1.00

arguments 0.92 1.00

Allpredicates 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.


Experiment constraint resolution

Experiment: Constraint Resolution

  • 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


Results constraint resolution

Results: Constraint Resolution

(appointment domain)

 = 0. 74 (“substantial agreement”)

Observer-agreement test:


Results constraint resolution1

Results: Constraint Resolution

(car-purchase domain)

 = 0.67 (“substantial agreement”)

Observer-agreement test:


Experiment system usability

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


Results request specification

Results: Request Specification

Regular specification is enough to specify all my requests.

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


Results constraint elicitation and relaxation

Results:Constraint Elicitation and Relaxation


Results solution and near solution ordering

Results:Solution and Near Solution Ordering


Results system usefulness

Results:System Usefulness


Contributions

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


Future work

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


  • Login