Cooperative Query Answering Based on a talk by Erick Martinez.

Slides:



Advertisements
Similar presentations
1 Datalog: Logic Instead of Algebra. 2 Datalog: Logic instead of Algebra Each relational-algebra operator can be mimicked by one or several Database Logic.
Advertisements

Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
1. An Overview of Prolog.
WIMS 2014, June 2-4Thessaloniki, Greece1 Optimized Backward Chaining Reasoning System for a Semantic Web Hui Shi, Kurt Maly, and Steven Zeil Contact:
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
1 541: Relational Calculus. 2 Relational Calculus  Comes in two flavours: Tuple relational calculus (TRC) and Domain relational calculus (DRC).  Calculus.
Logic.
Key Stone Problem… Key Stone Problem… next Set 21 © 2007 Herbert I. Gross.
Efficient Query Evaluation on Probabilistic Databases
Outline Recap Knowledge Representation I Textbook: Chapters 6, 7, 9 and 10.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
CPSC 322 Introduction to Artificial Intelligence September 20, 2004.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Software Testing and Quality Assurance
Inference and Resolution for Problem Solving
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
PROMPT: Algorithm and Tool for Automated Ontology Merging and Alignment Natalya Fridman Noy and Mark A. Musen.
1 Chapter 9 Rules and Expert Systems. 2 Chapter 9 Contents (1) l Rules for Knowledge Representation l Rule Based Production Systems l Forward Chaining.
Let remember from the previous lesson what is Knowledge representation
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Rutgers University Relational Calculus 198:541 Rutgers University.
HAWKES LEARNING SYSTEMS math courseware specialists Copyright © 2011 Hawkes Learning Systems. All rights reserved. Hawkes Learning Systems: College Algebra.
Intelligent Tutoring Systems Traditional CAI Fully specified presentation text Canned questions and associated answers Lack the ability to adapt to students.
1 Relational Algebra and Calculus Chapter 4. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
The Relational Model. Review Why use a DBMS? OS provides RAM and disk.
Chapter 9 Integrity. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.9-2 Topics in this Chapter Predicates and Propositions Internal vs.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Relational Calculus Chapter 4, Section 4.3.
Logics for Data and Knowledge Representation Exercises: Modeling Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
LDK R Logics for Data and Knowledge Representation ClassL (part 3): Reasoning with an ABox 1.
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Introduction To PROLOG World view of imperative languages. World view of relational languages. A PROLOG program. Running a PROLOG program. A PROLOG.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Relational Algebra and Calculas Chapter 4, Part A.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
KR A Principled Framework for Modular Web Rule Bases and its Semantics Anastasia Analyti Institute of Computer Science, FORTH-ICS, Greece Grigoris.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
LDK R Logics for Data and Knowledge Representation ClassL (Propositional Description Logic with Individuals) 1.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
Robust Estimation With Sampling and Approximate Pre-Aggregation Author: Christopher Jermaine Presented by: Bill Eberle.
11 Artificial Intelligence CS 165A Thursday, October 25, 2007  Knowledge and reasoning (Ch 7) Propositional logic 1.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Knowledge Based Information System
Logic: Proof procedures, soundness and correctness CPSC 322 – Logic 2 Textbook §5.2 March 7, 2011.
LDK R Logics for Data and Knowledge Representation Propositional Logic Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto Giunchiglia,
Relaxing Queries Presented by Ashwin Joshi Kapil Patil Sapan Shah.
Database Management Systems, R. Ramakrishnan1 Relational Calculus Chapter 4, Part B.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
Presented by Kyumars Sheykh Esmaili Description Logics for Data Bases (DLHB,Chapter 16) Semantic Web Seminar.
Chapter 8 Relational Database Design. 2 Relational Database Design: Goals n Reduce data redundancy (undesirable replication of data values) n Minimize.
Answering Queries Using Views Presented by: Mahmoud ELIAS.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Relational Calculus Chapter 4, Section 4.3.
Relational Calculus Chapter 4, Part B
EA C461 – Artificial Intelligence Logical Agent
Chapter 7: Beyond Definite Knowledge
Cooperative Query Answering
Logic: Top-down proof procedure and Datalog
Horn Clauses and Unification
Logics for Data and Knowledge Representation
Relational Calculus Chapter 4, Part B 7/1/2019.
Implementation of Learning Systems
Presentation transcript:

Cooperative Query Answering Based on a talk by Erick Martinez

MOTIVATION: Responses to queries posed by a user of a database do not always contain the information required DB and information systems are often hard to use because they do not explicitly attempt to cooperate with their users. They answer literally the queries posed to them A user might need more information than requested, or might actually need different information An answer with extra or alternative information may be more useful and less misleading to a user

Cooperative Answer (CA) A CA should be a correct, non-misleading, and useful answer to a query.

Grice's maxims Maxim of Quality: a system should never give an answer which might mislead the user Maxim of Quantity: an answer should not be more informative, or more detailed, than necessary Maxim of Relation: an answer should be always relevant to the user who asked the question Maxim of Manner: an answer should not be ambiguous, leaving the user with choices to make about its meaning Q 0 : “Which students are enrolled? A 0 : “joana, jacob, shakil, …“ A 0 : “  X. student(X)“

Database Stonewalling Q 1 : "Who passed COSC6115 in the winter semester of 2001? A 1 : “No one“ Q 2 : "Who failed COSC6115 in the winter semester of 2001? A 2 : “No one“ Q 3 : "Who taught COSC6115 in the winter semester of 2001? A 3 : “No one" DB stonewall - will answer a yes/no question with a yes or no regardless of whether the answer is misleading.

QUERY / ANSWER SYSTEMS Natural language interfaces Databases (relational) Logic programming and deductive databases ( * )

