CSA4050: Advanced Topics in NLP Semantics III Quantified Sentences November 2008 HLT Semantics III
Outline Language Sentences Determiners Noun Phrases Syntactic Structure Logic Generalised Quantifiers Higher order functions Translation into Prolog Syntax-Semantics Interface November 2008 HLT Semantics III
Determiners and Quantifiers in Language and Logic A dog barked x dog(x) & bark(x) Every dog barked x dog(x) bark(x) Fido chased a cat x cat(x) & chase(fido,x) Every dog chased a cat x dog(x) (y cat(x) & chase(x,y))) November 2008 HLT Semantics III
Syntactic Shape vs. Semantic Shape John walks semantics: walk(suzie). Every man talks semantics: all(X, man(X) talk(X)) S NP VP Suzie walks Det N talks Every man November 2008 HLT Semantics III
Problem Similar syntactic shape Dissimilar semantic shape How is this possible if the syntax drives the combination of semantic fragments as per rule-to-rule hypothesis? Answer: be creative about logical forms and semantic combination rules November 2008 HLT Semantics III
Montague Solution Reorganising the semantic combination rules operating between VP and NP in rules such as s(S) --> np(NP), vp(VP). We will be considering [NP]([VP]) versus [VP]([NP]). NPs as higher order functions Analyse LF of quantified sentences November 2008 HLT Semantics III
LF of Quantified Sentences LF of quantified sentences has a general shape involving a restrictor predicate R a scope predicate S R restricts the set of things we are talking about S says something further about set element(s) a logical quantifier Q a bound variable V a logical operator O connecting R and S November 2008 HLT Semantics III
x lecturer(x) lazy(x) Examples All lecturers are lazy x lecturer(x) lazy(x) Restrictor = lecturers Scope = lazy Quantifier = All Operator = implies Bound Variable = x November 2008 HLT Semantics III
Examples There is a lazy lecturer x lecturer(x) & lazy(x) Restrictor = lecturers Scope = lazy Quantifier = exist Operator = and Bound Variable = x November 2008 HLT Semantics III
Anatomy of Quantified Sentences Logic Q V R O S x m(x) w(x) x m(x) w(x) x d(x) & b(x) d(x) & b(x) x d(x) (h(x) & b(x)) h(x) & b(x) November 2008 HLT Semantics III
Generalized Quantifiers We adopt the following generalized quantifier representation for LF in which quantifier is a 3-place predicate: Q(<variable>,<restrictor>,<scope>) Operator is omitted. Examples all(X,man(X),walk(X)) exist(X,man(X),walk(X)) the(X,man(X),climbed(X,everest)) most(X,lecturer(X),poor(X)) November 2008 HLT Semantics III
NP as higher order function Q^all(X,man(X),Q) every man VP Y^walk(Y) walks S all(X,man(X),walk(X)) November 2008 HLT Semantics III
Encoding in Prolog The VP remains as before, ie X^walks(X) The quantified NP every man will be of the form Q^all(X,man(X),Q) The semantic rule for S now ensures that the NP function is applied to the VP function. s(S)--> np(NP),vp(VP), {reduce(NP,VP,S)} November 2008 HLT Semantics III
DCG with Quantification Program 1 % grammar s(S) --> np(NP), vp(VP), {reduce(NP,VP,S)} vp(VP) --> v(V). % lexicon v(X^walk(X)) --> [walks]. np(Q^all(X,man(X),Q)) --> [every,man]. November 2008 HLT Semantics III
Result ?- s(X,[every,man,walks],[]). X = all(_G397, man(_G397), _G405^walk(_G405)) all(x, man(x), y^walk(y)) What is wrong with this? How can we fix it? We need to force the variables to be identical using reduce November 2008 HLT Semantics III
Result ?- s(X,[every,man,walks],[]). X = all(_G397, man(_G397), _G405^walk(_G405)) all(x, man(x), y^walk(y)) What is wrong with this? The variables _G397 and _G405 are distinct. They should be identical. The consequent of the implication is a λ expression How can we fix it? We need to force the variables to be identical using reduce November 2008 HLT Semantics III
DCG with Quantification Program 2 % grammar s(S) --> np(NP), vp(VP), {reduce(NP,VP,S)} vp(VP) --> v(V). % lexicon v(X^walk(X)) --> [walks]. np(Q^all(X,man(X),P)) --> [every,man], {reduce(Q,X,P)}. November 2008 HLT Semantics III
Result The effect of the reduce clause is ?- s(X,[every,man,walks],[]). X = all(_G397, man(_G397),walk(_G397)) The effect of the reduce clause is to identify the appropriate variables to remove the λ variable November 2008 HLT Semantics III
Handling Quantified NPs Before we cheated by having every man as a lexical item. np(Q^all(X,man(X),P)) --> [every,man], { reduce(Q,X,P)}. Now we see what is involved in analysing the NP from its parts. Step 1 is to write a new syntactic rule np(NP) --> d(D), n(N). How does the semantics work? November 2008 HLT Semantics III
LF of determiners Key idea is determiner has LF of a 2-argument function corresponding to R and S which become bound during processing. λR.λS.Q(V,R,S) where Q is associated with the particular determiner When we apply this function to the adjacent noun, we obtain the LF of the NP. November 2008 HLT Semantics III
How NP is created D R^S^all(X,R,S) every N Y^man(Y) man NP S^all(X,man(X),S) November 2008 HLT Semantics III
Fitting the Semantics Together Handle the quantified NP np(NP) --> d(D), n(N), {reduce(D,N,NP)}. Add lexical entry for every d(RL^SL^all(X,R,S)) -->[every], {reduce(RL,X,R), reduce(SL,X,S) }. November 2008 HLT Semantics III
DCG with Quantification Program 3 % grammar s(S) --> np(NP), vp(VP), {reduce(NP,VP,S)}. np(NP) --> d(D), n(N), {reduce(D,N,NP) }. vp(VP) --> v(VP). % lexicon v(X^walk(X)) --> [walks]. n(X^man(X)) --> [man]. d(RL^SL^all(X,R,S) --> [every], {reduce(RL,X,R), reduce(SL,X,S) }. November 2008 HLT Semantics III
Trace >: (7) s(_G510, [every, man, walks], []) >: (8) np(_L183, [every, man, walks], _L184) >: (9) d(_L205, [every, man, walks], _L206) <: (9) d((X^R)^ (X^S)^all(X, R, S), [every, man, walks], [man, walks]) >: (9) n(_L207, [man, walks], _L208) <: (9) n(Z^man(Z), [man, walks], [walks]) >: (9) reduce((X^R)^ (X^S)^all(X, R, S), Z^man(Z), _L183) <: (9) reduce((X^man(X))^ (X^S)^all(X, man(X), S), X^man(X), (X^S)^all(X, man(X), S)) <: (8) np((X^S)^all(X, man(X), S), [every, man, walks], [walks]) >: (8) vp(_L185, [walks], _L186) >: (9) v(_L185, [walks], _L186) <: (9) v(Y^walk(Y), [walks], []) <: (8) vp(Y^walk(Y), [walks], []) >: (8) reduce((X^S)^all(X, man(X), S), Y^walk(Y), _G510) <: (8) reduce((X^walk(X))^all(X, man(X), walk(X)), X^walk(X), all(X, man(X), walk(X))) <: (7) s(all(X, man(X), walk(X)), [every, man, walks], []) November 2008 HLT Semantics III
Summary Quantification crops up a lot in NL To handle quantified sentences, there is a mismatch in shape between syntax and semantics Need to reorganise the semantic rules (NP applies to VP not vice versa). Representation of quantifier as a higher-order function. November 2008 HLT Semantics III