NatuurlijkeTaalinterfaces week 3 1 evaluatie van een formule

  • Slides: 21
Download presentation
Natuurlijke-Taalinterfaces week 3 1. evaluatie van een formule in een model 2. vraag-antwoord dialogen

Natuurlijke-Taalinterfaces week 3 1. evaluatie van een formule in een model 2. vraag-antwoord dialogen 3. Modellen en applicaties Natuurlijke-Taalinterfaces

Een eenvoudig vraagantwoord systeem n n Vraag logische formule Applicatie (database/kennissysteem): n n n

Een eenvoudig vraagantwoord systeem n n Vraag logische formule Applicatie (database/kennissysteem): n n n Antwoord (Ja/nee vraag): n n (Vertaalbaar naar) Een Model met objecten en relaties logische formule in waar (ja) / onwaar (nee) in het Model Antwoord (WH-vraag): n alle objecten die de formule waar maken in het Model Natuurlijke-Taalinterfaces 2

Betekenis van Logische Formules n n n (Blackburn & Bos, hst 1) De formule

Betekenis van Logische Formules n n n (Blackburn & Bos, hst 1) De formule lopen(ruud) zingen(ruud) is waar in een model M d. e. s. d. a. lopen(ruud) waar is in M en zingen(ruud) waar is in M. Natuurlijke-Taalinterfaces 3

Wat is een (eerste-orde) Model? n n n Een domein (verzameling objecten), en een

Wat is een (eerste-orde) Model? n n n Een domein (verzameling objecten), en een interpretatiefunctie F, die voor ieder element van het vocabulaire de semantische waarde (een object of een verzameling objecten, of een verz. van tuples van objecten) geeft. F(ruud) = r, F(mona) = m, F(lopen) = {r, m, s} F(nomineren) = {<r, m>, <m, s>, <w, r>} Natuurlijke-Taalinterfaces 4

Betekenis van connectieven De formule is waar d. e. s. d. a. n A

Betekenis van connectieven De formule is waar d. e. s. d. a. n A B n A waar is en B waar is n A B n A waar is of B waar is n n ~A A B n n A niet waar is of B waar is Natuurlijke-Taalinterfaces 5

Betekenis van atomaire formules n n pred(a 1, …. an) is waar d. e.

Betekenis van atomaire formules n n pred(a 1, …. an) is waar d. e. s. d. a F(a 1) = o 1, …. F(an) = on, en <o 1, …. on> F(pred) Nomineer(bart, ruud) is waar d. e. s. d. a <b, r> nom Natuurlijke-Taalinterfaces 6

Betekenis van kwantoren De formule is waar d. e. s. d. a. n x.

Betekenis van kwantoren De formule is waar d. e. s. d. a. n x. F n Er een interpretatie is van x die F waar maakt. Iedere interpretatie van x F waar maakt Natuurlijke-Taalinterfaces 7

Modellen in Prolog n n n F(bart) = b, F(willem) = w, … Prolog:

Modellen in Prolog n n n F(bart) = b, F(willem) = w, … Prolog: constant(bart). constant(willem). …. Natuurlijke-Taalinterfaces 8

Modellen in Prolog n n n F(slapen) = { bart, willem, ruud} F(nomineren) =

Modellen in Prolog n n n F(slapen) = { bart, willem, ruud} F(nomineren) = {<bart, willem>} F(helpen) = Prolog: [ slapen(bart), slapen(willem), slapen(ruud), nomineren(bart, willem) ] Natuurlijke-Taalinterfaces 9

Modellen in Prolog n n Prolog: [ slapen(bart), slapen(willem), slapen(ruud), nomineren(bart, willem) ] Een

Modellen in Prolog n n Prolog: [ slapen(bart), slapen(willem), slapen(ruud), nomineren(bart, willem) ] Een model is een lijst Prolog-relaties, (ground terms), !!! Negatieve informatie ontbreekt. Natuurlijke-Taalinterfaces 10

