200 likes | 213 Views
CSA4050: Advanced Topics in NLP. Semantics 6 Semantics of Questions and Assertions involving Quantification. Classification of Questions. Classification of Assertions. Issues. Handling questions ≠ Handling assertions Semantic issues: What LF? How to process LF Syntactic issues
E N D
CSA4050: Advanced Topics in NLP Semantics 6 Semantics of Questions and Assertions involving Quantification CSA4050 Advanced Techniques in NLP
Classification of Questions CSA4050 Advanced Techniques in NLP
Classification of Assertions CSA4050 Advanced Techniques in NLP
Issues • Handling questions ≠ Handling assertions • Semantic issues: • What LF? • How to process LF • Syntactic issues • how to parse sentences • how to build LF CSA4050 Advanced Techniques in NLP
Semantics of Question TypeDid all the cats sleep? • how to represent meaningq1(all(X,cat(X),sleep(X)) • how to process meaningprovide definition for all(X,R,S) • intuitively, this succeeds if for every X where R succeeds, S also succeeds • it fails if there is a single counterexample i.e. cat(X) succeeds and sleep(X) fails. CSA4050 Advanced Techniques in NLP
Defining all all(_,R,S) :- \+(R,\+S). NB • \+ (G) succeeds if G fails. • Goal1,Goal2 succeeds if Goal1, then Goal2 succeed • What happens if R fails? CSA4050 Advanced Techniques in NLP
Semantics of Question TypeDid a cat sleep? • how to represent meaningq1(some(X,cat(X),sleep(X)) • how to process meaningprovide definition for some(X,R,S) • intuitively, this succeeds if there is an X which satisfies R and S. • it fails if there is no such X. Only one example need be established. CSA4050 Advanced Techniques in NLP
Defining some some(_,R,S) :- R, S. NB • Can this be made more efficient? CSA4050 Advanced Techniques in NLP
Getting a List of SolutionsWhich cats sleep? • The built in predicatesetof(X,Goal,L)binds L to a list of X that satisfy Goal • So for example with a database containingcat(majlo). sleep(majlo). cat(felix). sleep(felix). cat(cobweb). • ?- setof(X,(cat(X),sleep(X)),L).L = [majlo,felix] CSA4050 Advanced Techniques in NLP
How many cats slept? • "How many" questions require a numerical answer that is obtained by counting the number of solutions. • This can be acheived as follows using setof in conjunction with the built-in length predicate.howmany(X,Goal,N) :- setof(X,Goal,L), length(L,N). CSA4050 Advanced Techniques in NLP
Assertions with QuantificationUniversal Statements • Universal statements are those whose LF involves all(<var>,R,S). • This translates into the Prolog clauseS :- R • Example • English = Every cat sleeps • LF = all(X,cat(X),sleep(X)). • Prolog = sleep(X) :- cat(X) CSA4050 Advanced Techniques in NLP
Restrictions on Translationinto Prolog • Prolog uses the Horn Clause subset of FOL. • A rule of the forma(X) :- a1(X), ..., an(X)corresponds to the FOL statementx (a1(x) & ... & an(x) a(x)) • Outermost quantifier must be universally quantifed • Conclusion must be a single predicate CSA4050 Advanced Techniques in NLP
Assertions with Quantification:Simple existential statements • With simple assertions like Suzie chased Felixwe simply assert the corresponding LF chased(suzie,felix) into the database. • This will not work with sentences likeSuzie chased a catwhose LF issome(X,cat(X),chase(suzie,X)) CSA4050 Advanced Techniques in NLP
Establishing the truthof quantified sentences • In order to find out what has to be asserted, let’s see what happens with corresponding query, given that some(_,R,S) :- R, S. • Clearly, the query?- some(X,cat(X),chase(suzie,X)).will cause subgoals cat(X), chase(suzie,X) to be tried. • These will fail CSA4050 Advanced Techniques in NLP
Anonymous Names • cat(X) and chased(suzie,felix) will succeed if we have, e.g. cat(felix), chased(suzie,felix) in the database. • But when we assert some(X,cat(X),chased(suzie,X))no such name is mentioned, so we have to invent an anonymous name. • The simplest names are integers:cat(100). chased(suzie,100). CSA4050 Advanced Techniques in NLP
Discourse Referents • Such names are more properly called discourse referents. Discourse referents are entities that are referred to by different parts of a discourse. • Some parts introduce new DRs. Others refer back to already established DRs. • Discourse Representation Theory • A baby cried. He was hungry CSA4050 Advanced Techniques in NLP
Interpreting Wh Questions • Semantically, issue is quite simple • We want the semantic interpretation of the question to query the database and bind the result to a variable. • Let SEM be the semantic interpretation of "who sees fido“. We want the following behaviour?- interpret(SEM,Ans)Ans = [john,mary] • What does SEM have to look like? CSA4050 Advanced Techniques in NLP
Representing Meaning CSA4050 Advanced Techniques in NLP
How Internal BindingsYield the Answer interpret(q2(X, ....X....),X) • The first occurrence of X identifies what the unknown is called. • The second occurrence identifies where the unknown information is situated in the second arg. position of q2). • The last occurrence will become bound to the answer. CSA4050 Advanced Techniques in NLP
Syntax of Wh Questions • How do we build the right semantic representation from the question? • Need to look carefully at the syntactic structure of the questions. • In particular, need to look at the way sentences have been derived. • Hypothesis: the word who can substitute any noun phrase. CSA4050 Advanced Techniques in NLP