De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Natuurlijke-Taalinterfaces week 5 Lambda-termen en Lambda-conversie.

Verwante presentaties


Presentatie over: "Natuurlijke-Taalinterfaces week 5 Lambda-termen en Lambda-conversie."— Transcript van de presentatie:

1 Natuurlijke-Taalinterfaces week 5 Lambda-termen en Lambda-conversie

2 Natuurlijke-Taalinterfaces2 Semantische constructie-regels met unificatie s(Sem)  np(X,Scope,Sem), vp(X,Scope). np(X,Scope,forall(X,human(X) > Scope)))  [iedereen]. Vp(X,slapen(X))  [slaapt]. Sem wordt geunificeerd tussen hoofd en een dochter, Hulpvariabelen (+ unificatie) doen de rest…

3 Natuurlijke-Taalinterfaces3 coordinatie Jan slaapt en Piet slaapt s(Sem)  s(C1), c(C1,C2,Sem), s(C2). c(C1,C2, C1 & C2)  [en]. np(jan,P,P)  [jan]. Jan en Piet slapen np(X,Sc,Sem)  np(X,Sc,C1), c(C1,C2,Sem), np(X,Sc,C2). Probleem: X= jan, X = piet…. Je wilt een copie van Sc maken, en die met beide NP-betekenissen combineren….

4 Natuurlijke-Taalinterfaces4 Coordinatie van NP’s s(Sem) --> np(X,Scope,Sem), vp(X,Scope). np(Subj, Sem, Sem & Sem) --> np(Subj), [and], np(Subj). Het toepassen van een functie op een argument gebeurt door unificatie, hierdoor kun je nooit twee verschillende copieën van een term maken...

5 Natuurlijke-Taalinterfaces5 Oplossing: Lambda-calculus Compositionele semantiek: –Ken aan iedere constituent een betekenis toe, –Betekenis van een grotere constituent is een combinatie van betekenis van de delen. –Methode: lambda-expressies DCG/unificatie methode is –Theoretisch minder duidelijk, –Een subset van lambda-calculus.

6 Natuurlijke-Taalinterfaces6 Lambda-calculus x.F : een functie x geeft aan wat het argument van de functie is, de waarde van x.F toegepast op A is F[x/A]: F waarin alle voorkomens van x zijn vervangen door A. Dit noemen we lambda-conversie. (x.slaap(x))(jan) = slaap(jan)

7 Natuurlijke-Taalinterfaces7 Meer voorbeelden Mark groet Ria (y. x.groet(x,y)) (r) = x.groet(x,r) (x.groet(x,r))(m) = groet(m,r) Iedere man (P.Q.x(P(x)  Q(x))) (y.man(y)) = Q.x((y.man(y)) (x)  Q(x)) = Q.x(man(x)  Q(x))

8 Natuurlijke-Taalinterfaces8 Adjectieven Aardige man P. x(aardig(x) & P(x)) (y. man(y)) = x.(aardig(x) & (y. man(y))(x)) = x.(aardig(x) & man(x))

9 Natuurlijke-Taalinterfaces9 Regels Semantiek van een regel is in principe altijd applicatie van een functor op een argument. S  NP VP sem: S’ = NP’(VP’) N 0  A N 1 sem: N 0 ’ = A’(N 1 ’)

10 Natuurlijke-Taalinterfaces10 Lambda-termen vs. Prolog tv(Y, X, groet(X, Y)) vp(Subj,Sem) --> tv(Obj,Subj,Sem), np(Obj). (y. x.groet(x,y)) (r) = x.groet(x,r)

11 Natuurlijke-Taalinterfaces11 Verschillen ‘s en Prolog ‘secundaire’ lambda-conversie –(P.Q.x(P(x)  Q(x))) (y.man(y)) = Q.x((y.man(y)) (x)  Q(x)) = Q.x(man(x)  Q(x)) substitutie vs. unificatie

12 Natuurlijke-Taalinterfaces12 Coordinatie van NP’s en : x y P(P(x) & P(y)) jan en kees: xyP(P(x) & P(y)) (j) (k) = P(P(j) & P(k)) jan en kees slapen : P(P(j) & P(k)) (x.slaap(x)) = (x.slaap(x))(j) & (x.slaap(x))(k) = slaap(j) & slaap(k)

13 Natuurlijke-Taalinterfaces13 Lambda-termen in Prolog s(NP@VP) --> np(NP), vp(VP). vp(Sem) --> iv(Sem). iv(lambda(X,slaap(X))) --> [slaapt]. np(lambda(P,P@jan)) --> [jan]. [jan,slaapt] = –s(lambda(P,P@jan)@lambda(X,slaap(X))) –na conversie: s(slaap(jan))

14 Natuurlijke-Taalinterfaces14 Lambda-termen in Prolog np(Det@N) --> det(Det), n(N). n(lambda(X,man(X))) --> [man]. det(lambda(P,lambda(Q, forall(Y,(P@Y) > (Q@Y))))) --> [iedere]. [iedere,man] = np(la(P,la(Q,forall(Y, (P@Y) > (Q@Y))))@ la(X,man(X))) na conversie (2x): np(la(Q,forall(Y, man(Y) > (Q@Y))))

15 Natuurlijke-Taalinterfaces15 Lambda-conversie in Prolog Moet je na iedere toepassing van een regel lambda-conversie doen? Ja : –S(Sem)  np(NP), vp(VP), {normalize(NP@VP,Sem)}.NP@VP,Sem –Nadeel 1: omslachtig, –Nadeel 2: niet onafhankelijk van parse- algoritme.

16 Natuurlijke-Taalinterfaces16 Lambda-conversie in Prolog Moet je na iedere toepassing van een regel lambda-conversie doen? Nee : –Conversie is een normalisatie-stap (dwz betekenis van de formule verandert niet), –Moment waarop je conversie doet is onbelangrijk (Church-Rosser theorem) –Dus kun je conversie ook achteraf doen, –Bijvoorbeeld in de pretty-printer.

17 Natuurlijke-Taalinterfaces17 Meer regels Iedere categorie heeft 1 argument voor de semantiek, De semantiek van constituenten is altijd applicatie (@). vp(TV@NP) --> tv(TV), np(NP). tv(la(P,la(X,P@la(Y,groet(X,Y))))) --> [groet].

18 Natuurlijke-Taalinterfaces18 Huiswerk/opdracht Lees Bouma 99, sectie 1.5 Lees Blackburn/Bos, sectie 2.1 t/m 2.3. Opdracht 2: –Verander de grammatica van opdracht 1 zodat er met lambda-termen gewerkt wordt. –Voeg een regel voor NP-coordinatie toe...


Download ppt "Natuurlijke-Taalinterfaces week 5 Lambda-termen en Lambda-conversie."

Verwante presentaties


Ads door Google