230 likes | 399 Vues
CSA4050: Advanced Topics in NLP. Semantics III Quantified Sentences. Language Sentences Determiners Noun Phrases Syntactic Structure. Logic Generalised Quantifiers Higher order functions Translation into Prolog. Outline. Syntax-Semantics Interface.
E N D
CSA4050:Advanced Topics in NLP Semantics III Quantified Sentences CSA4050: Semantics III
Language Sentences Determiners Noun Phrases Syntactic Structure Logic Generalised Quantifiers Higher order functions Translation into Prolog Outline Syntax-Semantics Interface CSA4050: Semantics III
Determiners and Quantifiers in Language and Logic CSA4050: Semantics III
John walkssemantics:walk(suzie). Every man talkssemantics:all(X, man(X) talk(X)) S NP VP Suzie walks S NP VP Det N talks Every man Syntactic Shape vs.Semantic Shape CSA4050: 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 CSA4050: Semantics III
Montague Solution • Reorganising the semantic combination rules operating between VP and NP in rules such ass(S) --> np(NP), vp(VP). • We will be considering [NP]([VP]) versus [VP]([NP]). • NPs as higher order functions • Analyse LF of quantified sentences CSA4050: 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 CSA4050: Semantics III
Anatomy of Quantified Sentences CSA4050: 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. • Examplesall(X,man(X),walk(X))exist(X,man(X),walk(X))the(X,man(X),climbed(X,everest))most(X,lecturer(X),poor(X)) CSA4050: Semantics III
S all(X,man(X),walk(X)) NP Q^all(X,man(X),Q) every man VP Y^walk(Y) walks NP as higher order function CSA4050: Semantics III
Encoding in Prolog • The VP remains as before, ieX^walks(X) • The quantified NP every man will be of the formQ^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)} CSA4050: Semantics III
DCG with QuantificationProgram 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]. CSA4050: Semantics III
Result ?- s(X,[every,man,walks],[]). X = all(_G397, man(_G397)=>_G405^walk(_G405)) • What is wrong with this? • How can we fix it? CSA4050: Semantics III
Result ?- s(X,[every,man,walks],[]). X = all(_G397, man(_G397), _G405^walk(_G405)) • 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? CSA4050: Semantics III
Result ?- s(X,[every,man,walks],[]). X = all(_G397, man(_G397), G405^walk(_G405)) • 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 these problems? • We need to force the variables to be same using reduce. CSA4050: Semantics III
DCG with QuantificationProgram 2 % grammar s(S) --> np(NP), vp(VP), {reduce(VP,NP,S)} vp(VP) --> v(V). % lexicon v(X^walk(X)) --> [walks]. np(Q^all(X,man(X) => P)) --> [every,man], {reduce(Q,X,P)}. CSA4050: Semantics III
Result ?- 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 CSA4050: 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 rulenp(NP) --> d(D), n(N). • How does the semantics work? CSA4050: 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. CSA4050: Semantics III
NP S^all(X,man(X),S) D R^S^all(X,R,S) every N Y^man(Y) man How NP is created CSA4050: Semantics III
Fitting the Semantics Together • Handle the quantified NPnp(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) }. CSA4050: Semantics III
DCG with QuantificationProgram 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]. det(RL^SL^all(X,R => S) --> [every], {reduce(RL,X,R), reduce(SL,X,S) }. CSA4050: 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], []) CSA4050: Semantics III