1 / 20

Semantik und Pragmatik

Semantik und Pragmatik. Übung 5 Fragment 3 Lambda-Kalkül Beta-Reduktion Frank Schilder. 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)

zeal
Download Presentation

Semantik und Pragmatik

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Einführung • Erweiterung des Fragmentes F3: Relativsätze • Wiewird 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) • 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 Formeldurch 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) like(?,loren) Bond (PN) bond Loren (NP) likes (TV) Loren (PN) like(?,?) loren

  10. Bedeutungen zusammensetzen! Bond likes Loren (S) like(bond,loren) Bond (NP) bond likes Loren (VP) ly like(y,loren) Bond (PN) bond Loren (NP) loren likes (TV) Loren (PN) lxly like(y,x) 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 mit @ • Z.B. l x [ÿboring‘(x)] (loren) ergibt lambda(X,~boring(X)) @ loren • appl(Functor,Argument,Functor @ Argument).

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

  14. Semantische Bedeutung in PROLOG ableiten Bond likes Loren (S) lambda(R,R@bond)@lambda(Q,lambda(X,Q@lambda(Y, like(X,Y))))@lambda(P,P@loren) Bond (NP) lambda(R,R@bond) likes Loren (VP) lambda(Q,lambda(X,Q@ lambda(Y,like(X,Y))))@ lambda(P,P@loren) Bond (PN) bond lambda(P,P@loren) likes (TV) Loren (PN) lambda(Q,lambda(X,Q@ 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 • betaConvert(Var,Result):- var(Var), !, Result=Var. • Variablen können nicht weiter reduziert werden. • betaConvert(Functor @ 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 • 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. Blackburn/Bos, chapter 2 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 Quellenangaben

More Related