Title: Cooperative Query Answering
1Cooperative Query Answering
- Erick Martinez
- Nov. 19, 2002
2MOTIVATION
- 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
3Cooperative Answer (CA)
- A CA should be a correct, non-misleading, and
useful answer to a query.
4Grice's maxims
Q0 Which students are enrolled?A0 joana,
jacob, shakil, A0 ?X. student(X)
- 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
5Database Stonewalling
- Q1 "Who passed COSC6115 in the winter semester
of 2001?A1 No one
- Q2 "Who failed COSC6115 in the winter semester
of 2001?A2 No one - Q3 "Who taught COSC6115 in the winter semester
of 2001?A3 No one" - DB stonewall - will answer a yes/no question
with a yes or no regardless of whether the answer
is misleading.
6QUERY / ANSWER SYSTEMS
- Natural language interfaces
- Databases (relational)
- Logic programming and deductive databases()
7Deductive Databases (DDB)
- 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 DBs state, and the logical
conclusions that must follow from given data
- 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. IC0 ? enrolled_in(X, Y),
- not student(X).
8TECHNIQUES
- 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
9Presuppositions
TECHNIQUES
- 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?
- Q4 ? 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. - 2n - 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
10Lattice of sub-queries
Presuppositions
TECHNIQUES
- 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.
11Misconceptions
TECHNIQUES
- Integrity constraints
- IC1 ? professor(X), student(X).IC2 ?
enrolled_in(X, Y), not student(X). - Query
- "Which professor is enrolled in COSC6115?
- Q5 ? 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.
12Relaxation
TECHNIQUES
- Taxonomy clause
- C6 travel(From, To) ?
- serves_area(A, From),
- serves_area(B, To),
- flight(A,B) .
- Reciprocal clause
- C6T 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
- Apply ? across the taxonomy clause.
- Replace the query atom with the head atom of the
taxonomy clause. - Add the non-key literals from the body of the
taxonomy clause to the new query as constraints
on the variables.
13 Relaxation
C6 travel(From, To) ? serves_area(A,
From), serves_area(B, To), flight(A,B) . C6T
relax(flight(A,B) ) ? serves_area(A,
From), serves_area(B, To), travel(From, To) .
TECHNIQUES
- Original query
- Q6 ? flight(Dulles, Orly).
- Q6r ? relax (flight(Dulles, Orly)).
- Relaxing via reciprocal clause C6T
- Q6r ? serves_area(Dulles, From),
serves_area(Orly, To), travel(From,
To) . - Resolving with taxonomy clause C6
- Q6r ? serves_area(Dulles, From),
serves_area(Orly, To), - serves_area(A, From), serves_area(B,
To), flight(A, B) .
14 Relaxation
TECHNIQUES
- Q6r ? 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
15Generalization
C6T relax(flight(A,B) ) ? serves_area(A,
From), serves_area(B, To), travel(From, To) .
TECHNIQUES
- 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.
- 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.
16USER GOALS AND MODELS
- Types of knowledge about a user relevant to CA
- Interests and preferences
- Needs user constraints (UC)
- Goals and intent
17MY 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
18The End
- Thats thats thats all folks
19A 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
20Deductive 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).