Presentation on theme: "April 2010CSA50061 Logic, Representation and Inference Simple Question Answering NL Access to Databases Semantics of Questions and Answers Simple Interpreters."— Presentation transcript:
April 2010CSA50061 Logic, Representation and Inference Simple Question Answering NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions
April 2010CSA50062 Access to Databases: 3 Possible Approaches Natural Language DB Query Language Form Interface
April 2010CSA50063 Natural Language How many countries are there in each continent? What is their average population?
April 2010CSA50064 SQL: DB Query Language range of C is countries range of Cont is continents range of I is inclusions retrieve( Cont.name, count(C.name where C.name = I.inside and I.outside = Cont.name))
April 2010CSA50066 Issues Accessibility –Type of query language –What needs to be learned to make a query? –Data input vs. data output Flexibility –Can types of question be predicted? –Can types of question be easily changed? Expressivity –Limitations on kinds of information present –What types of query is possible
April 2010CSA50067 Chat 80 Pereira and Warren (1983) General Architecture ENGLISH LOGICAL FORM PROLOG ANSWER Translation: what does the question mean Planning: how shall I answer it Execution: what is the answer?
April 2010CSA50068 Different Types of Sentence Sentence TypeCommunicative Act Declarative SentenceAssertion Interrogative SentenceQuestion Imperative SentenceCommand
April 2010CSA50069 Sentences and Assertions Assertions are usually expressed by declarative sentences. Our grammar/lexicon deals with very simple examples, e.g. John saw Fido More complex declarative sentences include All candidates for CSA4050 failed. Candidates who fail more than four credits shall not be allowed to take resits.
April 2010CSA500610 Sentences and Questions Questions are usually expressed by interrogative sentences. Our simple grammar/lexicon does not yet deal with interrogative sentences. To handle them we must modify the grammar Issue: how do we recognise interrogative sentences?
April 2010CSA500611 Execution of Communicative Acts Assertions add information to the database. The meaning of a declarative sentence involves execution an appropriate assert operation Questions query information in the database. The meaning of an interrogative sentence involves execution of an appropriate query operation Commands identify actions to be carried out. Representation of communicative act is in addition to representation of content.
April 2010CSA500612 Representation of Communicative Acts Basic idea is to “wrap” the semantic content P in a special form to yield (P). In the following examples, has the general form ca(,, ) The next two examples deal with –simple assertions and –yes-no queries.
April 2010CSA500613 Assertions and Questions: Semantic Representation SentenceRepresentation of Semantic Content Representation of Communicative Act John sees Fido see(john,fido)ca(a1,_,see(john,fido)) Does John see Fido see(john,fido)ca(q1,_,see(john,fido))
April 2010CSA500614 Basic Processing process(Sent,Result) :- s(SEM,Sent,), interpret(SEM,Result). In other words: to process the sentence: Parse it to produce semantic representation SEM Interpret SEM and give back RESULT Next we must define the interpret predicate
April 2010CSA500615 Defining the Interpreter interpret(ca(a1,_,A),Result) :- mk_assertion(A,Result). interpret(ca(q1,_,A),Result) :- yes_no_query(A,Result).
April 2010CSA500616 Very Basic Intepretation mk_assertion(SEM,ok) :- assert(SEM). In the case of an assertion, just assert it. N.B. no check for previous assertion. yes_no_query(SEM,yes) :- call(SEM), !. yes_no_query (SEM,no). If it’s a yes-no question, see if it’s true
April 2010CSA500617 Dealing with Syntax We now have a primitive interpretation mechanism in place. It remains to modify the grammar/lexicon to handle the syntax of these very simple questions. To begin with, we will limit ourselves to yes/no questions
April 2010CSA500618 Yes/No Questions: Grammar Rules for S % Declarative sentence s --> np, vp. Mia loves Vincent % Interrogative sentence s --> aux, np, vp. does Mia love Vincent ?
April 2010CSA500619 Grammar Rules with Semantics (Blackburn) % Declarative sentence s(app(NP,VP)) --> np(NP), vp(VP). Mia loves Vincent np(app(DET,N)) --> det(NP), noun(N). this car
April 2010CSA500620 Grammar Rules with Pragmatics % Declarative sentence s(ca(a1,_app(NP,VP))) --> np(NP), vp(VP). Mia loves Vincent np(app(DET,N)) --> det(NP), noun(N). this car