Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.

Slides:



Advertisements
Similar presentations
Answering Approximate Queries over Autonomous Web Databases Xiangfu Meng, Z. M. Ma, and Li Yan College of Information Science and Engineering, Northeastern.
Advertisements

Risk Modeling The Tropos Approach PhD Lunch Meeting 07/07/2005 Yudistira Asnar –
Basic I/O Relationship Knowledge-based: "Tell me what fits based on my needs"
Ontologies for multilingual extraction Deryle W. Lonsdale David W. Embley Stephen W. Liddle Supported by the.
OASIS Reference Model for Service Oriented Architecture 1.0
Ontology-Based Free-Form Query Processing for the Semantic Web by Mark Vickers Supported by:
Extracting Information from Heterogeneous Information Sources Using Ontologically Specified Target Views Joachim Biskup Universität Dortmund and David.
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed Supported in part by NSF.
Content Based Image Clustering and Image Retrieval Using Multiple Instance Learning Using Multiple Instance Learning Xin Chen Advisor: Chengcui Zhang Department.
Motion Editing and Retargetting Jinxiang Chai. Outline Motion editing [video, click here]here Motion retargeting [video, click here]here.
A Practical Introduction to Transactional Database Modeling and Design Mike Burr.
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed J. Al-Muhammed Brigham Young University Supported by:
A Framework for Pay-as-you-go Extraction Ontology Based Information Retrieval Andrew Zitzelberger.
Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein.
OWL-AA: Enriching OWL with Instance Recognition Semantics for Automated Semantic Annotation 2006 Spring Research Conference Yihong Ding.
Data Frames Version 3 Proposal. Data Frames Version 2 Year matches [2] constant { extract "\d{2}"; context "([^\$\d]|^)\d{2}[^,\dkK]"; } 0.5, { extract.
Model Personalization (1) : Data Fusion Improve frame and answer (of persistent query) generation through Data Fusion (local fusion on personal and topical.
Conceptual Model Based Semantic Web Services Muhammed J. Al-Muhammed David W. Embley Stephen W. Liddle Brigham Young University Sponsored in part by NSF.
Ontology-Based Free-Form Query Processing for the Semantic Web Thesis proposal by Mark Vickers.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Recognizing Ontology-Applicable Multiple-Record Web Documents David W. Embley Dennis Ng Li Xu Brigham Young University.
ER 2002BYU Data Extraction Group Automatically Extracting Ontologically Specified Data from HTML Tables with Unknown Structure David W. Embley, Cui Tao,
Ontology-Based Information Extraction and Structuring Stephen W. Liddle † School of Accountancy and Information Systems Brigham Young University Douglas.
Query Rewriting for Extracting Data Behind HTML Forms Xueqi Chen, 1 David W. Embley 1 Stephen W. Liddle 2 1 Department of Computer Science 2 Rollins Center.
Ontology Aware Software Service Agents: Meeting Ordinary User Needs on the Semantic Web Muhammed Al-Muhammed April 19, 2005.
1 Lecture 13: Database Heterogeneity Debriefing Project Phase 2.
From OSM-L to JAVA Cui Tao Yihong Ding. Overview of OSM.
DASFAA 2003BYU Data Extraction Group Discovering Direct and Indirect Matches for Schema Elements Li Xu and David W. Embley Brigham Young University Funded.
Exploiting Preference Queries for Searching Learning Resources Fabian Abel, Eelco Herder, Philipp Kärger, Daniel Olmedilla, Wolf Siberski L3S Research.
Ontology-Based Free-Form Query Processing for the Semantic Web Mark Vickers Brigham Young University MS Thesis Defense Supported by:
Recognition and Satisfaction of Constraints in Free-Form Task Specification Muhammed Al-Muhammed.
Semi-Automatically Generating Data-Extraction Ontology Yihong Ding March 6, 2001.
Dynamic Matchmaking between Messages and Services in Multi-Agent Systems Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part.
Resolving Underconstrained and Overconstrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham.
1 Ontology-Based Constraint Recognition for Free-Form Service Requests Muhammed Al-Muhammed David W. Embley Brigham Young University Supported in part.
1 Bringing Web Principles to Services – Through a Request Oriented Architecture Muhammed J. Al Muhammed David W. Embley Stephen W. Liddle Yuri A. Tijerino.
Ontology-Based Constraint Recognition in Free-Form Service Requests Muhammed J. Al-Muhammed Brigham Young University Sponsored in part by NSF (#
Answering Imprecise Queries over Autonomous Web Databases Ullas Nambiar Dept. of Computer Science University of California, Davis Subbarao Kambhampati.
Pei-Ci Wu Martin D. F. Wong On Timing Closure: Buffer Insertion for Hold-Violation Removal DAC’14.
Generating Data-Extraction Ontologies By Example Joe Zhou Data Extraction Group Brigham Young University.
1 Cui Tao PhD Dissertation Defense Ontology Generation, Information Harvesting and Semantic Annotation For Machine-Generated Web Pages.
Automatic Creation and Simplified Querying of Semantic Web Content An Approach Based on Information-Extraction Ontologies Yihong Ding, David W. Embley,
Cooperative Query Answering Based on a talk by Erick Martinez.
The maximum likelihood method Likelihood = probability that an observation is predicted by the specified model Plausible observations and plausible models.
Cross-Language Hybrid Keyword and Semantic Search David W. Embley, Stephen W. Liddle, Deryle W. Lonsdale, Joseph S. Park, Andrew Zitzelberger Brigham Young.
New Product Development Management NPDM 4 Mohsen SADEGHI Department of Graduate School of Management and Economics Sharif University of Technology.
Fall CIS 764 Database Systems Engineering L21: Status Project Reviews Testing.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Managerial Decision Making and Problem Solving
Querying Structured Text in an XML Database By Xuemei Luo.
RCDL Conference, Petrozavodsk, Russia Context-Based Retrieval in Digital Libraries: Approach and Technological Framework Kurt Sandkuhl, Alexander Smirnov,
4 1 SEARCHING THE WEB Using Search Engines and Directories Effectively New Perspectives on THE INTERNET.
1 1 Overview 1.Find out why software engineering is important ■ see some software engineering failures 2.Get acquainted with – ■ the Chair of Software.
Project Deliverables CEN Engineering of Software 2.
VisDB: Database Exploration Using Multidimensional Visualization Maithili Narasimha 4/24/2001.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Ontology-Based Free-Form Query Processing for the Semantic Web Mark Vickers Brigham Young University MS Thesis Defense Supported by:
Neural and Evolutionary Computing - Lecture 9 1 Evolutionary Multiobjective Optimization  Particularities of multiobjective optimization  Multiobjective.
03/02/20061 Evaluating Top-k Queries Over Web-Accessible Databases Amelie Marian Nicolas Bruno Luis Gravano Presented By: Archana and Muhammed.
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
CSCI 6962: Server-side Design and Programming Shopping Carts and Databases.
Dialogue Modeling 2. Indirect Requests “Can I have a cup of coffee?”  One approach to dealing with these kinds of requests is by plan-based inference.
Evolutionary Computing Chapter 13. / 24 Chapter 13: Constraint Handling Motivation and the trouble What is a constrained problem? Evolutionary constraint.
David W. Embley Brigham Young University Provo, Utah, USA.
Of 24 lecture 11: ontology – mediation, merging & aligning.
Ishan Sharma Abhishek Mittal Vivek Raj
David W. Embley Brigham Young University Provo, Utah, USA
Eight-QueenS Problem: Fuzzy Constraint Satisfaction Problem Using Soar
Cooperative Query Answering
Constraint handling Chapter 12.
Presentation transcript:

Resolving Under Constrained and Over Constrained Systems of Conjunctive Constraints for Service Requests Muhammed J. Al-Muhammed David W. Embley Brigham Young University Supported by:

Outline of Presentation The larger project  Satisfying free-form service requests  Resolving encountered difficulties Focus on resolution for:  Under constrained systems of constraints  Over constrained systems of constraints System demo Concluding remarks

Challenges for Web Services Help users find and use services Reduce requirements for service specification and resolution I want to see a dermatologist between the 12th and 15th, at 1:00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance.

A Conceptual-Modeling Solution 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  Resolves issues (if necessary)

Domain Ontology object set of interest optional mandatory functional

Domain Ontology: Data Frames Time … textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?) TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|… … Address … DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance) … Distance … textual representation: ((\d+(\.\d+)?)|(\.\d+)) … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance … Time … textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?) TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|… … Address … DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance) … Distance … textual representation: ((\d+(\.\d+)?)|(\.\d+)) … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance … Time … textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?) TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|… … Address … DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance) … Distance … textual representation: ((\d+(\.\d+)?)|(\.\d+)) … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance … Time … textual representation: ([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?) TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|… … Address … DistanceBetweenAddresses(a1: Address, a2: Address) returns (Distance) … Distance … textual representation: ((\d+(\.\d+)?)|(\.\d+)) … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|not\s+more\s+than |<\s*=|…)\s+Distance …

