1 / 22

Logic, Representation and Inference

Logic, Representation and Inference. Simple Question Answering NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions. Access to Databases: 3 Possible Approaches. Natural Language DB Query Language Form Interface. Natural Language.

conroy
Download Presentation

Logic, Representation and Inference

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Logic, Representation and Inference Simple Question Answering NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions CSA5006

  2. Access to Databases:3 Possible Approaches • Natural Language • DB Query Language • Form Interface CSA5006

  3. Natural Language • How many countries are there in each continent? • What is their average population? CSA5006

  4. 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)) CSA5006

  5. Form Interface CSA5006

  6. 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 CSA5006

  7. 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? CSA5006

  8. Different Types of Sentence CSA5006

  9. 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. CSA5006

  10. 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? CSA5006

  11. 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. CSA5006

  12. 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 formca(<type>,<var>,<proposition>) • The next two examples deal with • simple assertions and • yes-no queries. CSA5006

  13. Assertions and Questions: Semantic Representation CSA5006

  14. 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 CSA5006

  15. Defining the Interpreter interpret(ca(a1,_,A),Result) :- mk_assertion(A,Result). interpret(ca(q1,_,A),Result) :- yes_no_query(A,Result). CSA5006

  16. 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 CSA5006

  17. 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 CSA5006

  18. 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 ? CSA5006

  19. Grammar Rules with Semantics (Blackburn) % Declarative sentence s(app(NP,VP)) --> np(NP), vp(VP). MialovesVincent np(app(DET,N)) --> det(NP), noun(N). thiscar CSA5006

  20. Grammar Rules with Pragmatics % Declarative sentence s(ca(a1,_app(NP,VP))) --> np(NP), vp(VP). MialovesVincent np(app(DET,N)) --> det(NP), noun(N). thiscar CSA5006

  21. Demo ?- process([does,vincent,love,mia],A). A=no ?- process([vincent,loves,mia],A). A=ok ?- process([does,vincent,love,mia],A). A=yes CSA5006

  22. Improving the Interpreter dbq :- readLine(L), dbq1(L), !, dbq. dbq. dbq1([halt]) :- nl, write(bye), !, fail. dbq1(Sent) :- process(Sent,A). CSA5006

More Related