Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.