Deductive Databases (DDB) A deductive database consists of three parts: Facts – the set of all facts constitute the extensional database (EDB) Rules – the set of rules constitute the intensional database (IDB) Integrity constraints (IC) – the set of logical formula that must be true of the database e.g. IC 0 :  enrolled_in(X, Y), not student(X). Distinction between data and knowledge: Data represented in the EDB, and knowledge in the IDB and IC. Knowledge is the semantics of the DB, that which must be true of the DB’s state, and the logical conclusions that must follow from given data

TECHNIQUES Evaluation of presuppositions in a query ( * ) Detection and correction of misconceptions in a query ( * ) Relaxation and generalization of queries and responses ( * ) Consideration of specific information about a user's state of mind Formulation of intensional answers

Presuppositions: Usually, asking a query not only presupposes the existence of all components of the query, but also presupposes an answer to the query itself. i.e. "Which employees own red cars?“ Q 4 :  emp(X), owns(X,Y), car(Y), red(Y). Two atoms in a query are joined if they share a variable. A query is connected if every two atoms in the query are connected. 2 n - 2 sub-queries for a conjunctive query with n atoms (exp. cost)  Algorithm: Report the smallest sub-queries that fail, considering only connected sub-queries TECHNIQUESTECHNIQUES

Lattice of sub-queries: If a sub-query has no answers, the query cannot have any answers either (scalar implicature) Finding presuppositions (failed sub-queries) is independent of domain specific knowledge. TECHNIQUESTECHNIQUES Presuppositions:

Misconceptions: Integrity constraints: IC 1 :  professor(X), student(X). IC 2 :  enrolled_in(X, Y), not student(X). Query: "Which professor is enrolled in COSC6115?“ Q 5 :  professor(X), enrolled_in(X, COSC6115). Answer: “No one is both a professor and a student. Anyone who is enrolled in a class is a student. So no one is a professor and enrolled in class.“ TECHNIQUESTECHNIQUES

Relaxation: Taxonomy clause: C 6 : travel(From, To)  serves_area(A, From), serves_area(B, To), flight(A,B) *. Reciprocal clause: C 6 T : relax(flight(A,B) )  serves_area(A, From), serves_area(B, To), travel(From, To). Relaxation step: let  be a substitution after unifying atom in goal with key ( * ) in the taxonomy clause 1. Apply  across the taxonomy clause. 2. Replace the query atom with the head atom of the taxonomy clause. 3. Add the non-key literals from the body of the taxonomy clause to the new query as constraints on the variables. TECHNIQUESTECHNIQUES

… Relaxation: Original query: Q 6 :  flight(‘Dulles, ‘Orly’). Q 6r :  relax ( flight(‘Dulles, ‘Orly’)). Relaxing via reciprocal clause C 6 T : Q 6r ’ :  serves_area(‘Dulles, From), serves_area(‘Orly’, To), travel(From, To). Resolving with taxonomy clause C 6 : Q 6r ’’ :  serves_area(‘Dulles, From), serves_area(‘Orly’, To), serves_area(A, From), serves_area(B, To), flight(A, B). C 6 : travel(From, To)  serves_area(A, From), serves_area(B, To), flight(A,B) *. C 6 T : relax(flight(A,B) )  serves_area(A, From), serves_area(B, To), travel(From, To). TECHNIQUESTECHNIQUES

… Relaxation: Q 6r ’’ :  serves_area(‘Dulles’, From), serves_area(‘Orly’, To), serves_area(A, From), serves_area(B, To), flight(A, B). When A = ‘Dulles’ and B = ‘Orly’, solving flight(‘ Dulles, ‘ Orly’ ) again and will get the same answers When A  ‘Dulles’ and B  ‘Orly’, will get new answers: – From = ‘Washington, D.C.’ and – serves_area(A, ‘Washington, D.C.’) will be satisfied by A = ‘National’, A = ‘BWI’ … TECHNIQUESTECHNIQUES

Generalization: Relaxation is strictly a syntactic notion, a rewrite mechanism. Generalization is a semantic counterpart to relaxation. Literal answers to the relaxed query should include answers to the original query, plus some new neighbourhood answers with respect to the original query. C 6 T : relax(flight(A,B) )  serves_area(A, From), serves_area(B, To), travel(From, To). TECHNIQUESTECHNIQUES After applying relaxation a new query is a generalization only if all the non-key atoms are satisfied whenever the key atom is satisfied. (conservative reciprocal clause) When all reciprocal clauses are conservative, resolution over a relaxed query will produce all the answers of the original query.

USER GOALS AND MODELS Types of knowledge about a user relevant to CA Interests and preferences Needs – user constraints (UC) Goals and intent

KEY POINTS: CA is mostly intended for DDB as a platform. For RDB, a deductive database interface should be implemented on top of any relational system. The system should support natural language input to some extend for some domains (the natural language translator generates a logical query) The system should produce natural language responses CA techniques, in particular relaxation, can useful for applications like Internet queries It is not evident that first order logic can serve as an adequate ontology for CA

The End

A CA SYSTEM (at U of Maryland) Uniform system: – Defined and implemented through logic – Uniform representation and support for all cooperative methods Portable – General approach for RDB, DDB and logic programs – Domain-independent Natural language interface – Accept natural language queries – Provide cohesive and coherent responses in natural language

Deductive Database Structure: EDB: prerequisite(‘MATH-300’, ‘MATH-350’). prerequisite(‘MATH-350’, ‘MATH-400’). teaches(smith, ‘MATH-400’). … IDB : teaches(X, Y)  teaches(X, Z), prerequisite(Y, Z). … IC :  enrolled_in(X, Y), not student(X). …