I want to see a dermatologist between the 12th and 15th, at 1:00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance. Appointment context keywords/phrase: “appointment |want to see a |…” Time textual representation: “([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)” TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|… Date DateBetween(x1: Date, x2: Date, x3: Date) returns(Boolean) contextual keywords/phrases: between\s+the\s+Date\s+and\s+Date …. Distance textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles? | kilometers? | … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|…)\s+Distance|… Example

I want to see a dermatologist between the 12th and 15th, at 1:00 PM or after. The dermatologist should be within 15 miles from my home and must accept my IHC insurance. Appointment context keywords/phrase: “appointment |want to see a |…” Time textual representation: “([2-9]|1[012]?)\s*:\s*([0-5]\d)\s*[AaPp]\s* \.?\s* [Mm]\s* \.?)” TimeAtOrAfter(t1: Time, t2: Time) returns (Boolean) contextual keywords/phrases: (at\s+)?Time\s+or\s+after|… Date DateBetween(x1: Date, x2: Date, x3: Date) returns(Boolean) contextual keywords/phrases: between\s+the\s+Date\s+and\s+Date …. Distance textual representation: ((\d+(\.\d+)?)|(\.\d+)) context keywords/phrases: miles? | kilometers? | … DistanceLessThanOrEqual(d1: Distance, d2: Distance) returns (Boolean) contextual keywords/phrases: (within|…)\s+Distance|… Part of this is about finding the right ontology.

