Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Semantik und Pragmatik

Ähnliche Präsentationen


Präsentation zum Thema: "Semantik und Pragmatik"—  Präsentation transkript:

1 Semantik und Pragmatik
Übung 5 Fragment 3 Lambda-Kalkül Beta-Reduktion Frank Schilder

2 Einführung Erweiterung des Fragmentes F3: Relativsätze
Wie wird die semantische Information kompositionell erstellt? Vom Satz zur Prädikatenlogik: Bond likes Loren like(bond,loren) Einführung Lambda-Kalkül: Gebundene Umbenennung Beta-Reduktion Implementation des Kalküls.

3 Struktur der Übung Fragment F3 Motivation Lambda-Kalkül
Formale Spezifikation des Lambda-Kalkül: Abstraktion Applikation Besprechung des Substitutionsansatzes: Beta-Reduktion Umbenennung der Variable

4 Fragment 3 Erweiterung des Fragments (frag3.pl) Beispielsatz:
Nom -> Nom RS RS -> RNP VP RNP -> RPrN RprN -> who Beispielsatz: A man who is boring likes Loren. aber nicht: Loren who is cute likes a man.

5 Bausteine Der Turm besteht aus Bausteinen.
Die Bausteine besitzen unter- schiedliche Funktionen. Die Bausteine müssen entspechend ihrer Funktion zusammenpassen. Der Baumeister erstellt einen Konstruktionsplan. Ein Turm entsteht nur, wenn die Bausteine sinnvoll zusammengesetzt werden!

6 Lambda-Kalkül Semantischen „Bausteine“ der Sprache spezifizieren.
Verschiedene Bedeutungstypen bezeichnen. Das Zusammenspiel der Bausteine formal und systematisch beschreiben. Kompositionalitätsprinzip: Der Sinn des gesamten Satzes ergibt sich aus den Bedeutungen der Einzelwörter.

7 Bestandteile des Kalküls: Abstraktion
Abstraktion: Mit dem Lambda-Operator (l) wird über eine Formel abstrahiert: l x [l y [like‘(x,y)]] l P [l x [ÿP(x)]] Der „Baustein“ kann flexibel in verschiedene Kontexte eingebaut werden. Die Funktion des Ausdrucks unterliegt bestimmten Beschränkungen (welchen?)

8 Bestandteile des Kalküls: Applikation
Applikation: Ein Ausdruck kann auf einen Lambda-Ausdruck appliziert werden: l x [ÿboring‘(x)] (loren) = ? Anweisung: Nimm x und ersetze alle Vorkommnisse von x in der Formel durch loren! Zwei Bausteine werden zusammengesetzt und ergeben einen komplexen Bestandteil des Gesamtgebäudes.

9 Bedeutung erfassen= Bausteine zusammensetzen?
Bond likes Loren (S) like(bond,loren) Bond (NP) likes Loren (VP) Bond (PN) like(?,loren) bond Loren (NP) likes (TV) like(?,?) Loren (PN) loren

10 Bedeutungen zusammensetzen!
Bond likes Loren (S) like(bond,loren) Bond (NP) bond likes Loren (VP) Bond (PN) ly like(y,loren) bond Loren (NP) loren likes (TV) lxly like(y,x) Loren (PN) loren

11 Abstraktion in PROLOG Der Lambda-Operator wird als zweistelliges Prädikat in PROLOG dargestellt: l x[l y [like‘(x,y)]] lambda(X,lambda(Y,like(X,Y)) aber... l P [l x [ÿP(x)]] lambda(P,lambda(X,~P(X))) geht nicht, da ein Prädikat nicht als Variable dargestellt werden kann... Lösung über Applikation

12 Applikation in PROLOG In PROLOG wird die Ausführung der funktionalen Applikation zuerst »eingefroren«! Erst Repräsentation bilden und dann vereinfachen! Applikation markieren Z.B. l x [ÿboring‘(x)] (loren) ergibt loren Argument).

13 Semantikeinträge Bedeutungskonstitutionsregel aus der Vorlesung:
I([s [np a] [vp b]]) = I([np a]) (I( [vp b])) Die Semantik der S-> NP VP Regel besagt: Nehme die Bedeutung der NP (I([np a])) und der VP (I( [vp b])) und appliziere die VP-Bedeutung auf die NP-Bedeutung In PROLOG wird die Grammatikregel erweitert: ---> np(NP),vp(VP).

14 Semantische Bedeutung in PROLOG ableiten
Bond likes Loren (S) Bond (NP) likes Loren (VP) Bond (PN) bond likes (TV) Loren (PN) lambda(Y,like(X,Y)))) loren

15 Substitutionsansatz Erfordernisse für eine korrekte Umsetzung des Lambda-Kalküls: Beta-Reduktion Ersetzen der jeweiligen Argumentausdrücke Protokollierung der freien und gebundenen Variablen in der Formel Definition eines Beta-Reduktions-Prädikats

16 Lambda-Konversation Ein »Konversations«-Prädikat ist erforderlich:
alle Argumentausdrücke innerhalb des Skopus des Lambda-Operators ersetzt und gleichzeitig alle gebundenen und freien Variablen der Formel überwacht. Das Prädikat betaConvert/2 erhält einen »eingefrorenen« Lambda-Ausdruck und gibt die reduzierte Formel zurück.

17 Beta-Konversation X wird durch Arg ersetzt in der Formel
betaConvert(Var,Result):- var(Var), !, Result=Var. Variablen können nicht weiter reduziert werden. Arg,Result):- compound(Functor), betaConvert(Functor,lambda(X,Formula)), !,substitute(Arg,X,Formula, BetaReduced), betaConvert(BetaReduced,Result). Komplexe Formeln werden weiterreduziert X wird durch Arg ersetzt in der Formel

18 Beta-Konversation II Formel wird in Teilformeln zerlegt.
betaConvert(Formula,Result):- compose(Formula,Functor,Formulas), betaConvertList(Formulas,ResultFormulas), compose(Result,Functor,ResultFormulas). Formel wird in Teilformeln zerlegt. Ein Listen-Prädikat betaConvertList/2 ruft die Teilformeln mit betaConvert/2 auf.

19 Zusammenfassung Fragmenterweiterung F3: Relativsätze
Das Lambda-Kalkül erlaubt die genaue Spezifikation von einzelnen semantischen Lexikoneinträgen. Ein Substitutionsansatz für die Umsetzung des lambda-Kalküls in PROLOG: Applikation wird »eingefroren« Beta-Konversation durchläuft die Formel und reduziert den Ausdruck.

20 Quellenangaben Blackburn/Bos, chapter 2 Dienstprogramme:
Pereira/Shieber, pp.91 Systemprogramme: mainLambda.pl betaConversion.pl frag3.pl lexf3.pl lcparserII.pl % left-corner parser % angepasst auf % Fragment 3 Dienstprogramme: semMacrosLambda.pl readLine.pl comsemPredicates.pl


Herunterladen ppt "Semantik und Pragmatik"

Ähnliche Präsentationen


Google-Anzeigen