200 likes | 327 Views
Advanced Topics in NLP. Semantics V NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions. Access to Databases: 3 Approaches. Natural Language DB Query Language Form Interface. Natural Language. How many countries are there in each continent?
E N D
Advanced Topics in NLP Semantics V NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions NL Semantics V
Access to Databases:3 Approaches • Natural Language • DB Query Language • Form Interface NL Semantics V
Natural Language • How many countries are there in each continent? • What is their average population? NL Semantics V
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)) NL Semantics V
Form Interface NL Semantics V
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 NL Semantics V
ENGLISH LOGICAL FORM PROLOG ANSWER Chat 80 Pereira and Warren (1983)General Architecture Translation: what does the question mean Planning: how shall I answer it Execution: what is the answer? NL Semantics V
Different Types of Sentence NL Semantics V
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 includeAll candidates for CSA4050 failed.Candidates who fail more than four credits shall not be allowed to take resits. NL Semantics V
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? NL Semantics V
Execution ofCommunicative 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. NL Semantics V
Assertions and Questions: Semantic Representation NL Semantics V
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 NL Semantics V
Defining the Interpreter interpret(a1(X),A) :- a1(X,A). interpret(q1(Q),A) :- q1(Q,A). NL Semantics V
Very Basic Intepretation a1(SEM,ok) :- asserta(SEM). • In the case of an assertion, just assert it. • N.B. no check for previous assertion. q1(SEM,yes) :- call(SEM), !. q1(SEM,no). • If it’s a yes-no question, see if it’s true NL Semantics V
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 NL Semantics V
Yes/No Questions:Grammar Rules for S % Declarative sentence s --> np, vp. John sees Fido % interrogative sentence s --> aux, np, vp. does John see Fido ? NL Semantics V
S Rule with Arguments :- [process]. s(a1(S)) --> np(NP), vp(NP), {reduce(VP,NP,S)}. s(q1(S)) --> aux, np(NP), vp(VP), {reduce(VP,NP,S)}. NL Semantics V
Demo ?- process([does,john,see,fido],A). A=no ?- process([john,sees,fido],A). A=ok ?- process([does,john,sees,fido],A). A=yes NL Semantics V
Improving the Interpreter dbq :- readLine(L), dbq1(L), !, dbq. dbq. dbq1([halt]) :- nl, write(bye), !, fail. dbq1(Sent) :- process(Sent,A). NL Semantics V