Marked-Up Domain Ontology  Distance  DistanceLessThanOrEqual(d1: Distance, “15”)  TimeAtOrAfter(t1: Time, “1:00 PM”)  DateBetween(x1: Date, “12th”, “15th”)  InsuranceEqual(i1: Insurance, “IHC”)

Relevant Object and Relationship Sets Identification

Relevant Object & Relationship Sets Dermatologist(y) is at Address(z) Appointment(x) is with Dermatologist(y)

Relevant Operations TimeAtOrAfter(t 1 : Time, “1:00 PM”) DateBetween(x 1 : Date, “12th”, “15th”) InsuranceEqual(i 1 : Insurance, “IHC”) DistanceLessThanOrEqual(d 1 : Distance, “15”) Appointment(x 0 ) is at Time(t 1 ) /\ TimeAtOrAfter(t 1, “1:00 PM”) DateBetween(x 1 : Date, “12th”, “15th”) InsuranceEqual(i 1 : Insurance, “IHC”) DistanceLessThanOrEqual(d 1 : Distance, “15”) Appointment(x 0 ) is at Time(t 1 ) /\ TimeAtOrAfter(t 1, “1:00 PM”) Appointment(x 0 ) is at Date(x 1 ) /\ DateBetween(x 1, “12th”, “15th”) Dermatologist(x 1 ) accepts Insurance(i 1 ) /\ InsuranceEqual(i 1, “IHC”) DistanceLessThanOrEqual(d 1 : Distance, “15”) Appointment(x 0 ) is at Time(t 1 ) /\ TimeAtOrAfter(t 1, “1:00 PM”) Appointment(x 0 ) is at Date(x 1 ) /\ DateBetween(x 1, “12th”, “15th”) Dermatologist(x 1 ) accepts Insurance(i 1 ) /\ InsuranceEqual(i 1, “IHC”) DistanceLessThanOrEqual(d 1 : Distance, “15”) Appointment(x 0 ) is at Time(t 1 ) /\ TimeAtOrAfter(t 1, “1:00 PM”) Appointment(x 0 ) is at Date(x 1 ) /\ DateBetween(x 1, “12th”, “15th”) Dermatologist(x 1 ) accepts Insurance(i 1 ) /\ InsuranceEqual(i 1, “IHC”) DistanceLessThanOrEqual(DistanceBetweenAddresses(a 1, a 2 ), “15”) … Address … DistanceBetweenAddresses(a 1 : Address, a 2 : Address) returns (Distance) … Appointment(x 0 ) is at Time(t 1 ) /\ TimeAtOrAfter(t 1, “1:00 PM”) Appointment(x 0 ) is at Date(x 1 ) /\ DateBetween(x 1, “12th”, “15th”) Dermatologist(x 1 ) accepts Insurance(i 1 ) /\ InsuranceEqual(i 1, “IHC”) Dermatologist(x 1 ) is at Address(a 1 ) /\ Person(x 2 ) is at Address(a 2 ) /\ DistanceLessThanOrEqual(DistanceBetweenAddresses(a 1, a 2 ), “15”)

