1 / 28

Conceptual Model Based Semantic Web Services

A solution to help users find and use services while reducing requirements for service specification.

Download Presentation

Conceptual Model Based Semantic Web Services

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conceptual Model BasedSemantic 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 adermatologist 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 adermatologistnext week; any day would be ok for me, at 4:00p.m. The dermatologist must be within 20 miles from my home and must accept my IHC insurance.

  12. 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 Appointment … context keywords/phrase: “appointment |want to see a |…” Dermatologist … context keywords/phrases: “([D|d]ermatologist) | …”       I want to see adermatologistnext 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.

  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 From conceptual-model constraints: From operations: 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 Predicates with bound and free variables Applicable Boolean predicates with (computed) term arguments

  18. Generated Constraints • Appointment(x0) is with Dermatologist(x1)  Appointment(x0) is for Person(x2) • Appointment(x0) is on Date(x3)  Appointment(x0) is at Time(16:00) • Dermatologist(x1) has Name(x4)  Dermatologist(x1) is at Address(x5) • Dermatologist(x1) accepts Insurance(“IHC”)  Person(x2) has Name(x6) • Person(x2) is at Address(x7)  NextWeek(today, x3) • LessThanOrEqual(DistanceBetween(x5, x7), 20)

  19. Information from System

  20. Generated Database Query • {<x1, x3, x4, x5> | • available appointment is with Dermatologist(x1) on Date(x3) at Time(16:00) • Dermatologist(x1) has Name(x4)  Dermatologist(x1) is at Address(x5) • Dermatologist(x1) accepts Insurance(“IHC”)  NextWeek(today, x3)}

  21. Information from User • Some variables cannot be instantiated from the database. • Person(x2) • Person(x2) has Name(x6) • Person(x2) is at Address(x7) • 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 Over the Instantiated Values • 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

  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 Dermatologist7 IHC Tracy Wilson 22 miles apart Pat Jones 10 Main, Alpine, Utah 12 Maple, Springville, Utah Appointment87021 next Wednesday 16:00 Person76663

  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

More Related