Semantische Interpretatie Jurafsky & Martin (Ed. 1): Hoofdstuk 15 Bachelor Kunstmatige Intelligentie Taaltheorie en Taalverwerking Remko Scha Week 10: Semantische Interpretatie Jurafsky & Martin (Ed. 1): Hoofdstuk 15
Semantiek: Waarheidscondities
Semantiek: Waarheidscondities: Logische formules.
Semantiek: Waarheidscondities: Logische formules. B. v Semantiek: Waarheidscondities: Logische formules. B.v.: Eerste-Orde Logica.
Logische Semantiek voor (b. v Logische Semantiek voor (b.v.) Nederlands: Formele grammatica, die tevens aan elke grammaticale zin de juiste logische formule(s) toekent.
Compositionele Semantiek voor (b. v Compositionele Semantiek voor (b.v.) Nederlands: Formele grammatica, die tevens de juiste formule(s) voor elke constituent afleidt van de formule(s) van zijn subconstituenten.
Woordsoorten en logische types.
Woordsoorten en logische types. "Jan loopt." Walk (J)
Woordsoorten en logische types. "Jan loopt." Walk (J) Eigennaam Individuele constante
Woordsoorten en logische types. "Jan loopt." Walk(J) Eigennaam Individuele constante Onovergankelijk (Intransitief) Werkwoord 1-plaatsig predicaat
Woordsoorten en logische types. "Jan loopt." Walk (J) Eigennaam Individuele constante Onovergankelijk (Intransitief) Werkwoord 1-plaatsig predicaat "Jan ziet Karel" Sees (J, C) "Jan houdt van Marie" Love (J, M) Overgankelijk (Transitief) Werkwoord 2-plaatsig predicaat
Woordsoorten en logische types. "Jan geeft Fido aan Marie." Give (J, F, M) Ditransitief ("dubbel overgankelijk") werkwoord 3-plaatsig predicaat Enzovoort!
Woordsoorten en logische types. "Alle jongens zien Piet" x Boy(x) See (x, P)
Woordsoorten en logische types. "Alle jongens zien Piet" x Boy(x) See (x, P) "alle" (quantor) + implicatie zelfstandig naamwoord 1-plaatsig predicaat
Woordsoorten en logische types. "Alle leuke jongens schoppen een tafel" x (Boy(x) & Nice (x)) ( y Table(y) & Kick (x, y)) "een" (quantor) + conjunctie
Woordsoorten en logische types. "Alle leuke jongens schoppen een tafel" x (Boy(x) & Nice (x)) ( y Table(y) & Kick (x, y)) "een" (quantor) + conjunctie bijvoeglijk naamwoord 1-plaatsig predicaat
Woordsoorten en logische types. "Een jongen naast Piet fluit." x (Boy(x) & Next (x, P)) & Whistle (x) voorzetsel 2-plaatsig predicaat
Systematisch vertalen van Natuurlijke Taal zinnen naar logische expressies. Woorden individuele constanten, predicaten, quantoren Woordsoorten logische types Syntax-regels semantische regels
Syntax-regels semantische regels Eerst: kleine uitbreiding van de logica.
Lambda-abstractie
Definieer de functie f als volgt: f(x) = x + 3 Logica en natuurlijke taal: Lambda-abstractie Functie-definities in traditionele "informele" wiskunde. Definieer de functie f als volgt: f(x) = x + 3
Definieer de functie f als volgt: f(x) = x + 3 Logica en natuurlijke taal: Lambda-abstractie Functie-definities in traditionele "informele" wiskunde. Definieer de functie f als volgt: f(x) = x + 3 Dit is een impliciete definitie! Wat is f?
Functie -abstractie: Definieer f als: f(x) = x + 3 Logica en natuurlijke taal: Lambda-abstractie Functie Definieer f als: f(x) = x + 3 -abstractie: notatie om een expliciete definitie te kunnen opschrijven: f = x: (x+3)
Logica en natuurlijke taal: Lambda-abstractie f = x: (x+3) f(5) = 8
f = x: (x+3) f(5) = 8 (x: (x+3)) (5) = 8 Logica en natuurlijke taal: Lambda-abstractie f = x: (x+3) f(5) = 8 (x: (x+3)) (5) = 8
(x: (x+3)) (5) = 8 Waarom? Logica en natuurlijke taal: Lambda-abstractie (x: (x+3)) (5) = 8 Waarom?
Semantiek van de -abstractie. (x: (x+3)) denoteert: Logica en natuurlijke taal: Lambda-abstractie (x: (x+3)) (5) = 8 Semantiek van de -abstractie. (x: (x+3)) denoteert: {. . . ., <0, 3>, <1, 4>, <2, 5>, . . .}
Semantiek van de -abstractie. (x: (x+3)) denoteert: Logica en natuurlijke taal: Lambda-abstractie apply ([x: (x+3)], 5) = 8 Semantiek van de -abstractie. (x: (x+3)) denoteert: {. . . ., <0, 3>, <1, 4>, <2, 5>, . . .} Toepassing van deze functie op 5 levert: 8.
(x: (x+3)) (5) = 8 Waarom? Logica en natuurlijke taal: Lambda-abstractie (x: (x+3)) (5) = 8 Waarom?
Bewijstheorie van de lambda-abstractie: lambda-calculus: Logica en natuurlijke taal: Lambda-abstractie Bewijstheorie van de lambda-abstractie: lambda-calculus: equivalentie-transformaties op expressies.
Equivalentie-transformaties op expressies. “Beta-conversie”: Logica en natuurlijke taal: Lambda-abstractie Equivalentie-transformaties op expressies. “Beta-conversie”: (x: A) (B) = een copie van A, waarin elk voorkomen van x vervangen is door B
een copie van A, waarin elk voorkomen van x vervangen is door B Logica en natuurlijke taal: Lambda-abstractie “Beta-conversie”: (x: A) (B) = een copie van A, waarin elk voorkomen van x vervangen is door B
een copie van A, waarin elk voorkomen van x vervangen is door B B.v.: Logica en natuurlijke taal: Lambda-abstractie “Beta-conversie”: (x: A) (B) = een copie van A, waarin elk voorkomen van x vervangen is door B B.v.: (x: (x+3)) (5)
“Beta-conversie”: (x: (x+3)) (5) = 5 + 3 = 8 Logica en natuurlijke taal: Lambda-abstractie “Beta-conversie”: (x: (x+3)) (5) = 5 + 3 = 8
Compositionele Semantiek: Grammatica's met Interpretatieregels
S NP VP PN John V1 walks Walk(J) Compositionele Semantiek: Grammatica's met Interpretatieregels S Walk(J) NP VP PN John V1 walks
S NP VP NP PN VP V1 V1 walks PN John S NP VP PN John V1 Compositionele Semantiek: Grammatica's met Interpretatieregels S NP VP NP PN VP V1 V1 walks PN John Walk(J) S NP VP PN John V1 walks
S NP VP NP PN VP V1 V1 walks V1' = Walk PN John PN' = J Lexicale regels
S NP VP NP PN NP' = PN' VP V1 VP' = V1' V1 walks V1' = Walk PN John PN' = J Triviale regels
S NP VP S' = VP' (NP') NP PN NP' = PN' VP V1 VP' = V1' V1 walks V1' = Walk PN John PN' = J 1 "echte" syntax-regel
S NP VP V1 walks John Analyzing "John Walks": Walk (J) J Walk J N Walk Compositionele Semantiek: Grammatica's met Interpretatieregels S NP VP S' = VP' (NP') NP PN NP' = PN' VP V1 VP' = V1' V1 walks V1' = Walk PN John PN' = J Analyzing "John Walks": S Walk (J) NP J VP Walk V1 walks J N John Walk
Generating a sentence with an interpretation S S' NP VP VP' (NP') Compositionele Semantiek: Grammatica's met Interpretatieregels S NP VP S' = VP' (NP') NP PN NP' = PN' VP V1 VP' = V1' V1 walks V1' = Walk PN John PN' = J Generating a sentence with an interpretation S S' NP VP VP' (NP') PN VP VP' (PN') PN V1 V1' (PN') PN walks Walk (PN') John walks Walk (J)
Like(J, M) S VP NP NP PN John V2 likes PN Mary
S NP VP S' = VP' (NP') NP PN NP' = PN' VP V1 VP' = V1' V2 NP ?? V1 walks V1' = Walk V1 likes V2' = Like PN John PN' = J Mary PN' = M
S' = VP' (NP') = VP' (J) moet opleveren: Like(J, M) John V2 likes PN Mary
S' = VP' (J) moet opleveren: Like(J, M) x: Like(x, M) J NP NP PN John V2 likes PN Mary
S VP NP NP PN John V2 likes PN Mary J S' = VP' (J) resulteert in Like(J, M) S VP' = x: V2'(x, NP') resulteert in x: Like(x, M) VP J NP NP PN John V2 likes PN Mary
S NP VP S' = VP'(NP') NP PN NP' = PN' VP V1 VP' = V1' V2 NP VP' = x: V2'(x, NP') V1 walks V1' = Walk V1 likes V2' = Like PN John PN' = J Mary PN' = M
Zelfstandige naamworden en adjectieven
N. man. N' = Man (1-plaatsig predicaat) Adj. tall N man N' = Man (1-plaatsig predicaat) Adj tall Adj' = Tall (1-plaatsig predicaat) N Adj N ??
N. man. N' = Man (1-plaatsig predicaat) Adj. tall N man N' = Man (1-plaatsig predicaat) Adj tall Adj' = Tall (1-plaatsig predicaat) N Adj N N' = x: Adj'(x) & N'(x) B.v.: "tall man" x: Tall'(x) & Man'(x)
N Adj N N' = x: Adj'(x) & N'(x) B.v.: N man N' = Man (1-plaatsig predicaat) Adj tall Adj' = Tall (1-plaatsig predicaat) N Adj N N' = x: Adj'(x) & N'(x) B.v.: "tall man" x: Tall'(x) & Man'(x) (Dit geldt voor "intersectieve" adjectieven. Er bestaan ook niet-intersectieve adjectieven: "former president", "vermeende dief".)
Quantificatie.
S NP det Every N man V1 walks x: Man(x) Walk(x) Compositionele Semantiek: Grammatica's met Interpretatieregels x: Man(x) Walk(x) S NP det Every N man V1 walks
S NP det Every N man V1 walks Man Walk Compositionele Semantiek: Grammatica's met Interpretatieregels S NP Man Walk det Every N man V1 walks
Walk(<, x, Man(x)>) Compositionele Semantiek: Grammatica's met Interpretatieregels Walk(<, x, Man(x)>) S <, x, Man(x)> NP Man Walk det Every N man V1 walks
Walk(<, x, Man(x)>) Compositionele Semantiek: Grammatica's met Interpretatieregels Every man walks Walk(<, x, Man(x)>) N.B.: Dit is geen nette logische formule! Vandaar: "Quasi-logical form." Transformatie-regel die dit omzet in de juiste formule: A(<, x, B(x)>) x: A(x) B(x) Walk(<, x, Man(x)>) x: Man(x) Walk(x)
Compositionele behandeling van quantificatie Compositionele Semantiek: Grammatica's met Interpretatieregels Opmerking: Compositionele behandeling van quantificatie (m.b.v. lambda-abstractie) kan veel mooier. Waarschuwing: Zo’n soort behandeling staat in Ed. 2 van Jurafsky & Martin (Ch. 18), maar wordt slecht uitgelegd. Belofte: In de tweedejaars-cursus Natuurlijke Taal Interfaces doen we dit heel degelijk.
Opdracht: Grammatica wordt voorzien van interpretatieregels Opdracht: Grammatica wordt voorzien van interpretatieregels. Parser gaat formules voor input-zinnen construeren.