Generated Constraints Appointment(x 0 ) is with Dermatologist(x 1 ) /\ Appointment(x 0 ) is for Person(x 2 ) /\ Dermatologist(x 1 ) has Name(x 3 ) /\ Person(x 2 ) has Name(x 4 ) /\ Appointment(x 0 ) is on Date(x 5 ) /\ DateBetween(x 5, “12th”, “15th”) /\ Appointment(x 0 ) is at Time(x 6 ) /\ TimeAtOrAfter(x 6, “1:00 PM) /\ Dermatologist(x 1 ) is at Address(x 7 ) /\ Person(x 2 ) is at Address(x 8 ) /\ DistanceLessThanOrEqual(DistanceBetweenAddresses(x 7, x 8 ), “15”) /\ Dermatologist(x 1 ) accepts Insurance(x 9 ) /\ InsuranceEqual(x 9, “IHC”)

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

Information from System

Generated Database Query { | Appointment(x 0 ) is with Dermatologist(x 1 ) /\ Dermatologist(x 1 ) has Name(x 3 ) /\ Appointment(x 0 ) is on Date(x 5 ) /\ DateBetween(x 5, “12th”, “15th”) /\ Appointment(x 0 ) is at Time(x 6 ) /\ TimeAtOrAfter(x 6, “1:00 PM) /\ Dermatologist(x 1 ) is at Address(x 7 ) /\ Dermatologist(x 1 ) accepts Insurance(x 9 ) /\ InsuranceEqual(x 9, “IHC”) }

Information from User Some variables cannot be instantiated from the database.  Person(x 2 )  Name(x 4 )  Address(x 8 ) 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?

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 (under constrained): resolve No solutions (over constrained): resolve Over the Instantiated Values

Under Constrained “I want a dodge, a 2000 or newer. The Mileage should be less than 80,000 and the price should not exceed $15,000” SolutionMakeModelPriceYearMileage S1DodgeStratus9, ,808 S2DodgeStratus14, ,694 S3DodgeStratus14, ,543 S4DodgeStratus2, ,424 S5DodgeStratus6, ,000 … … S168DodgeStratus9, ,060 November 2005

Over Constrained “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. November 2005

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 A reward is zero or a positive real number given to a solution for satisfying a constraint. A penalty is a negative real number given to a near solution for violating a constraint. An expectation for a concept is the probability that a constraint for the concept will be specified.

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 Dominated solutions are not Pareto optimal

Too Many Solutions: Reward-Based Ordering Calculate rewards and combine them Order solutions, highest combined reward first Select the top-m Pareto optimal solutions

Example “I want a dodge a 2000 or newer. The mileage should be less than 80,000 and the price should not be more than $15,000.” Solution Make Model Price Year Mileage S1 Dodge Stratus 13, ,775 S2 Dodge Stratus 11, ,404 S3 Dodge Stratus 14, ,008 S4 Dodge Stratus 14, ,954 S5 Dodge Stratus 10, ,608 S1 better The sameS1 better

Too Many Solutions: Expectation-Based Constraint Elicitation Associate expectations with domain concepts. Order the concepts in a domain based on their expectations.  e.g. make > price > model > … Elicit additional constraints over unconstrained concepts.  e.g. If no preferred make provided, ask for make; if no price, ask for price; …

No Solution: Penalty-Based Ordering Calculate penalties and combine them. Order close solutions, lowest combined penalty first. Select the top-m Pareto optimal near solutions. Ask if constraints can be relaxed, but only ask about a few (so as not to be bothersome).

Example Near SolutionInsuranceDistanceTimeDate S1IHC161:00 PMthe 19th S2IHC181:10 PMthe 19th S3IHC412:40 PMthe 19th S4IHC612:50 PMthe 19th S5IHC203:00 PMthe 19th Near Solution Insurance=“IHC” Expectation: 0.4 Distance  5 Expectation: 0.3 Time  “1:00 PM” Expectation: 0.8 Date=“the 20th” Expectation: 0.9  exp  plty S    S    S    S    S    “I want to see a dermatologist on the 20th, 1:00 PM or after. The dermatologist should be within 5 miles from my home and must accept my IHC insurance.” Can this constraint “1:00 PM or after” be relaxed to “12:40 PM”? Can this constraint “the 20th” be relaxed to “the 19th”? 12:40 PMthe 19th

Demo

Performance Analysis (Correspondence to Human Expectations) 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

Performance Analysis (appointment domain)

Performance Analysis (car-purchase domain)

Concluding Remarks Simplification of everyday service request specification  Free-form service request  Ontology-based recognition of constraints  Constraint satisfaction Resolution for under and over constrained requests  Ordered expectations  Ordered penalty/reward  Pareto optimality  Inter-observer agreement test: “Substantial Agreement” Status of prototype implementation