1 / 21

CSA4050: Advanced Topics in NLP

CSA4050: Advanced Topics in NLP. Semantics V NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions. Access to Databases: 3 approaches. DB Query Language Form Interface Natural Language. DB Query Language. range of C is countries

trula
Télécharger la présentation

CSA4050: Advanced Topics in NLP

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. CSA4050: Advanced Topics in NLP Semantics V NL Access to Databases Semantics of Questions and Answers Simple Interpreters for Questions csa4050: Semantics V

  2. Access to Databases:3 approaches • DB Query Language • Form Interface • Natural Language csa4050: Semantics V

  3. 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)) csa4050: Semantics V

  4. Form Interface csa4050: Semantics V

  5. Natural Language • How many countries are there in each continent? csa4050: Semantics V

  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 csa4050: Semantics V

  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? csa4050: Semantics V

  8. Different Types of Sentence csa4050: Semantics V

  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. csa4050: Semantics V

  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? csa4050: Semantics V

  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. csa4050: Semantics V

  12. Assertions and Questions: Semantic Representation csa4050: Semantics V

  13. 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 csa4050: Semantics V

  14. Defining the Interpreter interpret(a1(X),A) :- a1(X,A). interpret(q1(Q),A) :- q1(Q,A). csa4050: Semantics V

  15. 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 csa4050: Semantics V

  16. 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 csa4050: Semantics V

  17. 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 ? csa4050: Semantics V

  18. S Rule with Arguments :- [process]. s(a1(S)) --> np(VP^S), vp(VP). s(q1(S)) --> aux, np(VP^S), vp(VP). csa4050: Semantics V

  19. Complete Grammar s(a1(S)) --> np(VP^S), vp(VP). s(q1(S)) --> aux, np(VP^S), vp(VP). np(NP) --> n(NP). np(NP) --> d(N^NP), n(N). vp(VP) --> v(VP). vp(Z^P) --> v(V2), np(NP), {reduce(V2,Z,V1), reduce(NP,V1,P)}. % lexicon aux --> [does]. aux --> [did]. v(X^walk(X)) --> [walk]. v(X^walk(X)) --> [walked]. v(X^Y^chased(X,Y)) --> [chase]. v(X^Y^chased(X,Y)) --> [chased]. n(X^cat(X)) --> [cat]. n(VP^S) --> [suzie], {reduce(VP,suzie,S)}. n(VP^S) --> [felix], {reduce(VP,felix,S)}. d(RL^SL^some(X,R,S)) --> [a], {reduce(RL,X,R),reduce(SL,X,S) }. csa4050: Semantics V

  20. Demo ?- process([does,john,see,fido],A). A=no ?- process([john,sees,fido],A). A=ok ?- process([does,john,sees,fido],A). A=yes csa4050: Semantics V

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

More Related