Presentation is loading. Please wait.

Presentation is loading. Please wait.

Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF.

Similar presentations


Presentation on theme: "Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF."— Presentation transcript:

1 Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF (#0083127) & the Kevin and Debra Rollins Center for eBusiness (#05046)

2 A Challenge for Semantic Web Services Help users find and use services Reduce requirements for service specification 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 IHC insurance.

3 A Conceptual-Modeling Resolution Domain ontology  Has a single object set of interest (e.g. Appointment)  Establishes requirements for insertion of a single object into the object set of interest (e.g. requirements for making an appointment)  Has extensional recognizers (i.e. can match request to requirements) Process ontology  Recognizes constraints  Obtains information (from DB and from user)  Satisfies constraints  Negotiates (if necessary)

4 Domain Ontology

5 Extensional Semantics included in the Domain 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

6 Data Frames Time … textual representation: “([2-9]|1[012]?)\s* :\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)” … end Distance internal representation: real textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles | mile | kilometers | … LessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: within | not more than |  | … … end

7 Domain Ontology Recognition Objective: determine which domain ontology to use Input: service request, domain ontologies Output: a marked domain ontology

8 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 IHC insurance.

9 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 IHC insurance.

10 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 IHC insurance.

11 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 IHC insurance.

12 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 IHC insurance. 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 | … LessThanOrEqual(d1: Distance, “20”) returns (Boolean) context keywords/phrases: within | not more than |  | … … end

13 Process Ontology Create service-request view Generate constraints Obtain information  From system  From user Satisfy constraints Negotiate Finalize service request

14 Domain Independence of Process Ontology Domain-independent subprocesses  Coded once  Specialized for a domain A domain-dependent subprocess  Fully determined (given the service request and domain ontology)  Automatically generated

15 Service-Request View Creation

16 Service-Request View

17 Constraint Generation 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 | … LessThanOrEqual(d1: Distance, “20”) returns (Boolean) context keywords/phrases: within | not more than |  | … … end From operations: From conceptual-model constraints: Applicable Boolean predicates with (computed) term arguments Predicates with bound and free variables

18 Generated Constraints Appointment(x 0 ) is with Dermatologist(x 1 )  Appointment(x 0 ) is for Person(x 2 )  Appointment(x 0 ) is on Date(x 3 )  Appointment(x 0 ) is at Time(16:00)  Dermatologist(x 1 ) has Name(x 4 )  Dermatologist(x 1 ) is at Address(x 5 )  Dermatologist(x 1 ) accepts Insurance(“IHC”)  Person(x 2 ) has Name(x 6 )  Person(x 2 ) is at Address(x 7 )  NextWeek(today, x 3 )  LessThanOrEqual(DistanceBetween(x 5, x 7 ), 20)

19 Information from System

20 Generated Database Query { | available appointment is with Dermatologist(x 1 ) on Date(x 3 ) at Time(16:00)  Dermatologist(x 1 ) has Name(x 4 )  Dermatologist(x 1 ) is at Address(x 5 )  Dermatologist(x 1 ) accepts Insurance(“IHC”)  NextWeek(today, x 3 )}

21 Information from User Some variables cannot be instantiated from the database.  Person(x 2 )  Person(x 2 ) has Name(x 6 )  Person(x 2 ) is at Address(x 7 ) Non-lexical values can be instantiated without particular values. The system asks for values for lexical values.  Name (of Person) for Appointment?  Address (of Person) for Appointment?

22 Constraint Satisfaction Exactly one: return it as the result A few: return all and ask the user to select one Too many: negotiate  return the best-m  ask the user to select one  if none satisfactory, the user should resubmit a new, altered query None: negotiate  return the best-m  ask the user to select one Over the Instantiated Values

23 Negotiation Basis for negotiation  Ordered expectations  Ordered penalty/reward  Dominated (near) solutions (Pareto optimality) Guided user interaction

24 Negotiation (Too Many Solutions) Ordered Expectations  Time > Date > Name (of Person) > Name (of Dermatologist) > Insurance > …  If no preferred time provided, ask for Time; if no Date, ask for Date; … Ordered reward  Calculate reward  Order solutions, highest reward first Dominated solutions  As good or better, for all inequalities, and as good, for equalities: e.g. 5 miles away is better than 15 miles away  Discard dominated solutions from reward ordering  Return the best-m for consideration

25 Negotiation (No Solution) Ordered Expectations  LessThanOrEqual(DistanceBetween) < Insurance < …  First, if LessThanOrEqual(DistanceBetween) constrained, suggest relaxing; then if Insurance constrained, suggest relaxing; then … Ordered penalty  Calculate penalty  Order near solutions, lowest penalty first Dominated near solutions  Discard dominated near solutions from penalty ordering  Return the best-m for consideration

26 Example – Possible Dialog User: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 IHC insurance. Sys:Name (of Person) for Appointment? User:Pat Jones Sys:Address (of Person) for Appointment? User:12 Maple, Springville, Utah Sys:No solutions. Can the constraint “within 20 miles” be relaxed to “within 22 miles”? User:yes Sys:One Appointment found – is it OK? Name (of Dermatologist): Tracy Wilson Address (of Dermatologist): 10 Main, Alpine, Utah Insurance: IHC Date: next Wednesday Time: 16:00 Name (of Person): Pat Jones Address (of Person): 12 Maple, Springville, Utah User:yes

27 Service-Request Finalization Insert Appointment in Database IHCDermatologist 7 10 Main, Alpine, Utah 12 Maple, Springville, Utah Tracy Wilson Pat Jones next Wednesday Appointment 87021 16:00 Person 76663 22 miles apart

28 Concluding Comments Simplification of everyday service request specification Conceptual model based resolution – service domain ontology  Insertion of one primary object  Plus dependent objects Domain independent processing – service process ontology  Service-request view  Constraint generation  Constraint satisfaction (after obtaining information from database & user)  Negotiation Status of prototype implementation www.deg.byu.edu


Download ppt "Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF."

Similar presentations


Ads by Google