Waar in een model, Satisfaction % satisfy(Formula, Model) n satisfy(For, Model) : atomic_formula(For), member(For,

Waar in een model, Satisfaction % satisfy(Formula, Model) n satisfy(For, Model) : atomic_formula(For), member(For, Model). n satisfy(A & B, Model) : satisfy(A, Model), satisfy(B, Model). n satisfy(A v B, Model) : satisfy(A, Model) ; satisfy(B, Model). Natuurlijke-Taalinterfaces 11

Waar in een model, Satisfaction n n % + is Prolog voor `not’ satisfy(~

Waar in een model, Satisfaction n n % + is Prolog voor `not’ satisfy(~ A, Model) : + satisfy(A, Model). satisfy(A > B, Model) : + satisfy(A, Model) ; satisfy(B, Model). Natuurlijke-Taalinterfaces 12

Waar in een model, Satisfaction n n % satisfy(Formula, Model) satisfy(exists(X, Form), Model) :

Waar in een model, Satisfaction n n % satisfy(Formula, Model) satisfy(exists(X, Form), Model) : constant(X), satisfy(Form, Model). satisfy(forall(X, Form), Model) : satisfy(~ exists(X, ~ Form), Model). Natuurlijke-Taalinterfaces 13

Testen of een formule een sentence is n n Wanneer we een formule testen

Testen of een formule een sentence is n n Wanneer we een formule testen voor satisfactie in een model, gaan we ervan uit dat het een sentence is, d. w. z. alle constanten en relaties zijn gedefinieerd, de zin is syntactisch correct, en er zijn geen vrije variabelen. Natuurlijke-Taalinterfaces 14

Ja/Nee vragen n slaapt ruud? parser : vr(slapen(R)) janee(Formula) : sentence([], Formula), model(Model), (

Ja/Nee vragen n slaapt ruud? parser : vr(slapen(R)) janee(Formula) : sentence([], Formula), model(Model), ( satisfy(Formula, Model) -> zegja ; zegnee ). Natuurlijke-Taalinterfaces 15

Semantiek van wh-vragen n n Wie slaapt? Semantiek? parser: wh(X, slapen(X)) whvraag(X, Formula) :

Semantiek van wh-vragen n n Wie slaapt? Semantiek? parser: wh(X, slapen(X)) whvraag(X, Formula) : sentence([X], Formula), model(M), findall(X, satisfy(Form, M), Xs), zeg(Xs). Natuurlijke-Taalinterfaces 16

Modellen n n lijst van (ground) relaties kunnen we definieren m. b. v. een

Modellen n n lijst van (ground) relaties kunnen we definieren m. b. v. een programma maakt definitie van modellen eenvoudiger, interface naar een db betekenispostulaten Natuurlijke-Taalinterfaces 17

Modellen als programma’s n n n example(mymodel, Facts) : findall(F, fact(F), Facts). fact(aandeel(X)) :

Modellen als programma’s n n n example(mymodel, Facts) : findall(F, fact(F), Facts). fact(aandeel(X)) : - fonds(X, _). fact(bedrijf(X)) : - fonds(X, _). fact(belegger(X)) : - speler(X, _, _). fact(rijk(X)) : rekening(X, Saldo), Saldo > 1000. Natuurlijke-Taalinterfaces 18

Interface naar een db n n fact(koers(Fonds, Koers)) : haal_koersen_van_tt, aex(Fonds, _, Koers). haal_koersen_van_tt

Interface naar een db n n fact(koers(Fonds, Koers)) : haal_koersen_van_tt, aex(Fonds, _, Koers). haal_koersen_van_tt : retractall(aex(_, _, _)), process_tt_aex(“www. omroep. nl/…. . ”). Natuurlijke-Taalinterfaces 19

Betekenispostulaten n Wie een man/vrouw is, is een mens. Wie een moeder is, is

Betekenispostulaten n Wie een man/vrouw is, is een mens. Wie een moeder is, is een vrouw. Wie een appel eet, eet. n n n fact(mens(X)) : fact(vrouw(X)) : moeder(X). fact(eet(X)) : eet(X, _). Natuurlijke-Taalinterfaces 20

Ambiguiteit…. . n n Wat/wie bezit ieder mens? Wie/wat bezit een auto? n wh(y,

Ambiguiteit…. . n n Wat/wie bezit ieder mens? Wie/wat bezit een auto? n wh(y, forall(x, auto(x) > bezit(x, y)) wh(y, forall(x, auto(x) > bezit(y, x)) n Oplossing: n n n verschil wie/wat maken voor relaties vastleggen wat voor soort argumenten ze verwachten…. (het subject c. q. object van bezit is een mens c. q. niet een mens) Natuurlijke-Taalinterfaces 21