Organisatorisches: Maillisten und Sprechzeiten ...stefan/PS/csem-handout-2x2.pdf · Computational...

70
Computational Semantics Computational Semantics Stefan M¨ uller Theoretische Linguistik/Computerlinguistik Fachbereich 10 Universit¨ at Bremen [email protected] 12. Juli 2006 Computational Semantics Organisatorisches Organisatorisches: Maillisten und Sprechzeiten Telefon & Sprechzeiten siehe Web-Seite: http://www.cl.uni-bremen.de/ stefan/ Beschwerden, Verbesserungsvorschl¨ age: undlich per Mail oder anonym ¨ uber das Web: http://www.cl.uni-bremen.de/ stefan/Lehre/ Evaluation am Ende der Veranstaltung mittels Fragebogen weniger offiziell ¨ uber http://www.meinprof.de/uni/prof/4666 c Stefan M¨ uller 2006, CL, FB 10, Universit¨ at Bremen 2/279 Computational Semantics Organisatorisches Materialien Verwendete Materialien stammen von Patrick Blackburn und Johan Bos: Information zur Vorlesung: http://www.cl.uni-bremen.de/ stefan/Lehre/S2006/comp-sem.html Lehrmaterial: Buch: Blackburn und Bos, 2005 (http://www.iccs.informatics.ed.ac.uk/ jbos/comsem/book1.html) Prolog-Materialien: http://www.cl.uni-bremen.de/ aurelien/prolog/prolog.html c Stefan M¨ uller 2006, CL, FB 10, Universit¨ at Bremen 3/279 Computational Semantics Organisatorisches Vorgehen Handouts ausdrucken, immer mitbringen und pers¨ onliche Anmerkungen einarbeiten Vorlesungen vorbereiten Vorlesungen unbedingt nacharbeiten! Kontrollfragen ¨ Ubungsaufgaben Fragen! c Stefan M¨ uller 2006, CL, FB 10, Universit¨ at Bremen 4/279

Transcript of Organisatorisches: Maillisten und Sprechzeiten ...stefan/PS/csem-handout-2x2.pdf · Computational...

Computational Semantics

Computational Semantics

Stefan Muller

Theoretische Linguistik/ComputerlinguistikFachbereich 10

Universitat Bremen

[email protected]

12. Juli 2006

Computational Semantics

Organisatorisches

Organisatorisches: Maillisten und Sprechzeiten

• Telefon & Sprechzeitensiehe Web-Seite: http://www.cl.uni-bremen.de/∼stefan/

• Beschwerden, Verbesserungsvorschlage:• mundlich• per Mail oder• anonym uber das Web:

http://www.cl.uni-bremen.de/∼stefan/Lehre/

• Evaluation am Ende der Veranstaltung• mittels Fragebogen• weniger offiziell uber http://www.meinprof.de/uni/prof/4666

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 2/279

Computational Semantics

Organisatorisches

Materialien

Verwendete Materialien stammen von Patrick Blackburn und Johan Bos:

• Information zur Vorlesung:http://www.cl.uni-bremen.de/∼stefan/Lehre/S2006/comp-sem.html

• Lehrmaterial:

• Buch: Blackburn und Bos, 2005(http://www.iccs.informatics.ed.ac.uk/∼jbos/comsem/book1.html)

• Prolog-Materialien:http://www.cl.uni-bremen.de/∼aurelien/prolog/prolog.html

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 3/279

Computational Semantics

Organisatorisches

Vorgehen

• Handouts ausdrucken, immer mitbringen und personliche Anmerkungeneinarbeiten

• Vorlesungen vorbereiten

• Vorlesungen unbedingt nacharbeiten!• Kontrollfragen• Ubungsaufgaben

• Fragen!

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 4/279

Computational Semantics

Organisatorisches

Leistungen

• Ubungsaufgaben fur Teilnahme und Leistungsschein-ScheinAbgabe per E-Mail am jeweiligen Montag nach der entsprechendenVeranstaltung

• fur Leistungsschein:• Hausarbeit

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 5/279

Computational Semantics

Einleitung

Was ist Computational Semantics?

Was ist Computational Semantics?

Computational Semantics beschaftigt sich mit zwei Fragen:

• Wie kann man den Prozeß der Zuordnung semantischerReprasentationen zu naturlichsprachlichen Ausdrucken automatisieren?

• Wie kann man semantische Reprasentationen naturlichsprachlicherAusdrucke dazu benutzen, den Prozeß des logischen Schließens(Inferenz) zu automatisieren?

Dieser Kurs fuhrt in einige Grundtechniken ein,die man zur Losung dieser Probleme braucht.Zum Aufbau logisch-semantischer Reprasentationen wird hauptsachlich derλ-Kalkul genutzt.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 6/279

Computational Semantics

Einleitung

Was ist Computational Semantics?

Warum ist das eine gute Strategie? (I)

• Die am besten erforschten Logiken haben eine prazise Semantikin bezug auf Modelle.Deshalb haben wir, wenn wir einen naturlichsprachlichen Satz S in einelogische Formel φ ubersetzen konnen, genauen Zugriff auf zumindesteinen Teil der Bedeutung von S .

• Wichtige Inferenzprobleme sind fur die bekannteren Logiken erforschtworden, und oft gibt es gute Computerimplementationen.Ubersetzung in eine Logik gibt uns Zugang zur Inferenz, und das istwichtig fur naturliche Sprache.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 7/279

Computational Semantics

Einleitung

Was ist Computational Semantics?

Warum ist das eine gute Strategie? (II)

• λ-Kalkul hat selbst eine logische Interpretation,die wir in diesem Kurs nicht diskutieren, die aber wichtig ist.

• λ-Kalkul ist eine gute Glue-Sprache (glue language). Gut erforscht.

• Er ist flexibel: Spater werden wir statt mit Logik erster Stufe mitDiscourse Representation Theory (DRT) arbeiten.Wir werden aber nicht alle Details der Implementation andern mussen,einfache Anpassungen existierender Programme erlauben uns dieBenutzung von Lambdas mit DRT.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 8/279

Computational Semantics

Mengen und Relationen

Abschnitt 0

• Wir wiederholen Grundbegriffe:• Mengen,• Relationen und Funktionen• Aussagenlogik

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 9/279

Mengen und Relationen

Mengen

Schreibweisen fur Mengen

Schreibweisen fur Mengen

• Listennotation:

M = {a, b, c , d , e}• Pradikatsnotation:

S = {x |x ist ein deutscher Satz}• rekursive Regel:

Satz 1: 1 ∈ MSatz 2: Wenn x ∈ M, dann ist auch x + 1 ∈ MSatz 3: Nichts sonst ist in M.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 10/279

Mengen und Relationen

Mengen

Beziehungen zwischen Mengen

Beziehungen zwischen Mengen

Definition

Wenn die Menge A kein Element enthalt, das nicht auch in der Menge Benthalten ist, so ist A eine Teilmenge von B. Wir schreiben: A ⊆ B .

Wenn B daruberhinaus weitere Elemente enthalt,so ist A eine echte Teilmenge von B. Wir schreiben: A ⊂ B .

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 11/279

Mengen und Relationen

Mengen

Operationen mit Mengen

Operationen mit Mengen: Vereinigung und Durchschnitt

Definition

Die Vereinigung A ∪ B zweier Mengen A und B ist die Menge derjenigenElemente, die in A oder B auftreten.

A ∪ BDef= {x |x ∈ A oder x ∈ B}

Definition

Der Durchschnitt A ∩ B zweier Mengen A und B ist die Mengederjenigen Elemente, die sowohl in A als auch in B auftreten.

A ∩ BDef= {x |x ∈ A und x ∈ B}

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 12/279

Mengen und Relationen

Mengen

Operationen mit Mengen

Operationen mit Mengen: Differenz und Komplement

Definition

Die Differenz B − A zweier Mengen A und B ist die Menge aller Elementeaus B ohne die Elemente aus A.B − A

Def= {x |x ∈ B und x /∈ A}

AA

Definition

Das Komplement A (oder auch ∁A) einer Menge A ist die Menge allerElemente im Diskursuniversum D abzuglich aller Elemente in A.A = D − A = {x |x /∈ A}

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 13/279

Mengen und Relationen

Mengen

Darstellung als Venn-Diagram

Darstellung als Venn-Diagram

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 14/279

Mengen und Relationen

Relationen und Funktionen

Cartesisches Produkt

Relationen und Funktionen

Definition

Das cartesische Produkt A× B zweier Mengen A und B ist die Mengealler geordneten Paare 〈x , y〉, wobei x ∈ A und y ∈ B .

A× BDef= {〈x , y〉 |x ∈ A und y ∈ B}

Beispiel: zwei Mengen mit Mannern und Frauen:A = {max ,moritz},B = {clara, clarissa} Das cartesische Produkt ist die Menge:

A× B = {〈max , clara〉 ,〈max , clarissa〉 ,〈moritz , clara〉 ,〈moritz , clarissa〉}

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 15/279

Mengen und Relationen

Relationen und Funktionen

Relation

Relation von A nach B

Definition

Eine Relation R von A nach B ist eine Teilmenge des cartesischenProduktes A× B . Man schreibt R ⊆ A× B , oder genauer:{〈x , y〉 |xRy} ⊆ {〈x , y〉 |x ∈ A und y ∈ B}

Wenn wir uber die Elemente der Mengen wissen, daß Max Clara liebt unddaß Moritz Clarissa liebt, konnen wir auch uber die Relation sprechen,in der diese Mengenelemente zueinander stehen:

max lieben clara

moritz lieben clarissa

Andere Schreibweise:lieben(max , clara)

lieben(moritz , clarissa)c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 16/279

Mengen und Relationen

Relationen und Funktionen

Relation

lieben(max , clara)

lieben(moritz , clarissa)

Diese Relation entspricht zwei Elementen aus A× B , namlich denElementen der folgenden Menge:{〈max , clara〉 ,〈moritz , clarissa〉}

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 17/279

Mengen und Relationen

Relationen und Funktionen

Relation

Relation in A

Definition

Eine Relation R in einer Menge A ist eine Menge von geordnetenPaaren von Elementen von A, d. h., es ist R ⊆ A× A.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 18/279

Mengen und Relationen

Relationen und Funktionen

Funktion

Funktion

Definition

Eine Relation F von A nach B ist eine Funktion, gdw.

1. es zu jedem Element aus dem Definitionsbereich A hochstens einkorrespondierendes Element im Wertebereich B gibt und

2. der Definitionsbereich von F gleich A ist.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 19/279

Mengen und Relationen

Relationen und Funktionen

Funktion

Funktion und Relation

Funktion und Relation Funktion und Relation

Keine Funktion, aber Relation

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 20/279

Computational Semantics

Aussagenlogik

Aussagenlogik

In der Aussagenlogik werden Satzaussagen durch Satzvariablenreprasentiert.

Zum Beispiel: Peter schlaft = q

Satzvariablen konnen durch logische Operationen verknupft werden:

p ∧ q

Zur Vermeidung von Ambiguitaten kann/muß man Klammerungenvornehmen.

Fur den Aufbau logischer Ausdrucke kann man eine Vorschrift (Syntax)angeben.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 21/279

Computational Semantics

Aussagenlogik

Die Syntax der Aussagenlogik

Die Syntax der AussagenlogikVokabular:

• Satzvariablen: p, q, r , s, p1, p2, . . . , q1, . . .• logische Verknupfungen: ¬,∧,∨,→,↔• Klammern: ), (• Diese und keine anderen Zeichen sollen in der Aussagenlogik

vorkommen.

Regeln:

• Jede Satzvariable ist ein wohlgeformter Ausdruck.• Sind α und β beliebige wohlgeformte Ausdrucke, dann sind

• ¬α• (α ∧ β)• (α ∨ β)• (α→ β)• (α↔ β)

gleichfalls wohlgeformte Ausdrucke.• Ein Ausdruck ist nur wohlgeformt, wenn er durch Anwendung der

obenstehenden Regeln konstruiert werden kann.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 22/279

Computational Semantics

Aussagenlogik

Die Syntax der Aussagenlogik

Syntax der Aussagenlogik als Ersetzungsregeln

S 7→ ¬S

S 7→ (S ∧ S)

S 7→ (S ∨ S)

S 7→ (S → S)

S 7→ (S ↔ S)

S 7→ p

S 7→ q

. . .

Die Punkte stehen dabei fur weiter Regeln fur Variablen,d. h. Regeln der Form S 7→ q.

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 23/279

Computational Semantics

Aussagenlogik

Die Semantik der Aussagenlogik: Wahrheitswerttabellen

Die Semantik der Aussagenlogik: Wahrheitswerttabellen

c© Stefan Muller 2006, CL, FB 10, Universitat Bremen 24/279

Computational Semantics

Pradikatenlogik erster Stufe

Abschnitt 1

• Wir widerholen die Syntax und die Semantik der Pradikatenlogikerster Stufe, des Reprasentationsformalismus, den wir in den erstensieben Abschnitten benutzen werden.

• Wir legen die drei Inferenz-Aufgaben fest, die uns interessieren:Anfragen (queriying), Konsistenztests (consistency checking) undTest auf Informationsgehalt (informativity checking).

• Wir stellen einen Model Checker fur Logiken erster Stufe vor, einWerkzeug fur querying, die einfachste der drei Inferenzaufgaben.

• Demos:• modelChecker1.pl• modelChecker2.pl

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 25/279

Computational Semantics

Pradikatenlogik erster Stufe

Pradikatenlogik erster Stufe

Die drei Grundbestandteile sind:

• Vokabular

• Modelle

• Sprachen erster Stufe

Sprachen erster Stufe sind relativ einfache, prazise definierte Sprachen,mit denen man uber einfache Bilder der Welt (Modelle) reden kann.

Dazu wird jeweils ein bestimmtes Vokabular benutzt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 26/279

Computational Semantics

Pradikatenlogik erster Stufe

Vokabular

Ein Vokabular

{ (LOVE, 2),

(CUSTOMER, 1), (ROBBER, 1),

(MIA, 0), (VINCENT, 0), (HONEY-BUNNY, 0), (YOLANDA, 0) }• Das Vokabular sagt etwas uber den

”Gegenstand der Konversation“,

d. h. uber die spezifische Sprache, die wir benutzen werden, aus.

• Einheiten, die mit der Zahl Null angegeben werden, sind Konstanten.MIA ist z. B. eine Konstante (auch Individuenkonstante).

• Einheiten, die mit einer großeren Zahl aufgefuhrt sind,werden Relationssymbole (oder Pradikatssymbole auchPradikatskonstante) genannt.LOVE ist z. B. ein Relationssymbol.Es ist ein zweistelliges Relationssymbol.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 27/279

Computational Semantics

Pradikatenlogik erster Stufe

Modell

Modelle erster Stufe

Ein Modell ist ein Paar (D, F)

• D enthalt eine Menge von Individuen, uber die wir sprechen wollen.D wird Domane oder Diskursuniversum genannt und darf nicht leersein.

• F ist die Interpretationsfunktion. Sie spezifiziert, wofur jedes Symbolim Vokabular steht.Das geschieht durch eine Verkupfung aller Symbole im Vokabular miteinem entsprechenden Individuum aus der Menge D.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 28/279

Computational Semantics

Pradikatenlogik erster Stufe

Modell

Ein Beispiel fur ein Modell

• Sei die Domane D = {d1, d2, d3, d4}• Die Interpretationsfunktion F ist wie folgt spezifiziert:

F (mia) = d1

F (honey-bunny) = d2

F (vincent) = d3

F (yolanda) = d4

F (customer) = {d1, d3}F (robber) = {d2, d4}F (love) = {(d4, d2), (d3, d1)}

Man beachte, daß jedes Individuum in diesem Modell einen Namen hat.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 29/279

Computational Semantics

Pradikatenlogik erster Stufe

Modell

Ein anderes Beispiel fur ein Modell

• Wir nutzen dieselbe Domane D = {d1, d2, d3, d4},• benutzen aber eine andere Interpretationsfunktion:

F2(mia) = d2

F2(honey-bunny) = d1

F2(vincent) = d4

F2(yolanda) = d3

F2(customer) = {d1, d2, d4}F2(robber) = {d3}F2(love) = {}

In diesem Modell sind drei der Individuen Kunden, und nur einer einRauber.Wieder hat jedes Individuum einen Namen.Die love-Relation ist leer.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 30/279

Computational Semantics

Pradikatenlogik erster Stufe

Modell

Noch ein anderes Beispiel fur ein Modell

• Wir nutzen die Domane D = {d1, d2, d3, d4, d5},• und die folgende Interpretationsfunktion:

F3(mia) = d2

F3(honey-bunny) = d1

F3(vincent) = d4

F3(yolanda) = d1

F3(customer) = {d1, d2, d4}F3(robber) = {d3, d5}F3(love) = {(d3, d4)}

Nicht jedes Individuum hat einen Namen.d1 hat zwei Namen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 31/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Sprachen erster Stufe: Die Bestandteile

1. alle Symbole des Vokabulars.Diese Symbole werden die nicht-logischen Symbole der Sprachegenannt.

2. eine unendliche Menge von Variablen x , y , z ,w , . . . , usw.

3. die Boolschen Operatoren ¬ (Negation), → (Implikation),∨ (Disjunktion) und ∧ (Konjunktion)

4. die Quantoren ∀ (der Allquantor) und ∃ (der Existenzquantor)

5. die runden Klammern ‘(’ und ‘)’ und das Komma

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 32/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Terme

Terme sind die ‘Nominalphrasen’ der Sprachen erster Stufe.

1. Alle Konstanten und alle Variablen sind Terme.

2. Nichts sonst ist ein Term.

(Wir werden demnachst auch machtigere Sprachen erster Stufekennenlernen, die es uns gestatten noch interessantere Terme zu bilden.)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 33/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Atomare Formeln

Wir kombinieren ‘Nominalphrasen’ mit unseren ‘Pradikaten’und bilden damit atomare Formeln:

Sei R ein Relationssymbol der Stelligkeit n und seien τ1, . . . , τn Terme,dann ist R(τ1, . . . , τn) eine atomare Formel.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 34/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Wohlgeformte Formeln (Well Formed Formulas (wffs)

1. Alle atomaren Formeln sind wffs.

2. Seien φ und ψ wffs, dann sind ¬φ, (φ→ ψ), (φ ∨ ψ) und (φ ∧ ψ) wffs.

3. Sei φ eine wff und x eine Variable. Dann sind ∃xφ und ∀xφ wffs.(φ ist die Matrix dieser wffs)

4. Nichts sonst ist eine wff.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 35/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Was bedeuten diese Formeln?

Vereinfacht gesagt:

1. Atomare Formeln entsprechen einfachen naturlichsprachlichen Satzen.

2. ¬ entspricht ‘nicht’, → entspricht”Wenn . . . , dann . . .“,

∨ entspricht ‘oder’ und ∧ ‘und’.

3. ∃ entspricht”Es gibt mindestens ein“ und ∀

”Fur alle“ oder ‘alle’.

Wir konnen es aber nicht bei dieser informalen Erklarung belassen.Wir brauchen fur die Arbeit mit dem Computer etwas Genaues.

Das Obige zu prazisieren, verlangt etwas Gehirnschmalz.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 36/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Freie und gebundene Variablen

Beispiel:

¬ (customer(x) ∨ ∀x(robber(x) ∧ ∀y person(y)))

• Das erste Auftreten von x ist frei.

• Das zweite und dritte Auftreten von x gebunden.

• Das erste und zweite Auftreten von y ist ebenfalls gebunden.

Es kann hilfreich sein, sich Variablen als Pronomina vorzustellen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 37/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Satze

Ein Satz ist eine Formel, die keine freien Variablen enthalt.(Achtung: Das Wort ‘Satz’ wird hier als technischer Ausdruck verwendet.)

• Wann ist ein Satz in einem Modell wahr?Wir hatten gern eine induktive Definition.

• Problem:Wir konnen keine induktive Definition der Wahrheitsrelation geben,da der Matrixsatz eines quantifizierten Satzes nicht unbedingt ein Satzsein muß.Z. B. ist ∀x robber(x) ein Satz, aber robber(x) nicht.

• Losung:Wir arbeiten indirekt, uber den Begriff der Erfullung (satisfaction).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 38/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Variablenbelegungsfunktionen

• Angenommen wir arbeiten mit einem Modell M = (D,F )

• Dann ist eine Variablenbelegung g von Variablen aus M mit Werteneine Funktion aus der Menge der Variablen nach D.

• Man kann sich g als einen ‘Kontext’ vorstellen, der Werte fur unsere‘Pronomina’ (freien Variablen) zur Verfugung stellt.

Variablenbelegungsfunktionen erlauben uns,die Erfullung fur Formeln zu definieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 39/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Interpretation von Termen

Sei

• M = (D, F) ein Modell

• g eine Variablenbelegung in M

• τ ein Term

Dann ist die Interpretation von τ in bezug auf M und g :

• F (τ), wenn τ eine Konstante ist, (F ist die ➚ Interpretationsfunktion.)

• g(τ), wenn τ eine Variable ist.

Die Interpretation von τ wird wie folgt geschrieben: I gF (τ).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 40/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Varianten

Wir brauchen noch einen technischen Begriff, bevor wir Erfullungdefinieren konnen.

• Sei g eine Variablenbelegung (in einem Modell M) und x eine Variable.

• Dann ist eine Belegung g ′ eine x-Variante von g , gdw. g(v) = g ′(v) furalle von x verschiedenen Variablen v .

• Anschaulich: Eine x-Variante g ′ von g ist ein ‘Kontext’,der mit g in bezug auf alle ‘Pronomina’ ubereinstimmt –außer evtl. dem ‘Pronomen’ x .

• Auf der nachsten Folie, werden wir sehen,warum dieses Konzept wichtig ist.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 41/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Definition fur Erfullung

M, g |= R(τ1, . . . , τn) gdw. (I gF (τ1), . . . , I

gF (τn)) ∈ F (R)

M, g |= ¬φ gdw. nicht M, g |= φ

M, g |= φ ∧ ψ gdw. M, g |= φ und M, g |= ψ

M, g |= φ ∨ ψ gdw. M, g |= φ oder M, g |= ψ

M, g |= φ→ ψ gdw. nicht M, g |= φ oder M, g |= ψ

M, g |= ∃xφ gdw. M, g ′ |= φ, fur eine x-Variante g ′ von g

M, g |= ∀xφ gdw. M, g ′ |= φ, fur alle x-Varianten g ′ von g

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 42/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Wahrheit

Wir konnen jetzt definieren, was es fur einen Satz heißt,in einem Modell wahr zu sein:

Ein Satz φ ist in einem Modell M wahr, gdw.fur irgendeine Variablenbelegung g in M gilt M, g |= φ.

Schwierig: Denken Sie noch mal druber nach!

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 43/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Das sind die Grundlagen . . .

Aber es gibt zwei andere Sachen, die wir noch einfuhren mussen:

• Sprachen erster Stufe mit Funktionssymbolen(Wir werden diese im Abschnitt 6 benutzen.)

• Sprachen erster Stufe mit Gleichheit(sehr wichtig fur die Arbeit mit naturlicher Sprache)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 44/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Funktionssymbole

Wir konnen noch eine Menge von Funktionssymbolen f zu den Sprachenerster Stufe hinzufugen.

Ein Funktionssymbol hat eine bestimmte Stelligkeit.

Damit konnen wir aussagekraftigere Terme bauen(d. h. interessantere Nominalphrasen):

1. Alle Konstanten und Variablen sind Terme.

2. Wenn f ein Funktionssymbol der Stelligkeit n istund wenn τ1, . . . , τn Terme sind,dann ist f (τ1, . . . , τn) ebenfalls ein Term.

3. Nichts sonst ist ein Term.

Ein Term heißt geschlossen gdw. er keine Variablen enthalt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 45/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Ein Beispiel

Sei ‘vater’ ein einstelliges Funktionssymbol und sei ‘max’ eine Konstante.

Dann ist

vater(vater(max))

ein Term, der einen Großvater von Max bezeichnet.

Betrachtet man dieses Beispiel, ist klar,wie Funktionssymbole interpretiert werden sollten . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 46/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Die Interpretation von Funktionssymbolen

Wir erweitern unsere Definition von I gF (τ) auf naheliegende Weise.

Fur ein Modell M und eine Variablenbelegung g in M definieren wir:

• I gF (τ) ist F (τ), wenn τ eine Konstante ist, (wie bisher)

• I gF (τ) ist g(τ), wenn τ eine Variable ist, (wie bisher)

• Wenn τ ein Term der Form f (τ1, . . . , τn) ist,dann ist I g

F (τ) F (f )(I gF (τ1), . . . , I

gF (τn)).

D. h. wir wenden die n-stellige Funktion F (f )– die Funktion, die f interpretiert –auf die Interpretation der n Argumentterme an.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 47/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Gleichheit

• Fur gewohnlich wird auch ein spezielles zweistelliges Relationssymbol‘=’ zu Sprachen erster Stufe hinzugefugt.

• Dieses Symbol wird immer wie folgt definiert:Gegeben sei eine beliebige Variablenbelegung g in einem Modell M undzwei beliebige Terme τ1 und τ2 M, g |= τ1 = τ2 gdw. I g

F (τ1) = I gF (τ2)

• D. h., dieses Symbol bedeutet wirklich Gleichheit.

• Obwohl es syntaktisch nur ein Relationssymbol ist,ist ‘=’ ein logisches Symbol wie ¬ oder ∀.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 48/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Ein Beispiel

yolanda = honey-bunny

ist eine atomare Formel, die besagt,daß Yolanda und Honney Bunny dieselbe Person sind.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 49/279

Computational Semantics

Pradikatenlogik erster Stufe

Sprachen erster Stufe

Ist Logik erster Stufe eine gute Wahl?

• Wir wissen jetzt viel von dem, was wir uber Logik erster Stufe wissenmussen. Es ist Zeit fur eine fundamentale Frage: Ist Logik erster Stufeeine gute Wahl fur semantische Reprasentation?

• Ja. Auch wenn Sie woanders das Gegenteil gehort haben, kann man mitLogik erster Stufe fast alles reprasentieren, eingeschlossen temporaleInformation und modale Information. Man kann damit sogar Logikenhoherer Stufe simulieren. Fast die einzige Ausdrucksschwirigkeit ist,daß man Quantoren wie die meisten nicht behandeln kann.

• Fur unsere Belange sind die einzigen Nachteile reprasentationeller Art.Deshalb werden wir Lambdas hinzufugen und spater zu DRT wechseln.

• Und trotzdem wird PL 1 unter der Oberflache immer noch da sein undfur uns viele Arbeiten erledigen, wie wir sehen werden . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 50/279

Computational Semantics

Pradikatenlogik erster Stufe

Inferenz

Inferenz

In diesem Kurs sind wir an den folgenden drei Inferenzaufgabeninteressiert:

• Anfragen (Querying)

• Konsistenztests

• Informativitatstests

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 51/279

Pradikatenlogik erster Stufe

Inferenz

Anfragen

Anfragen

Gegeben sei ein Modell M und eine Formel φ,ist φ im Modell M wahr oder nicht?

• Man stelle sich das Modell M als Bild (eines kleinen Teils) der Welt vor.

• Die Frage φ zu stellen, heißt zu fragen,ob die Information φ in unserem kleinen Bild der Welt wahr ist, o. nicht.

• Ein Werkzeug, das diese Inferenzaufgabe lost,wird Modellprufer (model checker) genannt.

• Diese Art Inferenz ist fur endliche Modelle relativ leicht zuimplementieren (wie wir bald sehen werden) und wird auch spater furdas Fragenbeantworten (question answering) nutzlich sein.(Es ist ebenfalls nutzlich fur Aufgaben wie die Generierungnaturlichsprachlicher Ausdrucke.)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 52/279

Pradikatenlogik erster Stufe

Inferenz

Konsistenztests

Konsistenztests (I)

• Eine Formel ist konsistent, wenn sie in wenigstens einem Modell erfulltist.Konsistente Formeln beschreiben ‘vorstellbare’ oder ‘mogliche’Sachverhalte.Z. B. ist ROBBER(MIA) konsistent.

• Eine Formel, die nicht konsistent ist, wird inkonsistent genannt.Inkonsistente Formeln beschreiben ‘unvorstellbare’ oder ‘unmogliche’Sachverhalte.Z. B. ist ROBBER(MIA)∧ ¬ROBBER(MIA) inkonsistent.

• Eine endliche Menge von Formeln {φ1, . . . , φn} ist konsistent, wennφ1 ∧ . . . ∧ φn konsistent ist.Eine endliche Menge von Formeln, die nicht konsistent ist,wird inkonsistent genannt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 53/279

Pradikatenlogik erster Stufe

Inferenz

Konsistenztests

Konsistenztests (II)

• Wir wollen prufen, ob die Information, die uns in naturlichsprachlichenDiskursen zur Verfugung gestellt wird, konsistent ist.Wenn wir inkonsistente Information bekommen,wird wohl etwas im kommunikativen Prozeß schief laufen . . .

• Konsistenztest ist aber eine sehr viel schwierigere Inferenzaufgabe alsAnfrage. Fur PL 1 ist der Konsistenztest sogar unentscheidbar.

• Es gibt aber zwei Computerwerkzeuge, die uns beim Test helfen konnen:Theorem-Beweiser (theorem provers) und Modell-Bauer (modelbuilders). Wir werden spater mehr uber diese Tools lernen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 54/279

Pradikatenlogik erster Stufe

Inferenz

Informativitatstest

Informativitatstest (I)

• Ein gultiger Satz ist ein Satz, der in allen Modellen wahr ist.(z. B. : robber(mia) ∨ ¬robber(mia)).Ein Satz, der nicht gultig ist, wird ungultig genannt.

• Sei φ1, . . . , φn und ψ eine endliche Menge von Satzen erster Stufe. DerSchluß mit den Voraussetzungen φ1, . . . , φn und der Schlußfolgerungψ ist ein gultiger Schluß,wenn, immer, wenn alle Voraussetzungen in einem Modell wahr sind,die Schlußfolgerung in diesem Modell auch wahr ist.

• Die Schreibweise φ1, . . . , φn |= ψ steht fur einen gultigen Schluß.

• Die Schreibweise φ1, . . . , φn 6|= ψ steht fur einen ungultigen Schluß.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 55/279

Pradikatenlogik erster Stufe

Inferenz

Informativitatstest

Informativitatstest (II)

Was hat Gultigkeit mit Informativitat zu tun?

• Oft werden gultige Satze uninformativ genannt. (Wenn sie in allenModellen wahr sind, enthalten sie keine spezifische Information!)Oft werden Satze, die nicht gultig sind, informativ genannt.

• Wenn gilt φ1, . . . , φn |= ψ, dann sagen wir,ψ ist uninformativ in bezug auf φ1, . . . , φn.

• Wenn gilt φ1, . . . , φn 6|= ψ, dann sagen wir,ψ ist informativ in bezug auf φ1, . . . , φn.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 56/279

Pradikatenlogik erster Stufe

Inferenz

Informativitatstest

Informativitatstest (II)

• Wir wurden gern prufen, ob Information, die uns in einemnaturlichsprachlichen Diskurs ubermittelt wird, informativ im Vergleichzu Information ist, uber die wir bereits verfugen.Wenn sie nicht informativ ist,wird wohl etwas im kommunikativen Prozeß schief laufen . . .

• Informativitatstest ist aber eine sehr viel schwierigere Inferenzaufgabeals Anfrage. Fur PL 1 ist der Informativitatstest sogar unentscheidbar.

• Es gibt aber zwei Computerwerkzeuge, die uns beim Test helfen konnen:Theorem-Beweiser (theorem provers) und Modell-Bauer (modelbuilders).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 57/279

Pradikatenlogik erster Stufe

Inferenz

Beziehungen zwischen Konsistenz und Informativitat

Beziehungen zwischen Konsistenz und Informativitat

• φ ist informativ (d. h., nicht gultig) gdw. ¬φ konsistent ist.D. h., Informativitat heißt, daß das Gegenteil moglich war.

• φ1, . . . , φn 6|= ψ (d. h., ψ ist informativ in bezug auf φ1, . . . , φn) gdw.{φ1, . . . , φn,¬ψ} konsistent ist.

• φ ist uninformativ (d. h., gultig) gdw. ¬φ inkonsistent ist.D. h., Uninformativitat heißt, daß das Gegenteil uberhaupt gar nichtmoglich war.

• φ1, . . . , φn |= ψ (d. h., ψ ist uninformativ in bezug auf φ1, . . . , φn)gdw. {φ1, . . . , φn,¬ψ} inkonsistent ist.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 58/279

Pradikatenlogik erster Stufe

Inferenz

Beziehungen zwischen Konsistenz und Informativitat

Etwas zum Merken

• Wir haben gesagt, daß Konsistenztests und Informativitatstest vielschwierigere Aufgaben sind als Anfragen. Warum ist das so?

• Der Grund ist, daß beide Aufgaben mit bezug auf alle Modelle definiertsind, und es gibt viele Modelle, und die meisten sind unendlich.Kurz, beide Aufgaben sind semantisch definiert und auf eine sehrabstrakte Weise.(Im Gegensatz dazu ist Anfragen semantisch definiert, aber auf eine sehrspezifische Art und Weise.)

• Um Konsistenztest und Informativitatstests computationell in den Griffzu bekommen, brauchen wir einen syntaktischen Zugang zu ihnen.(d. h., wir mussen uns eine Teildisziplin der Logik ansehen, dieBeweis-Theorie gennant wird, Abschnitt 5 und 6)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 59/279

Computational Semantics

Pradikatenlogik erster Stufe

Ein einfacher Modellprufer

Ein einfacher Modellprufer

Wir gucken uns jetzt einen einfachen Modellprufer an,der in Prolog geschrieben ist.

Bevor wir das tun, brauchen wir noch Hintergrundwissen:

• Wie definieren wir Prolog-Representationen fur Modelle?

• Wie definieren wir Prolog-Representationen fur Formeln?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 60/279

Pradikatenlogik erster Stufe

Ein einfacher Modellprufer

Die Reprasentation von Modellen

Die Reprasentation von Modellen

Ein typisches Beispiel fur Reprasentationen von Modellen in Prolog:

model([d1,d2,d3,d4],

[f(0,mia,d1),

f(0,vincent,d2),

f(0,pumpkin,d3),

f(0,honey_bunny,d4),

f(1,customer,[d1,d2]),

f(1,robber,[d3,d4]),

f(2,love,[(d3,d4)])]).

Das Vokabular wird explizit als Teil der Modellreprasentation angegeben.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 61/279

Pradikatenlogik erster Stufe

Ein einfacher Modellprufer

Die Reprasentation von Formeln

Die Reprasentation von Formeln

• Variablen werden als Prolog-Variablen reprasentiert.

• Eine Konstante c wird durch das Prolog-Atom c reprasentiert.

• Ein Relationssymbol R wird durch das Prolog-Atom r reprasentiert.love(vincent, mia) wird durch love(vincent, mia) dargestellt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 62/279

Pradikatenlogik erster Stufe

Ein einfacher Modellprufer

Die Boolschen Operatoren

Die Boolschen Operatoren

Die Prolog-Terme

and/2 or/2 imp/2 not/1

werden jeweils fur die Verknupfungen ∧, ∨, → und ¬ benutzt.

φ ∧ ψ wird als and(Phi, Psi) dargestellt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 63/279

Pradikatenlogik erster Stufe

Ein einfacher Modellprufer

Die Quantoren

Die Quantoren

Angenommen formula ist eine Formel erster Stufe, und Formula ist dieentsprechende Reprasentation als Prolog-Ausdruck.

Dann wird ∀x formula wie folgt reprasentiert:

all(X,Formula)

und ∃x formel wird wie folgt reprasentiert:

some(X,Formula)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 64/279

Pradikatenlogik erster Stufe

Ein einfacher Modellprufer

Demo

Und jetzt geht’s los!

• modelChecker1.pl

• modelChecker2.pl

Beide Programme sind unterhttp://www.iccs.informatics.ed.ac.uk/∼jbos/comsem/book1.htmlverfugbar.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 65/279

Computational Semantics

Der Lambda-Kalkul

Abschnitt 2: Der Lambda-Kalkul

• Wir beginnen, uns mit der ersten der beiden fundamentalen Fragen vomAnfang der Vorlesung zu beschaftigen:Wie kann man den Prozeß der Zuordnung semantischerReprasentationen zu naturlichsprachlichen Ausdrucken automatisieren?

• Wir diskutieren das Konzept der Kompositionalitat,experimentieren mit verschiedenen Ansatzen zur Implementationkompositionaler Semantikkonstruktion und werden so nach und nachzum Lambda-Kalkul kommen.

• Wir implementieren α-Konversion, ein wichtiges Konzept im λ-Kalkul.Die Implementation der β-Konversion, ein weiteres Schlusselkonzept,wird im nachsten Abschnitt diskutiert.

• Demos:• experiment2.pl• experiment3.pl

• alphaKonversion.pl

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 66/279

Computational Semantics

Der Lambda-Kalkul

Semantikkonstruktion

• Gibt es ein systematisches Verfahren, zu einem (englischen) Satz einesemantische Reprasentation zu konstruieren?

• Diese Frage ist jetzt noch zu schwierig.Wir stellen uns vorerst eine spezifischere Frage.

• Gibt es ein systematisches Verfahren einfache Satze wie die in (1) inPL 1 zu ubersetzen?

(1) a. Vincent likes Mia

b. Every woman snorts

c. Every boxer loves a woman

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 67/279

Computational Semantics

Der Lambda-Kalkul

Bedeutung aus dem Lexikon

Bedeutung kommt aus dem Lexikon

• Der naturlichsprachliche Satz Vincent likes Mia soll als Satz erster Stufelike(vincent,mia) reprasentiert werden.

• Der Eigenname Vincent entspricht der Konstanten vincent,der Eigenname Mia entspricht der Konstanten miaund das Verb likes steuert das zweistellige Relationssymbol like bei.

• Das ist eine einfache Beobachtung, aber sie fuhrt zu einer wichtigenGeneralisierung: Bedeutung kommt aus dem Lexikon.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 68/279

Computational Semantics

Der Lambda-Kalkul

Bedeutung aus dem Lexikon

Der Bedeutungsbeitrag anderer Worter

• Die Einsicht, daß Bedeutung aus dem Lexikon kommt, ist einfach,wirft aber einige nichttriviale Fragen auf.

• Z.B. hat Every woman snorts die Reprasentation:∀x(woman(x)→snort(x)).Was tragt das Wort every zu dieser Reprasentation bei?

• Das ∀?• Den →?• Beides zuammen innerhalb eines bestimmten Musters?

(Das ist die richtige Antwort.)

Und wie konnen wir das genau spezifizieren?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 69/279

Computational Semantics

Der Lambda-Kalkul

Die Rolle der Syntax

Die Rolle der Syntax

• Warum bekommen wir die Reprasentationlike(vincent,mia) fur Vincent likes Mia und nicht z. B.like(mia,vincent)?

• D. h. wie werden alle Teile, die uns das Lexikon liefert,so verbunden, daß wir die richtige Reprasentation bekommen?

• Das Grundprinzip ist, daß die syntaktische Struktur einesnaturlichsprachlichen Satzes den Prozeß derSemantikkonstruktion steuern sollte.

• Kurz: Syntaktische Struktur steuert den Zusammenbau.

• Betrachten wir ein Beispiel . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 70/279

Computational Semantics

Der Lambda-Kalkul

Die Rolle der Syntax

Syntaktische Struktur steuert den Zusammenbau

Vincent likes Mia (S)

like(vincent,mia)

Vincent (NP)

vincent

likes Mia (VP)

like(?,mia)

likes (TV)

like(?,?)

Mia (NP)

mia

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 71/279

Computational Semantics

Der Lambda-Kalkul

Kompositionalitat

Kompositionalitat

Wir haben in der Diskussion die Idee der Kompositionalitat bzw.der kompositionellen Semantikkonstruktion herausgearbeitet:

• Bedeutung (Reprasentation) kommt aus dem Lexikon.

• Bedeutungen (Reprasentationen) werden mit Hilfe syntaktischerInformation kombiniert.

• Genauer:Die Bedeutung des Ganzen ist eine Funktion der Bedeutung der Teile,wobei sich ‘Teile’ auf die Substrukturen bezieht,die uns die Syntax zur Verfugung stellt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 72/279

Computational Semantics

Der Lambda-Kalkul

Sich ergebende Aufgaben

Sich ergebende Aufgaben

Aufgabe 1 Wir mussen eine Syntax fur das Fragment naturlicher Spracheentwickeln, das uns interessiert.

Aufgabe 2 Wir mussen semantische Reprasentationen fur Lexikoneintragespezifizieren.

Aufgabe 3 Wir mussen die Ubersetzung kompositional spezifizieren.D. h., wir mussen die Ubersetzung aller Ausdrucke unter Bezugnahmeauf alle Ubersetzungen ihrer Teile spezifizieren.

Alle drei Aufgaben mussen so ausgefuhrt werden,daß wir eine sinnvolle Computerimplementation erhalten.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 73/279

Computational Semantics

Der Lambda-Kalkul

Eine DCG fur die Syntax

Definite Clause Grammars fur Aufgabe 1

s --> np, vp. noun --> [woman].

np --> pn. noun --> [foot,massage].

np --> det, noun. vp --> iv.

pn --> [vincent]. vp --> tv, np.

pn --> [mia]. iv --> [walks].

det --> [a]. tv --> [loves].

det --> [every]. tv --> [likes].

Diese Grammatik akzeptiert Satze wie die in (2):

(2) a. Vincent walks

b. Mia likes a foot massage

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 74/279

Computational Semantics

Der Lambda-Kalkul

Eine DCG fur die Syntax

Spaß mit DCGs

• DCGs sind eine naturliche Notation fur die Grammatikspezifikationund auch bereits in den meisten Prologs enthalten,haben also von Hause aus eine berechenbare Interpretation.

• Z.B. kann man mit der Anfrage

?- s([mia,likes,a,foot,massage],[])

uberprufen, ob der Satz zu unserem Grammatikfragment gehort.

• Außerdem kann man weitere Argumente zu den Grammatiksymboleneinfuhren, die dann dazu benutzt werden konnen, semantischeReprasentationen zu kombinieren und nach oben zu reichen.

• Details zu DCGs findet man in Learn Prolog Now!, das unterhttp://www.coli.uni-sb.de/∼kris/learn-prolog-now/ verfugbar ist.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 75/279

Computational Semantics

Der Lambda-Kalkul

Eine DCG fur die Syntax

Zwei Experimente zur Semantikkonstruktion

Um Reprasentationen aufzubauen, mussen wir

• die Bedeutung der Lexikoneintrage (Worter) spezifizieren.Diese Reprasentationen sind typischerweise ‘unvollstandige’ Formeln(Man denke an den Vincent likes Mia-Baum).

• angeben, wo die Information, die in den Eintragen noch fehlt,herkommt. (unter Zuhilfename der syntaktischen Information,die wir von der DCG bekommen und mit anderen Prolog-Tricks.)

• Schlusselidee: Wir verbinden die fehlende Information mit einerbestimmten Prolog-Variable.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 76/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 1

Experiment 1

Wir mussen Vincent mit der KOnstanten VINCENT, Mia mit MIA, walksmit der einstelligen Relation WALK und love mit dem zweistelligenRelationssymbol LOVE verbinden.

pn(vincent)--> [vincent].

pn(mia)--> [mia].

iv(snort(_))--> [snorts].

tv(love(_,_))--> [loves].

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 77/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 1

Prolog stellt das Pradikat arg/3 zur Verfugung:arg(N,P,I) ist wahr, wenn I das Nte Argument von P ist.

s(Sem)--> np(SemNP), vp(Sem),

{

arg(1,Sem,SemNP)

}.

np(Sem)--> pn(Sem).

vp(Sem)--> tv(Sem), np(SemNP),

{

arg(2,Sem,SemNP)

}.

vp(Sem)--> iv(Sem).

Regeln geben entweder Semantik einfach hoch oder benutzen arg/3, umSemantik der Teile zu Argumenten der Reprasentation am Mutterknotenzu machen.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 78/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 1

DCG-Erweiterungen fur Determinatoren und Nomen

det(some(_,and(_,_)))--> [a].

det(all(_,imp(_,_)))--> [every].

noun(woman(_))--> [woman].

noun(footmassage(_))--> [foot,massage].

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 79/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 1

Slot-Instantiierung der NP mit arg/3

np(Sem)--> det(Sem), noun(SemNoun),

{

arg(1,SemNoun,X),

arg(1,Sem,X),

arg(2,Sem,Matrix),

arg(1,Matrix,SemNoun)

}.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 80/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 1

Slot-Instantiierung von S mit arg/3

Bisher haben wir einfache S-Regel, die uns snort(Mia) zusammenbaut,fur Quantoren brauchen wir aber eine zweite:

s(Sem)--> np(Sem), vp(SemVP),

{

arg(1,SemVP,X),

arg(1,Sem,X),

arg(2,Sem,Matrix),

arg(2,Matrix,SemVP)

}.

Schlecht! Zusatzliche Satzregel.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 81/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 1

Problem

Außerdem bekommen wir fur

(3) A woman snorts

snort(some(X,and(woman(X),Y))).

Außerdem brauchen wir noch eine zweite VP-Regel, um mit qunatifiziertenObjekt-NPen klar zu kommen:

vp(Sem)--> tv(SemTV), np(Sem),

{

arg(2,SemTV,X),

arg(1,Sem,X),

arg(2,Sem,Matrix),

arg(2,Matrix,SemTV)

}.

Wir kriegen richtige Analysen, aber auch einen Haufen Symbolsalat: Furc© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 82/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 2

DCG mit Semantik: Lexikoneintrage

Explizite Kodierung uber Argumentpositionen hat nicht funktioniert,stattdessen Kenntlichmachung der offenen Stellen mittels einesPlatzhalters (Prolog-Variable).

noun(X,woman(X)) --> [woman].

iv(Y,snort(Y)) --> [snorts].

tv(Y,Z,love(Y,Z)) --> [loves].

det(X,Rest,Scope,some(X,and(Rest,Scope))) --> [a].

det(X,Rest,Scope,all(X,imp(Rest,Scope))) --> [every].

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 83/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 2

DCG mit Semantik: Grammatikregeln

s(Sem) --> np(X,SemVP,Sem), vp(X,SemVP).

vp(X,Sem) --> tv(X,Y,SemTV), np(Y,SemTV,Sem).

vp(X,Sem) --> iv(X,Sem).

np(X,Scope,Sem) --> det(X,Rest,Scope,Sem), noun(X,Rest).

np(SemPN,Sem,Sem) --> pn(SemPN).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 84/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 2

Was haben wir erreicht?

• Es funktioniert und die zugrundeliegenden Intuitionen sind klar.Fehlende Informationen expliziet zu markieren, ist eine gute Idee.Wir haben dadurch ausreichend Kontrolle.

• Die Regeln tun die meiste Arbeit.Mitunter benotigen wir Programmiertricks,die die Grammatik nicht modular machen.

• Das legt nahe, daß etwas fehlt.Vielleicht kann ein disziplinierteres Herangehen an fehlende Informationdie Notwendigkeit regelspezifischer Kombinationsmethoden verringernoder sogar eliminieren?

• Der Lambda-Kalkul ist die einheitliche Kombinationsmethode,die wir suchen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 85/279

Computational Semantics

Der Lambda-Kalkul

Die DCG mit Semantik: Experiment 2

Ubung

1. Benutzen Sie entweder Papier und Stift oder den Prolog-Debugger, umdie Variableninstantiierungen nachzuvollziehen, die beim Parsen derSatze in (5) durchgefuhrt werden:

(5) a. Vincent snorts

b. A woman snorts.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 86/279

Computational Semantics

Der Lambda-Kalkul

Der Lambda-Kalkul

Der Lambda-Kalkul

• In diesem Kurs wird der Lambda-Kalkul als geringfugige notationelleErweiterung der Logik erster Stufe aufgefaßt, die es uns gestattet,Variablen zu binden, indem wir den Operator λ benutzen.Durch λ gebundene Variablen sind ‘Platzhalter’ fur fehlendeInformation.

• Wenn wir einen Lambda-Ausdruck vor einen anderen Ausdruckschreiben (den Argumentausdruck), dann ist das eine Anweisung,den Argumentausdruck in die Platzhalter einzusetzen.Das wird Funktionalapplikation genannt.

• Eine Operation namens β-Konversion erledigt die Substitutionen.Eine weitere Operation namens α-Konversion fuhrt kleine (aberwichtige) Verwaltungsfunktionen durch.

• Den Lambda-Kalkul sollte man sich als glue language vorstellen,als

”Programmiersprache“ fur eine einzige Aufgabe: das Verbinden

von Bausteinen fur den Zusammenbau semantischer Reprasentationen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 87/279

Computational Semantics

Der Lambda-Kalkul

Der Lambda-Operator

Der Lambda-Operator

Der Lambda-Operator kennzeichnet fehlende Information,indem er Variablen bindet.

• Es folgt ein einfacher Lambda-Ausdruck:

λx.man(x)

Der Prafix λx bindet das Auftreten des x in man(x).

• λx.man(x) kann wie folgt gelesen werden:

”Ich bin das einstellige Pradikat man,

und ich suche nach einem Term, um meine Argumentstelle zu fullen.“

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 88/279

Computational Semantics

Der Lambda-Kalkul

Funktionalapplikation

Funktionalapplikation

Der ‘@’-Operator wird benutzt, um Funktionalapplikation anzuzeigen.d. h. er zeigt an, daß wir eine Ersetzung vornehmen wollen.

Beispiel:

λx.man(x)@vincent

• Der Ausdruck λx.man(x) wird Funktor genannt.Der Ausdruck vincent wird das Argument genannt.

• Anschaulich heißt das: Fulle die Platzhalter im Funktor mit Vorkommendes Arguments vincent.

• Aber wie machen wir das genau . . . ?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 89/279

Computational Semantics

Der Lambda-Kalkul

β-Konversion

β-Konversion

Die gewunschte Substitution wird durch β-Konversion vorgenommen:

Aus

λx.man(x)@vincent

erzeugt β-Konversion

man(vincent)

Das λx. zu Beginn des Ausdrucks wird weggelassen,und das Argument wird an allen Stellen eingesetzt,an denen x durch λx gebunden wurde.

Das nennt man β-Konversion.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 90/279

Computational Semantics

Der Lambda-Kalkul

β-Konversion

Komplexere Falle

Die semantische Reprasentation fur a woman ist:

λQ.∃x(woman(x) ∧ Q@x)

Die Variable Q zeigt an, daß:

• Information fehlt

• und wo diese Information eingesetzt werden muß.

Zusammengefaßt: Wir konnen die Lambda-Notation dazu benutzen,Bedeutungsmuster oder Reprasentationsmuster aufzubauen,wobei expliziet angezeigt werden kann,wo verschiedene Teile eingefugt werden mussen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 91/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

Ein Beispiel: Every boxer growls

Schritt 1: Zuweisung von λ-Ausdrucken zu den syntaktischen Kategorien:

boxer: λy.boxer(y)

growls: λx.growl(x)

every: λP.λQ.∀x(P@x→Q@x)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 92/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

Erinnerung an alte Reprasentation

Wir haben dem Determinator ‘every’ die folgende Reprasentation gegeben:

det(X,Rest,Scope,all(X,imp(Rest,Scope)))

Wenn wir die Prolog-Variable P statt Rest und Q statt Scope benutzen,bekommen wir:

det(X,P,Q,all(X,imp(P,Q)))

Das entspricht

λP.λQ.∀x(P@x→Q@x)

Worin besteht der Unterschied?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 93/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

Der Unterschied

• Der Prozeß der Kombination von Ausdrucken wird nicht mehr nur alsProgrammierubung angesehen.

• Wir haben ein Reprasentationsformat (Lambda-Notation)herausgearbeitet, das es uns ermoglicht, mit

”fehlender Information“

jeglicher Art umzugehen.D. h., wir haben eine wichtige Datenabstraktion durchgefuhrt.

• Außerdem haben wir die Hauptkonzepte herausgearbeitet,die wir fur die Arbeit mit diesen Reprasentationen brauchen:• Funktionalapplikation,• β-Konversion und (kommt noch)• α-Konversion.

• Zusammengefaßt: Wir haben genau die Werkzeuge, die wir brauchen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 94/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

Every boxer growls (Fortsetzung)

Schritt 2: Verbinde den NP-Knoten mit der Applikation,die die DET-Reprasentation als Funktor unddie NOUN-Reprasentation als Argument hat.

every boxer (NP)

λP.λQ.∀x(P@x→Q@x)@λy.boxer(y)

every (DET)

λP.λQ.∀x(P@x→Q@x)

boxer (NOUN)

λy.boxer(y)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 95/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

β-Konversion

Applikationen sind Anweisungen, β-Konversion durchzufuhren.

Fuhrt man die verlangte Substitution aus, erhalt man:

every boxer: λQ.∀x(λy.boxer(y)@x→Q@x)

Dieser Ausdruck enthalt einen Unterausdruck der Form: λy.boxer(y)@x.

Das ist eine weitere Anweisung, β-Konversion durchzufuhren:

every boxer: λQ.∀x(boxer(x)→Q@x)

Weitere β-Konversionen konnen nicht durchgefuhrt werden,weshalb wir den Satz weiteranalysieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 96/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

Die letztendliche Reprasentation

every boxer growls (S)

∀x(boxer(x)→growl(x))

every boxer (NP)

λQ.∀x(boxer(x)→Q@x)

growls (VP)

λz.growl(z)

every (DET)

λP.λQ.∀x(P@x→Q@x)

boxer (NOUN)

λy.boxer(y)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 97/279

Computational Semantics

Der Lambda-Kalkul

Ein Beispiel

Ein Moment der Reflektion

In zweierlei Hinsicht ist unser Ansatz zur Semantikkonstruktion einfachergeworden:

1. Der Prozeß der Kombination von Reprasentationen ist nun einheitlich.

2. Die meiste Arbeit in bezug auf die semantische Analyse wird nun imLexikon erledigt.

Das ist ein gutes Zeichen dafur, daß wir auf dem richtigen Weg sind,aber wir sollten das noch hinterfragen . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 98/279

Computational Semantics

Der Lambda-Kalkul

Eigennamen

Eigennamen: Wolken am Horizont?

• Quantifizierende Nominalphrasen konnen als Funktor benutzt werden.

• Aber was ist mit NPen wie Vincent?

• Es gibt kein Problem!

Mia: λP.P@mia

Vincent: λP.P@vincent

Diese Reprasentationen konnen als Funktoren benutzt werden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 99/279

Computational Semantics

Der Lambda-Kalkul

Eigennamen

Eigennamen in AktionVincent loves Mia (S)

love(vincent,mia)

Vincent (NP)

λP.P@vincent

loves Mia (VP)

λz.love(z,mia)

loves (TV)

λw.λz.(w@λx.love(z,x))

Mia (NP)

λP.P@mia

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 100/279

Computational Semantics

Der Lambda-Kalkul

α-Konversion

Ist β-Konversion immer sicher?

• Die Reprasentationen

λx.λy.bloogle(x,y)

und

λz.λw.bloogle(z,w)

sollten denselben Effekt haben.x, y, z und w sind einfach Platzhalter.Sie haben keine inharente Eigenbedeutung.

• Normalerweise funktioniert alles gut.Z. B. wenn wir die obigen Ausdrucke zuerst auf fee unddann auf boo anwenden und dann β-Konversionen durchfuhren,bekommen wir dasselbe Ergebnis, namlich bloogle(fee,boo).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 101/279

Computational Semantics

Der Lambda-Kalkul

α-Konversion

Ein Problem

• Aber es kann schief gehen, wenn wir einen Lambda-Ausdruck auf eineVariable anwenden, die gebunden in einem Funktor vorkommt.

• Wenn wir z. B. λx.λy.bloogle(x,y) auf die Variable w anwenden,erhalten wir λy.bloogle(w,y), was genau das ist, was wir wollen.

• Wenden wir aber λz.λw.bloogle(z,w) auf w an,bekommen wir λw.bloogle(w,w).

• Das wollen wir nicht. Die Variable w wurde zufallig gebunden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 102/279

Computational Semantics

Der Lambda-Kalkul

α-Konversion

α-Konversion

• α-Konversion ist die Ersetzung (Umbenennung) gebundener Variablen.

• Zum Beispiel erhalten wir aus

λx.λy.bloogle(x,y)

durch α-Konversion den Ausdruck

λz.λw.bloogle(z,w)

indem wir x durch z und y durch w ersetzen.

• Bei der Arbeit mit dem Lambda-Kalkul fuhren wir immer erst eineα-Konversion durch, bevor wir die β-Konversion vornehmen.Wir nennen insbesondere immer alle gebundenen Variablen im Funktorum, so daß sie sich von allen Variablen im Argument unterscheiden.

• Das schließt zufallige Bindungen aus.

• Unsere grundlegende Kombinationsmethode ist alsoα-Konversion (zur Sicherheit) gefolgt von β-Konversion.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 103/279

Computational Semantics

Der Lambda-Kalkul

Nocheinmal die drei Aufgaben

Nocheinmal die drei Aufgaben

Aufgabe 1 Wir mussen eine Syntax fur das Fragment naturlicher Spracheentwickeln, das uns interessiert. Das konnen wir mit DCGs machen.

Aufgabe 2 Wir mussen semantische Reprasentationen fur Lexikoneintragespezifizieren. Wir wissen, was hierfur zu tun ist.

Aufgabe 3 Wir mussen die Ubersetzung einer Einheit R, die aus F und Abesteht, mit Hilfe von Funktionalapplikation definieren.D. h., wir mussen sagen, welcher Teil der Funktor sein soll (hier F) undwelcher das Argument (hier A) und dann als Ergebnis der UbersetzungR′ = F ′@A′ nehmen.Wir wissen, daß uns β-Konversion (zusammen mit α-Konversion)die Werkzeuge zur Verfugung stellt, die wir brauchen, umdie Reprasentationen zu erzeugen, die bei diesem Prozeß gebautwerden.

Wir mussen jetzt nur noch zeigen, daß die Aufgaben 2und 3 auch furComputer implementiert werden konnen.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 104/279

Computational Semantics

Der Lambda-Kalkul

Nocheinmal die drei Aufgaben

Ubung

1. Arbeiten Sie sich durch die Funktionalapplikationen und β-Konversionendie fur die Analyse von (6) verwendet werden.

(6) Vincent loves Mia.

Stellen Sie sicher, dass sie die semantische Reprasentation de transitivenVerbs verstehen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 105/279

Computational Semantics

Der Lambda-Kalkul

Der Lambda-Kalkul in Prolog

Der Lambda-Kalkul in Prolog

Wir mussen drei Sachen tun:

Schritt 1 : Eine Reprasentation fur Lambda-Ausdrucke in Prolog finden.Einfach – Wir machen es so:

lam(X,F)

Schritt 2 : Wir mussen Funktionalapplikation in Prolog reprasentieren.Auch einfach:

app(Functor,Argument)

Schritt 3 : Wir mussen α-Konversion implementieren.

Schritt 4 : Wir mussen β-Konversion implementieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 106/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Das Top-Level-Pradikat

Alpha-Konversion in Prolog: Das Top-Level-Pradikat

Das Top-Level-Pradikat:

alphaConvert(F1,F2):-

alphaConvert(F1,[],F2).

Das mittlere Argument ist ein Stack fur Substitutionen.Diese werden sub(X,Y) geschrieben,was bedeutet, daß Variable X die Variable Y ersetzt.

Die Idee ist, daß man F1 durchsucht und fur alle gebundenen Variablendie benotigte Substitution auf dem Stack mitschreibt.

Wenn wir auf der Stufe der Variablen angekommen sind,fuhren wir die Substitution durch.

Zu Beginn ist der Stack (wie man oben sieht) leer.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 107/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Variablen

Variablen

alphaConvert(X,Subs,Y):-

var(X),

(

memberList(sub(Z,Y),Subs),

X==Z, !

;

Y=X

).

Das bedeutet: Wenn der zu konvertierende Ausdruck eine Variable istund es eine passende Substitution gibt, fuhre sie durch,und nimm diese Entscheidung nie zuruck (X==Z, !);ansonsten gib dieselbe Variable zuruck (X=Y)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 108/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Der Existenzquantor

Der Existenzquantor

alphaConvert(Expression,Subs,some(Y,F2)):-

nonvar(Expression),

Expression = some(X,F1),

alphaConvert(F1,[sub(X,Y)|Subs],F2).

Das bedeutet: Wenn wir einen Ausdruck mit Existenzquantor finden,mache eine Notiz uber die benotigte Substitution(d. h. tue sie auf den Stack),und fuhre die Alpha-Konversion der Matrix des Ausdrucks durch.

Das Ergebnis der Konversion ist das Ergebnis der Konversion der MatrixF1 und die neue Variable.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 109/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Der Allquantor

Der Allquantor

Allquantoren und Lambdas werden analog behandelt:

alphaConvert(Expression,Subs,all(Y,F2)):-

nonvar(Expression),

Expression = all(X,F1),

alphaConvert(F1,[sub(X,Y)|Subs],F2).

alphaConvert(Expression,Subs,lam(Y,F2)):-

nonvar(Expression),

Expression = lam(X,F1),

alphaConvert(F1,[sub(X,Y)|Subs],F2).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 110/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Andere Operatoren

Andere Operatoren

alphaConvert(F1,Subs,F2):-

nonvar(F1),

\+ F1 = some( , ),

\+ F1 = all( , ),

\+ F1 = lam( , ),

compose(F1,Symbol,Args1),

alphaConvertList(Args1,Subs,Args2),

compose(F2,Symbol,Args2).

Das bedeutet: Wenn alle anderen Falle nicht zutreffen,wandle den Ausdruck in das Operatorsymbol und eine Liste um,wende die Alpha-Konversion auf die Liste der Argumente an undwandle dann die alpha-kovertierte Liste wieder in einen Ausdruck um.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 111/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Alpha-Konversion einer Liste von Ausdrucken

Alpha-Konversion einer Liste von Ausdrucken

Die benotigte Rekursion fur die Listenkonvertierung entspricht denStandard-Verfahren:

alphaConvertList([],_,[]).

alphaConvertList([X|L1],Subs,[Y|L2]):-

alphaConvert(X,Subs,Y),

alphaConvertList(L1,Subs,L2).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 112/279

Der Lambda-Kalkul in Prolog

Alpha-Konversion in Prolog

Alpha-Konversion einer Liste von Ausdrucken

Demo

• Lade betaConversion.pl

• alphaConvert(lam(X,app(X,mia)),Converted).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 113/279

Der Lambda-Kalkul

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

Abschnitt 3: Lambda-Kalkul (II)

• Nach der α-Konversion beschaftigen wir uns nun mit derImplementation der β-Konversion in Prolog.

• Außerdem diskutieren wir grammar engineering undwie die Programme, die wir in diesem Kurs verwenden, organisiert sind.

• Demos:• betaConversion.pl• lambda.pl

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 114/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

Grundideen

Grundideen

Grundideen:

• Wir verwenden einen Stack zur Verwaltung der Applikationen.

• Applikationen pushen Ausdrucke auf den Stack.

• Abstraktionen poppen Ausdrucke vom Stack.

Klausel, die einen leeren Stack einfuhrt:

betaConvert(X,Y):-

betaConvert(X,Y,[]).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 115/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

Variable

Variable

Eine Variable bleibt unverandert:

betaConvert(X,Y,[]):-

var(X),

Y=X.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 116/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

Applikation

Applikation

betaConvert(Expression,Result,Stack):-

nonvar(Expression),

Expression = app(X,Y),

nonvar(X),

alphaConvert(X,C),

betaConvert(C,Result,[Y|Stack]).

Die Applikation ist eine Anweisung, das Argument auf den Stack zutunund den Funktor nach erfolgter α-Konversion weiter zu reduzieren.

Das Ergebnis der Reduktion des Funktors ist das Gesamtergebnis.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 117/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

λ-Abstraktion

λ-Abstraktion

betaConvert(Expression,Result,[X|Stack]):-

nonvar(Expression),

Expression = lam(X,Formula),

betaConvert(Formula,Result,Stack).

λ-Abstraktion ist eine Anweisung, eine Element vom Stack zu nehmen unddie λ-abstrahierte Variable mit diesem Element zu unifizieren.

Die β-Konversion der Formel ergibt das Ergebnis der β-Konversion desgesamten Ausdrucks.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 118/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

Andere Falle

Andere Falle

betaConvert(Formula,Result,[]):-

nonvar(Formula),

\+ (Formula = app(X, ), nonvar(X)),

compose(Formula,Functor,Formulas),

betaConvertList(Formulas,ResultFormulas),

compose(Result,Functor,ResultFormulas).

Alle anderen Falle (Stack leer, also keine λ-Abstr) werden behandelt,indem die Formel in Funktor und Argumente (Formulas) zerlegt wird, diedann selbst β-konvertiert und anschließend zum Ergebniszusammengebaut werden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 119/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

β-Konversion einer Liste

β-Konversion einer Liste

Konvertierung einer Liste von Ausdrucken mittels Prolog-Recursion:

betaConvertList([],[]).

betaConvertList([Formula|Others],[Result|ResultOthers]):-

betaConvert(Formula,Result),

betaConvertList(Others,ResultOthers).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 120/279

Der Lambda-Kalkul in Prolog

β-Konversion in Prolog

β-Konversion einer Liste

Demo

• Lade betaConversion.pl

• betaConvert(app(lam(P,app(P,mia)),lam(X,walk(X))),X).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 121/279

Computational Semantics

Der Lambda-Kalkul

Grammar Engineering

Grammar Engineering

• Die explizite Kenntlichmachung der Funktionalapplikation und dieImplementation der β-Konversion sind grundlegende Werkzeuge,mit denen wir in diesem Kurs arbeiten werden.

• Es ist an der Zeit, eine großere Grammatik zu entwickeln undanzufangen, Computational Semantics im Detail zu studieren.

• Aber wenn wir das tun, sollten wir versuchen,wichtige Grundsatze der Grammatikentwicklung zu beachten.

• Unsere Grammatik sollte folgende Eigenschaften haben:• modular• erweiterbar• wiederverwendbar

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 122/279

Der Lambda-Kalkul

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Grammatikarchitektur mit vier Ebenen

• die Syntaxregeln (Prolog DCGs)

• die Semantikregeln (ein Gegenstuck zu den Syntaxregeln)

• das Lexikon (ein Wortverzeichnis)

• die semantischen Makros(semantische Reprasentationen fur die Lexikoneintrage)

Syntaxregeln und Lexikon bleiben fur den Rest des Kurses unverandert.

Die semantischen Regeln und die semantischen Makros sind die Ebenen,die verandert werden, wenn wir im folgenden an der Semantik arbeiten.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 123/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Syntaxregeln

Die Syntaxregeln

s([coord:no,sem:Sem])-->

np([coord:_,num:Num,sem:NP]),

vp([coord:_,inf:fin,num:Num,sem:VP]),

{combine(s:Sem,[np:NP,vp:VP])}.

• Keine Koordination• Numerus von Subjekts-NP und VP stimmt uberein. (Person fehlt . . . )• Flexion (Inflection) der VP ist finit.• Die Kombination der Semantik wird mittels combine/2 erledigt.

Wie die semantische Information im Baum nach oben gereicht wird,wird durch semantische Regeln (Instanzen von combine/2) spezifiziert.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 124/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Syntaxregeln

Die Syntaxregeln: Coordination

np([coord:yes,num:pl,sem:NP])-->

np([coord:no,num:sg,sem:NP1]),

coord([type:conj,sem:C]),

np([coord:_,num:_,sem:NP2]),

{combine(np:NP,[np:NP1,coord:C,np:NP2])}.

np([coord:yes,num:sg,sem:NP])-->

np([coord:no,num:sg,sem:NP1]),

coord([type:disj,sem:C]),

np([coord:_,num:sg,sem:NP2]),

{combine(np:NP,[np:NP1,coord:C,np:NP2])}.

• Man muß Linksrekursion (X → X Y) ausschließen, sonst bekommt manProbleme mit dem Prolog-Parser.

• Binares Merkmal coord hilft dabei.• Konjunktive Verknupfung zweier NPen ist Plural,

disjunktive Verknupfung zweier Singular NPen bleibt Singular.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 125/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Syntaxregeln

Die Syntaxregeln: Lexikonzugriff

Lexikonregeln werden auf Terminalsymbole angewendet (die Worter in der Eingabe desParsers) und mussen im Lexikon nachsehen, ob ein Wort zu der syntaktischen Kategoriegehort, nach der gerade gesucht wird.

noun([sem:Sem])-->

{lexEntry(noun,[symbol:Symbol,syntax:Word,_])},

Word

{semLex(noun,[symbol:Symbol,sem:Sem])}.

Wir suchen im Lexikon mittels lexEntry nach Symbolen, die noun sind, die Information,daruber, wie das Symbol geschrieben wird (Word), benutzen wir zum Parsen und berechnendann mit semLex den semantischen Beitrag (Sem) unter Zuhilfename des Symbols.

Fur jede lexikalische Kategorie gibt es solch ein Makro,wodurch wir von spezifischen Typen von Strukturen abstrahieren konnen.

Unsere Syntaxregeln sind also unabhangig von der semantischen Theorie,mit der wir arbeiten wollen!

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 126/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die semantischen Regeln

Die semantischen Regeln

Die benotigten semantischen Annotationen fur unsere Implementation desλ-Kalkuls sind einfach; sie entsprechen der Anweisung, den Funktor aufdas Argument anzuwenden und werden mittels app ausgedruckt:

combine(np1:app(A,B),[det:A,n2:B]).

combine(n2:app(app(B,A),C),[n1:A,coord:B,n1:C]).

combine(np1:A,[pn:A]).

Da combine/3 uns eine extreme Flexibilitat fur die Implementationder Semantikkonstruktion gibt, konnen wir naturlich β-Konversion auchdirekt anwenden:

combine(s1:Converted,[np2:A,vp2:B]):-

betaConvert(app(A,B),Converted).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 127/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Lexikoneintrage

Lexikoneintrage

Lexikoneintrage haben die folgende Form:

lexicon(Cat,Features)

dabei ist

• Cat die syntaktische Kategorie,

• Features Liste von Attribut-Wert-Paaren

Die Eintrage fur Nomina, Eigennamen, Adjektive sind z. B. :

lexEntry(noun,[symbol:burger,syntax:[burger]]).

lexEntry(pn,[symbol:mia,syntax:[mia]]).

lexEntry(pn,[symbol:vincent,syntax:[vincent,vega]]).

lexEntry(adj,[symbol:big,syntax:[big]]).

Man beachte die Behandlung von Mehrwortlexemen (Vincent Vega).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 128/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Lexikoneintrage

Determinatoren

Andere Eintrage enthalten andere Merkmale, z. B. haben QunatorenInformation uber Modus und die Art der Qunatifikation:

lexEntry(det,[syntax:[every],mood:decl,type:uni]).

lexEntry(det,[syntax:[a],mood:decl,type:indef]).

lexEntry(det,[syntax:[the],mood:decl,type:def]).

lexEntry(det,[syntax:[which],mood:int,type:wh]).

Es gibt kein Merkmal symbol. Wieso? Beitrag von Qunatoren ist nichtuber ein einfaches Relationssymbol zu charakterisieren. Beitrag ist einkomplexes, theorieabhangiges Gebilde. Wird in den semantischen Makrosgemacht.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 129/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Lexikoneintrage

Verben

Merkmal fur Verbflexion und Numerus (Person wird eigentlich auch nochgebraucht):

lexEntry(tv,[symbol:clean,syntax:[clean],inf:inf,num:sg]).

lexEntry(tv,[symbol:clean,syntax:[cleans],inf:fin,num:sg]).

lexEntry(tv,[symbol:clean,syntax:[clean],inf:fin,num:pl]).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 130/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Die Lexikoneintrage

Hilfsverben

Zusatzliches Merkmal fur Polaritat:

lexEntry(av,[syntax:[does],inf:fin,num:sg,pol:pos]).

lexEntry(av,[syntax:[does,not],inf:fin,num:sg,pol:neg]).

lexEntry(av,[syntax:[did],inf:fin,num:sg,pol:pos]).

lexEntry(av,[syntax:[did,not],inf:fin,num:sg,pol:neg]).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 131/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Semantische Makros

Semantische Makros fur Eigennamen, Nomina, transitiveVerben

Semantische Makros spezifizieren die lexikalische Semantik:

semLex(pn,M):-

M = [symbol:Sym,

sem:lam(U,app(U,Sym))].

semLex(noun,M):-

M = [symbol:Sym,

sem:lam(X,Formula)],

compose(Formula,Sym,[X]).

semLex(tv,M):-

M = [symbol:Sym,

sem:lam(K,lam(Y,app(K,lam(X,Formula))))],

compose(Formula,Sym,[Y,X]).c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 132/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Semantische Makros

Semantische Makros fur Determinatoren

semLex(det,M):-

M = [type:uni,

sem:lam(U,lam(V,all(X,imp((app(U,X)),(app(V,X))))))].

semLex(det,M):-

M = [type:indef,

sem:lam(U,lam(V,some(X,and((app(U,X)),(app(V,X))))))].

semLex(det,M):-

M = [type:indef,

sem:lam(U,lam(V,some(X,and(app(U,X),app(V,X)))))].

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 133/279

Grammar Engineering

Grammatikarchitektur mit vier Ebenen

Semantische Makros

Das Toplevel-Pradikat

lambda :-

readLine(Sentence),

lambda(Sentence,Sems),

printRepresentations(Sems).

Lies einen Satz ein, rufe lambda/2 auf undgib das Ergebnis graphisch aufbereitet aus.

Dabei ist lambda/2 wie folgt definiert:

lambda(Sentence,Sems):-

setof(Sem,t([sem:Sem],Sentence,[]),Sems).

Finde alle Losungen fur t([sem:Sem],Sentence,[]).Liefere eine Liste der jeweiligen Sem-Werte in Sems.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 134/279

Der Lambda-Kalkul

Grammar Engineering

Demo

Demo

Lade lambda.pl

(7) a. Butch growls

b. Every boxer growls.

c. Mia knows a boxer.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 135/279

Computational Semantics

Skopusambiguitaten

Abschnitt 4: Skopusambiguitaten

• Wir diskutieren das Problem der Skopusambiguitaten(hauptsachlich Ambiguitaten in bezug auf Quantorenskopus)und suchen Moglichkeiten sie computerverarbeitbar zu machen.

• Wir diskutieren zuerst Montagues Trick (quantifier raising).

• Von dort kommen wir ganz naturlich zum Cooper Storage und zumKeller Storage. Wir implementieren beide Ansatze in Prolog.

• Zum Schluß lernen wir etwas uber moderneUnterspezifikationsansatze.

• Demos:• cooperStorage.pl

• kellerStorage.pl

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 136/279

Computational Semantics

Skopusambiguitaten

Ambiguitaten bei Quantorenskopus

Ambiguitaten in bezug auf Quantorenskopus

Satze mit Quantoren haben mehrere Interpretationen (Lesarten), z. B. :

(8) a. Mia told a joke in every episode. (2 Lesarten)

b. Most actors tell a joke in every film. (5 Lesarten)

Der Kontext hilft bei der Desambiguierung:

(9) A cyclist is hit by a bus every day in Helsinki.He doesn’t appreciate it very much.

Wie funktioniert unsere bisher entwickelte Methode derSemantikkonstruktion fur den folgenden Satz?

(10) Every boxer loves a woman. (2 Lesarten)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 137/279

Computational Semantics

Skopusambiguitaten

Ambiguitaten bei Quantorenskopus

Every boxer loves a woman (S)

∀x(boxer(x)→ ∃y(woman(y)∧love(x,y)))

Every boxer (NP)

λP.∀x(boxer(x)→P@x)

loves a woman (VP)

λz.∃y(woman(y)∧love(z,y))

loves (TV)

λX.λz.X@λx.love(z,x)

a woman (NP)

λQ.∃y(woman(y)∧Q@y)

Every boxer loves a woman hat aber noch eine zweite Bedeutung:

∃y(woman(y) ∧ ∀x(boxer(x) → love(x,y)))

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 138/279

Computational Semantics

Skopusambiguitaten

Ambiguitaten bei Quantorenskopus

Ist das wirklich ein Problem?

Betrachten wir noch einmal Every boxer loves a woman.

• In einem bestimmten Sinn ist die erste Reprasentation fur beideLesarten ausreichend, da sie die zweite Lesart enthalt.

• Das macht die starkere Reprasentation uberflussig:Vielleicht kann sie mit Hilfe von Kontextwissenpragmatisch aus der ersten Reprasentation erschlossen werden.

Brauchen wir also wirklich Techniken,um mit dem Quantorenskopus fertig zu werden?

Brauchen wir:

• Die direkte Konstruktion ergibt nicht immer die schwachste Lesart.

• Quantorenskopus fuhrt nicht immer zu logisch unabhangigen Lesarten.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 139/279

Computational Semantics

Skopusambiguitaten

Ambiguitaten bei Quantorenskopus

Every owner of a hash bar gives every criminal a big kahuna burger(15 Lesarten, 11 Gruppen logisch aquivalenter Lesarten)

daVinci

V2.

1

10

13 8

9

5

2

3

6

15 1

4

Gabsdil und Striegnitz, 1999

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 140/279

Computational Semantics

Skopusambiguitaten

Ambiguitaten bei Quantorenskopus

Every owner of a hash bar gives every criminal a big kahuna burgerNode 1: (Lesart 1)1:∀A(criminal(A)&male(A)→∃B(bkburger(B)&(neuter(B)&∀C(∀D(hashbar(D)&(neuter(C)&(neuter(D)&(owner(C)&of(C,D))))→give(C,A,B))))))

Node 2: (Lesart 2)2:∀A(criminal(A)&male(A)→∃B(∃C(bkburger(C)&(hashbar(B)&(neuter(B)&(neuter(C)&∀D(neuter(D)&(owner(D)&of(D,B))→give(D,A,C))))))))

Node 3: (Lesart 3)3:∀A(criminal(A)&male(A)→∃B(hashbar(B)&(neuter(B)&∀C(neuter(C)&(owner(C)&of(C,B))→∃D(bkburger(D)&(neuter(D)&give(C,A,D)))))))

Node 4: (Lesart 4 and 14)4:∀A(criminal(A)&male(A)→∀B(∀C(hashbar(C)&(neuter(B)&(neuter(C)&(owner(B)&of(B,C))))→∃D(bkburger(D)&(neuter(D)&give(B,A,D))))))14:∀A(∀B(hashbar(B)&(neuter(A)&(neuter(B)&(owner(A)&of(A,B))))→∀C(criminal(C)&male(C)→∃D(bkburger(D)&(neuter(D)&giveA(C,D))))))

Node 5: (Lesart 5)5:∃A(bkburger(A)&(neuter(A)&∀B(criminal(B)&male(B)→∃C(hashbar(C)&(neuter(C)&∀D(neuter(D)&(owner(D)&of(D,C))→give(D,B,A)))))))

Node 6: (Lesart 6 and 7)6:∃A(bkburger(A)&(neuter(A)&∀B(criminal(B)&male(B)→∀C(∀D(hashbar(D)&(neuter(C)&(neuter(D)&(owner(C)&of(C,D))))→give(C,B,A))))))7:∃A(bkburger(A)&(neuter(A)&∀B(∀C(hashbar(C)&(neuter(B)&(neuter(C)&(owner(B)&of(B,C))))→∀D(criminal(D)&male(D)→give(B,D,A))))))

Node 8: (Lesart 8)8:∃A(hashbar(A)&(neuter(A)&∀B(criminal(B)&male(B)→∃C(bkburger(C)&(neuter(C)&∀D(neuter(D)&(owner(D)&of(D,A))→give(D,B,C)))))))

Node 9: (Lesart 9 and 12)9:∃A(hashbar(A)&(neuter(A)&∀B(criminal(B)&male(B)→∀C(neuter(C)&(owner(C)&of(C,A))→∃D(bkburger(D)&(neuter(D)&give(C,B,D)))))))12:∃A(hashbar(A)&(neuter(A)&∀B(neuter(B)&(owner(B)&of(B,A))→∀C(criminal(C)&male(C)→∃D(bkburger(D)&(neuter(D)&give(B,C,D)))))))

Node 10: (Lesart (10 and 11)10:∃A(∃B(bkburger(B)&(hashbar(A)&(neuter(A)&(neuter(B)&∀C(criminal(C)&male(C)→∀D(neuter(D)&(owner(D)&of(D,A))→give(D,C,B))))))))11:∃A(∃B(bkburger(B)&(hashbar(A)&(neuter(A)&(neuter(B)&∀C(neuter(C)&(owner(C)&of(C,A))→∀D(criminal(D)&male(D)→give(C,D,B))))))))

Node 13: (Lesart 13)13:∃A(hashbar(A)&(neuter(A)&∀B(neuter(B)&(owner(B)&of(B,A))→∃C(bkburger(C)&(neuter(C)&∀D(criminal(D)&male(D)→give(B,D,C)))))))

Node 15: (Lesart 15)15:∀A(∀B(hashbar(B)&(neuter(A)&(neuter(B)&(owner(A)&of(A,B))))→∃C(bkburger(C)&(neuter(C)&∀D(criminal(D)&male(D)→give(A,D,C))))))

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 141/279

Computational Semantics

Skopusambiguitaten

Montagues Ansatz

Montagues Ansatz

• Quantifikationsregel (Quantorenanhebung Quantifier Raising)

• Verwende ein”indiziertes Pronomen“

statt der Nominalphrase mit Quantor fur die Kombination.

• Indizierte Pronomina sind Platzhalter fur quantifizierende NPen.

• Wenn der Platzhalter fur die erwunschte Lesart hoch genug im Baumist, konnen wir ihn durch die quantifizierende NP ersetzen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 142/279

Computational Semantics

Skopusambiguitaten

Montagues Ansatz

Montagues Ansatz (Quantorenanhebung)

Every boxer loves a woman (S)

∃y(woman(y) & ∀x(boxer(x)→love(x,y)))

a woman (NP)

λP.∃y(woman(y) & P@y)

Every boxer loves her-3 (S)

λz3.∀x(boxer(x)→love(x,z3))

Every boxer (NP)

λP.∀x(boxer(x)→P@x)

loves her-3 (VP)

λy.love(y,z3)

loves (TV)

λX.λy.X@λx.love(y,x)

her-3 (NP)

λP.P@z3

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 143/279

Computational Semantics

Skopusambiguitaten

Montagues Ansatz

Anmerkungen zu Montagues Ansatz

• Die Grundidee ist gut.Insbesondere die Idee, daß wir eine Platzhalterreprasentation benutzen,die bei Bedarf umgewandelt werden kann.Wir werden in Kurze weitere solche Ansatze kennenlernen.

• Aber die Art und Weise, wie diese Idee umgesetzt wurde, ist schlecht.Wir brauchen dazu besondere Grammatikregeln.Wir wollen aber nicht die Grammatik verandern, sondern existierendeGrammatiken fur die Semantikkonstruktion verwenden.

• Speicheransatze, die wir uns jetzt ansehen werden, verschieben dieHauptkomponente aus Montagues Ansatz von der Syntax in dieKomponente zur Semantikkonstruktion, also dahin, wo sie hingehort.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 144/279

Computational Semantics

Skopusambiguitaten

Cooper Storage

Cooper Storage

Hauptideen:

• Verbinde jeden Knoten in einem Parse-Baum mit einem Speicher.

• Ein Speicher enthalt eine semantische Kernreprasentation undQuantoren, die zu tiefer im Baum liegenden Knoten gehoren.

• Nachdem ein Satz geparst wurde, wird der Speicher benutzt,um die geskopten Reprasentationen zu erzeugen.

• Die Reihenfolge, in der die Elemente aus dem Speicher genommenwerden, bestimmt die verschiedenen Skopus.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 145/279

Skopusambiguitaten

Cooper Storage

Die formale Reprasentation des Speichers

Die formale Reprasentation des Speichers

• Ein Speicher ist eine n-stellige Sequenz.

• Speicher werden durch die spitzen Klammern ‘〈’ und ‘〉’ reprasentiert.

• Das erste Element der Sequenz ist die semantische Kernreprasentation.

• Folgende Elemente sind Paare der Form (β, i),wobei β die semantische Reprasentation einer NP ist(d. h. ein weiterer λ-Ausdruck) und i ein Index ist.

• Ein Index ist eine Markierung (label), die einer freien Variablen in dersemantischen Kernreprasentation entspricht.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 146/279

Skopusambiguitaten

Cooper Storage

Die Speicherregel

Die Speicherregel

• Wie benutzen wir Speicher fur die Semantikkonstruktion?

• Quantifizierte Nominalphrasen durfen die Information im Speicher‘umpacken’.

Genauer:

Storage (Cooper)Wenn der Speicher 〈φ, (β, j), . . . , (β′, k)〉 eine semantischeReprasentation fur eine quantifizierte NP ist,dann ist der Speicher 〈λP.P@zi ,(φ, i), (β, j), . . . , (β

′, k)〉,wobei i ein eindeutiger Index ist,ebenfalls eine Reprasentation fur diese NP.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 147/279

Skopusambiguitaten

Cooper Storage

Ein Beispiel

Every boxer loves a woman (S)

〈love(z6,z7), (λP.∀x(boxer(x)→P@x),6), (λP.∃y(woman(y)∧P@y),7)〉

Every boxer (NP)

〈λQ.Q@z6, (λP.∀x(boxer(x)→P@x),6)〉

loves a woman (VP)

〈λu.love(u,z7), (λP.∃y(woman(y)∧P@y),7)〉

loves (TV)

〈λX.λu.X@λv.love(u,v)〉a woman (NP)

〈λQ.Q@z7, (λP.∃y(woman(y)∧P@y),7)〉

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 148/279

Skopusambiguitaten

Cooper Storage

Retrieval

Herausnehmen (Retrieval) (I)

Wir wollen normale gescopte Reprasentationen erster Stufe!

Wie bekommen wir die?

• Nimm einen der indexbindenden Operatoren aus dem Speicher.

• Kombiniere ihn mit der Kernreprasentation.

• Das Resultat ist eine neue Kernreprasentation.

• Wiederhole diese Schritte bis der Speicher ein Element enthalt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 149/279

Skopusambiguitaten

Cooper Storage

Retrieval

Retrieval (II)

Genauer:

Retrieval (Cooper)Sei σ1 und σ2 eine (evtl. leere) Sequenz von Bindungsoperatoren.Wenn der Speicher 〈φ, σ1, (β, i), σ2〉 mit einem Ausdruck derKategorie S assoziiert wird, dann ist der Speicher 〈β@λzi .φ, σ1, σ2〉ebenfalls mit diesem Ausdruck assoziiert.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 150/279

Skopusambiguitaten

Cooper Storage

Retrieval

Unser Beispiel

〈love(z6,z7), (λP.∀x(boxer(x)→P@x),6), (λP.∃y(woman(y)∧P@y),7)〉Wende Retrieval-Regel auf den Speicher an, der zum S-Knoten gehort:

〈 λP.∀x(boxer(x)→P@x)@λz6.love(z6,z7), (λP.∃y(woman(y)∧P@y),7)〉Nach β-Konversion entspricht das:

〈 ∀x(boxer(x)→love(x,z7)), (λP.∃y(woman(y)∧P@y),7)〉Herausnehmen das Quantors im Speicher:

〈 λP.∃y(woman(y)∧P@y)@λz7.∀x(boxer(x)→love(x,z7))〉Ergebnis nach erneuter β-Konversion:

〈∃y(woman(y)∧∀x(boxer(x)→love(x,y)))〉Wie kriegen wir die andere Lesart?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 151/279

Skopusambiguitaten

Cooper Storage

Cooper Storage in Prolog

Cooper Storage in Prolog

Speicher werden als Listen reprasentiert.

Das erste Element ist ein Lambda-Ausdruck,der Rest eine Liste von Bindungsoperatoren:

[walk(X),bo(lam(P,all(Y,imp(boxer(Y),app(P,X)))),X)].

Wir arbeiten mit Speichern, also mussen auch Lexikoneintrage mitSpeichern verknupft werden.

Mussen sagen, wie Speicher verknupft werden,und dafur sorgen, daß alle Retrievals ausprobiert werden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 152/279

Cooper Storage

Cooper Storage in Prolog

Lexikoneintrage

Lexikoneintrage

Bisher:

semLex(iv,M) :-

M = [symbol:Sym,

sem:lam(X,Formula)],

compose(Formula,Sym,[X]).

Jetzt:

semLex(iv,M) :-

M = [symbol:Sym,

sem:[lam(X,Formula)]],

compose(Formula,Sym,[X]).

Nur die Klammerung des Ausdrucks ist neu.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 153/279

Cooper Storage

Cooper Storage in Prolog

Kombinationsregeln

Kombinationsregeln (I)

Bisher:

combine(vp:app(A,B),[tv:A,np:B]).

Jetzt:

combine(vp:[app(A,B)|S],[tv:[A],np:[B|S]]).

Das ist einfach, aber . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 154/279

Cooper Storage

Cooper Storage in Prolog

Kombinationsregeln

Kombinationsregeln (II)

Manchmal mussen wir verschiedene Speicher verknupfen.Z. B. bei Koordination:

combine(np:[app(app(B,A),C)|S3],[np:[A|S1],coord:[B],np:[C|S2]]):-

appendLists(S1,S2,S3).

Aber noch interessanter sind die Determinatorregeln und die Satzregeln.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 155/279

Cooper Storage

Cooper Storage in Prolog

Kombinationsregeln

Determinator und Nomen

• Fur Determinator-Nomen-Kombinationen gibt es die Moglichkeit,Dinge auf den Speicher zu tun oder normal weiterzumachen.

• Erste Regel legt quantifizierte NP auf den Speicher:combine(np:[lam(P,app(P,X)),bo(app(A,B),X)|S],[det:[A],n:[B|S]]).

• Die zweite fuhrt Funktionalapplikation durch:combine(np:[app(A,B)|S],[det:[A],n:[B|S]]).

• Anmerkung: Speichern ist optional!Es gibt zwei Semantikregeln fur eine Syntaxregel.

• Optionalitat fuhrt zu 5 Lesarten fur:

(11) Every boxer loves a woman.

(Beide nicht speichern = 1, jeweils eine speichern = 2,beide speichern und verschieden herausnehmen = 2)

• Filter fur alphabetische Varianten

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 156/279

Cooper Storage

Cooper Storage in Prolog

Kombinationsregeln

Satzregel

Bei der Satzregel muß das Retrieval stattfinden.

combine(s:S,[np:[A|S1],vp:[B|S2]]):-

appendLists(S1,S2,S3),

sRetrieval([app(A,B)|S3],Retrieved),

betaConvert(Retrieved,S).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 157/279

Cooper Storage

Cooper Storage in Prolog

Retrieval

Retrieval

• SRetrieval = erstes Argument ist der Speicher, zweites die geskopteReprasentation

• Wenn der Speicher nur ein Element enthalt, dann ist das dieskopusaufgeloste Formel:sRetrieval([S],S).

• Ansonsten:sRetrieval([Sem|Store],S):-

selectFromList(bo(Q,X),Store,NewStore),

sRetrieval([app(Q,lam(X,Sem))|NewStore],S).

Nimm ein Element aus dem Speicher,λ-abstrahiere Sem in Bezug auf die Variable aus dem Speicher undfuhre Applikation durch.Wende dann sRetrieval auf das Ergebnis zusammen mit NewStore an.selectFromList kann irgendein Element aus dem Speicher nehmen →kriegen alle Moglichkeiten.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 158/279

Cooper Storage

Cooper Storage in Prolog

Das Top-Level-Pradikat

Das Top-Level-Pradikat

cooperStorage:-

readLine(Sentence),

setof(Sem,t([sem:Sem],Sentence,[]),Sems1),

filterAlphabeticVariants(Sems1,Sems2),

printRepresentations(Sems2).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 159/279

Cooper Storage

Cooper Storage in Prolog

Alphabetische Varianten

Alphabetische Varianten

filterAlphabeticVariants(L1,L2):-

selectFromList(X,L1,L3),

memberList(Y,L3),

alphabeticVariants(X,Y), !,

filterAlphabeticVariants(L3,L2).

filterAplhabeticVariants(L,L).

Nimm ein Element X aus L1 und gebe L3 als Rest zuruck, nimm einElement Y aus L3. Wenn X und Y Varianten voneinander sind,erklare die Wahl von X fur endgultigund arbeite mit L3, der Liste, die X nicht enthalt, weiter.

Wenn X und Y keine Varianen voneinander sind, wahle ein neues Y bzw.wenn das nicht hilft, ein neues X.

Wenn das nicht zum Auffinden neuer Varianten fuhrt, sind wir fertig.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 160/279

Skopusambiguitaten

Cooper Storage

Ubungsaufgaben

Ubungsaufgaben3.3.2 Wieviele geskopte Reprasentationen werden fur (12) berechnet:

(12) Every piercing that is done with a needle is okay.

Dabei soll is done with als zweistelliges und okay als einstelliges Pradikat analysiert werden. Sind alleReprasentationen korrekt?

3.3.3 Erweitern Sie die Analyse um ditransitive Verben, und uberprufen Sie, wie viele Lesarten es fur den Satz(13) gibt:

(13) A boxer gives every woman a foot massage.

Sind das die Lesarten, die Sie erwarten wurden?3.3.4 Warum sollte Storage optional sein? Denken Sie daruber nach, wie quantifizierte NPen mit Negation

interagieren? Denken Sie z. B. uber die mogliche Lesarten von (14) nach:

(14) Ecery boxer doesn’t love a woman.

Wieviele Lesarten hat dieser Satz? Wie viele Lesarten bekommen wir mit Cooper-Storage, wenn Storageoptional ist? Und wenn Storage nicht optional ist?

3.3.5 Manche Theorien in bezug auf Quantorenskopus nehmen an, daß quantifizierte NPen aus Relativsatzennicht herausskopen konnen. Z. B. gibt es fur die komplexe Nominalphrase a woman that knows every boxerkeine Lesart, in der every boxer Skopus uber a woman hat. Andern Sie die semantische Regel furRelativsatze, so daß quantifizierte NPen nur innerhalb von Relativsatzen Skopus haben konnen. DieAnderungen mussen in der Datei semRulesCooper.pl vorgenommen werden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 161/279

Skopusambiguitaten

Keller Storage

Verschachtelte Nominalphrasen

Verschachtelte Nominalphrasen

• Cooper-Storage laßt uns viel Freiheit.

• Wir konnen Quantoren in jeder beliebigen Reihenfolge herausnehmen.

• Das einzige Sicherheitsnetz, das wir haben, sind koindizierte Variablen.

Ist das wirklich sicher?

Every piercing that is done with a gun goes against the entire idea behindit.

Mia knows every owner of a hash bar.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 162/279

Skopusambiguitaten

Keller Storage

Verschachtelte Nominalphrasen

Ein Problem mit verschachtelten Nominalphrasen

Speicher:

〈know(mia,z2), (λP.∀y(owner(y)∧of(y,z1)→P@y),2),

(λQ.∃x(hashbar(x)∧Q@x),1)〉Moglichkeit 1:

〈∀y(owner(y)∧of(y,z1)→know(mia,y)),(λQ.∃x(hashbar(x)∧Q@x),1)〉↓

〈∃x(hashbar(x)∧∀y(owner(y)∧of(y,x)→know(mia,y)))〉Moglichkeit 2 (falschlicherweise freie Variable z1):

〈∃x(hashbar(x)∧know(mia,z2)), (λP.∀y(owner(y)∧of(y,z1)→P@y),2)〉↓

〈∀y(owner(y)∧of(y,z1)→ ∃x(hashbar(x)∧know(mia,y)))〉c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 163/279

Skopusambiguitaten

Keller Storage

Verschachtelte Nominalphrasen

Eine elegante Losung: Verschachtelte Speicher (Bill Keller)

• Speicher konnen andere Speicher enthalten.

• Die Verschachtelungsstruktur der Speicher sollte automatischder Verschachtelung der NPen entsprechen.

• Verschachtelung laßt sich leichter implementieren als ein Test auf freieVariablen.

Die neue Speicherregel:

Storage (Keller)Wenn der (verschachtelte) Speicher 〈φ, σ〉 die Interpretation einer NP ist,dann ist der (verschachtelte) Speicher 〈λP.P@zi ,(〈φ,σ〉,i)〉,wobei i ein eindeutiger Index ist,ebenfalls eine Interpretation fur diese NP.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 164/279

Skopusambiguitaten

Keller Storage

Verschachtelte Nominalphrasen

every owner of a hash bar (NP)

〈λP.P@z2,(〈λP.∀y(owner(y)∧of(y,z1)→P@y),(〈λQ.∃x(hashbar(x)∧Q@x)〉,1)〉,2)〉

every (DET)

〈λQ.λP.∀y(Q@y→P@y)〉

owner of a hash bar (NBAR)

〈λu.owner(u)∧of(u,z1), (〈λQ.∃x(hashbar(x)∧Q@x)〉,1)〉

owner (N)

〈λx.owner(x)〉of a hash bar (PP)

〈λP.λu.P@u∧of(u,z1),(〈λQ.∃x(hashbar(x)∧Q@x)〉,1)〉

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 165/279

Skopusambiguitaten

Keller Storage

Retrieval fur verschachtelte Speicher

Retrieval fur verschachtelte Speicher

Die neue Retrieval-Regel:

Retrieval (Keller)Sei σ, σ1 und σ2 eine (evtl. leere) Sequenz von Bindungsoperatoren.Wenn der verschachtelte Speicher 〈φ, σ1, (〈β, σ〉, i), σ2〉 eineInterpretation fur einen Ausdruck der Kategorie S ist,dann gilt das auch fur 〈β@λzi .φ, σ1, σ, σ2〉.

Diese Regel stellt sicher, daß alle Operatoren,die wahrend der Verarbeitung von β gespeichert wurden,erst nach dem Retrieval von β fur das Retrieval zuganglich werden.

Verschachtlung lost das Problem der Erzeugung von Lesartenmit freien Variablen automatisch.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 166/279

Skopusambiguitaten

Keller Storage

Unser Beispiel

Mia knows every owner of a hash bar (Lesart 1)

Verschachteltet Speicher:〈

know(mia,z2),(〈

λP.∀y(owner(y)∧of(y,z1)→P@y),(〈λQ.∃x(hashbar(x)∧Q@x)〉,1

)〉,2)

Nur eine Moglichkeit fur Retrieval:〈∃x(hashbar(x)∧∀y(owner(y)∧of(y,x)→know(mia,y)))〉c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 167/279

Skopusambiguitaten

Keller Storage

Unser Beispiel

Mia knows every owner of a hash bar (Lesart 2)

every owner of a hash bar (NP)

〈λP.P@z2, (〈λP.∀y(owner(y)∧∃x(hashbar(x)∧of(z,x))→P@y)〉,2)〉

every (DET)

〈λQ.λP.∀x(Q@x→P@x)〉owner of a hash bar (NBAR)

〈λz.owner(z)∧∃x(hashbar(x)∧of(z,x))〉

owner (N)

〈λx.owner(x)〉of a hash bar (PP)

〈λP.λz.P@z∧∃x(hashbar(x)∧of(z,x))〉

(die verschachtelte NP a hashbar wird nicht gespeichert)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 168/279

Skopusambiguitaten

Keller Storage

Unser Beispiel

Mia knows every owner of a hash bar (Lesart 2) II

Wir erhalten die folgende Analyse:

〈know(mia,z2),(〈λP.∀y(owner(y)∧∃x(hashbar(x)∧of(y,x))→P@y)〉,2)〉

Es gibt nur einen Operator im Speicher.

Wenn wir ihn herausnehmen, bekommen wir die gewunschte Lesart:

〈∀y(owner(y)∧∃x(hashbar(x)∧of(y,x))→know(mia,y))〉

Grund-Ideen:

1. Quantoren zu speichern ist eine nicht-deterministische Entscheidung.

2. Verschachtelte Speicher werden fur komplexe NPen benutzt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 169/279

Skopusambiguitaten

Keller Storage

Keller Storage in Prolog

Keller Storage in Prolog

• Nur wenige Anderungen notig

• Index ist Variable, aber Quant ist ein Speicher.bo(Quant,Index)

• Speicher sind Listen, das erste Element ist ein Lambda-Ausdruck,der Rest ist eine Liste von Bindungsoperatoren im Keller-Stil.[walk(X),bo([lam(P,all(Y,imp(boxer(Y),app(P,X))))],X)].

• Mussen nur die beiden NP-Regeln andern:combine(np:[app(A,B)|S],[det:[A],n:[B|S]]).

combine(np:[lam(P,app(P,X)),bo([app(A,B)|S],X)],[det:[A],n:[B|S]]).

• und das Retrieval anpassen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 170/279

Skopusambiguitaten

Keller Storage

Keller Storage in Prolog

Retrieval

sRetrieval([S],S).

sRetrieval([Sem|Store],S):-

selectFromList(bo([Q|NestedStore],X),Store,TempStore),

appendLists(NestedStore,TempStore,NewStore),

sRetrieval([app(Q,lam(X,Sem))|NewStore],S).

Im Unterschied zum Coper Storage,nehmen wir zusatzlich noch die Elemente aus NestedStorein den direkt zuganglichen Store auf.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 171/279

Skopusambiguitaten

Keller Storage

Ubungsaufgaben

Ubungsaufgaben

3.3.6 In Ubung 3.3.4 haben wir gesehen, daß Coper-Storage fur negierteSatze besser funktioniert, wenn Storage optional ist. Erklaren Sie,warum Optionalitat fur Keller-Storage noch wichtiger ist.

3.3.7 Geben Sie PL-1-Reprasentationen fur die funf Lesarten von (15) an.

(15) A man likes every woman with a five-dollar shake.

Beachten Sie, daß es weniger korrekte Lesarten gibt, als diekombinatorischen Moglichkeiten der beteiligten Quantoren (3!=6).Warum ist eine der kombinatorischen Moglichkeiten als Lesartausgeschlossen?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 172/279

Computational Semantics

Skopusambiguitaten

Quantorenspeicher: Schlußfolgerungen

Quantorenspeicher: Schlußfolgerungen

• Die Originalversion des Cooper-Speichers behandelt Speichern undRetrieval nicht diszipliniert genug.

• Deshalb werden sinnlose Reprasentationen fur Satze mit verschachteltenNPen erzeugt.

• Das Problem kann durch die Verwendung geschachtelter Speicher gelostwerden.

• Die Implementierung dieser Idee erfordert nur triviale Veranderungenunseres bisherigen Prolog-Codes.

• Bei der Implementation der Optionalitat muß man sorgfaltig sein,da man sonst evtl. dieselbe Lesart mehrfach erzeugt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 173/279

Skopusambiguitaten

Hole Semantics

Grenzen der Storage-Methoden

Grenzen der Storage-Methoden

• Sie haben nicht die Aussagemachtigkeit, die wir brauchen.

• Das Abspeichern ist eine Technik, die es uns gestattet,alle moglichen Bedeutungen kompakt zu reprasentieren.

• Es gibt uns nicht die Moglichkeit, zusatzliche Beschrankungen(constraints) in bezug auf mogliche Lesarten zu formulieren.

• Das kann man mit den meisten modernen unterspezifiziertenReprasentationen machen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 174/279

Skopusambiguitaten

Hole Semantics

Grenzen der Storage-Methoden

Hole Semantics

• Unterspezifikationsansatze ahneln Speicheransatzen,da Satzen kein Ausdruck in PL 1 zugeordnet wird.

• Statt dessen eine abstrakte Reprasentation(underspecified semantic representation = USR),aus der dann die PL 1-Formel abgeleitet werden kann.

• Eine Hole-Semantics-USR ist eine Menge von Beschrankungen(constraints).

• Alle Formeln, die den Beschrankungen nicht widersprechen,sind Losungen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 175/279

Skopusambiguitaten

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Die Sprache fur unterspezifizierte Reprasentationen

• In diesem Kurs sind die Sprachen fur semantische Reprasentationen(semantic representation language = SRL)immer Sprachen erster Stufe (mit Gleichheit).

• Hole Semantics: Beschrankungen fur SRL-Formeln• Wir entwerfen eine getypte Sprache erster Stufe

(die underspecified representation language = URL),um uber die Struktur der SRL reden zu konnen.

• Das Vokabular der URL enthalt Symbole fur:• Quantoren• logische Verknupfungen• Relationssymbole• Konstanten• Variablen• und ein Spezialsymbol ‘≤’, mit dem man ausdrucken kann,

wie bestimmte Teile der Formeln in Beziehung zueinander stehen konnen.

Damit konnen wir Formel-Baume beschreiben.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 176/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

SRL-Formelbaume

SRL-Formelbaume

snort(mia) ¬

smoke(vincent)

snort(mia) ∨ ¬smoke(vincent)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 177/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Holes und Dominanzbeschrankungen

Holes und Dominanzbeschrankungen

• SRL-Formeln enthalten Platzhalter (Holes = Locher),die mit bestimmten Teilformeln gefullt werden mussen.

• Wir wollen sagen, daß bestimmte Teilformelnbestimmte andere Teilformeln dominieren, d. h. hoher im Baum sind.

• Solche Dominanzbeschrankungen sind Schlusselidee der Hole Semantics:Sie sagen uns, wie die semantische Reprasentation zusammengestopselt(plugged) werden kann.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 178/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Holes und Dominanzbeschrankungen

Was wir erreichen wollen

h0

l1 l4

l1:all(v1,l2) l4:some(v2,l5)

l2:imp(l3,h1) l5:and(l6,h2)

l3:boxer(v1) l6:woman(v2)

l7

l7:love(v1,v2)

Every boxer loves a woman.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 179/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Das Vokabular der URL

Das Vokabular der URL

Angenommen wir haben ein festes Vokabular fur unsere SRL.Dann besteht das Vokabular fur unsere unterspezifizierteReprasentationssprache (URL) fur diese SRL aus folgendem:

1. Die zweistelligen Pradikate :not und ≤.

2. Den dreistelligen Pradikaten :imp, :and, :or, :all, :some und :eq.

3. Außerdem ist jede Konstante im SRL-Vokabular auch eineURL-Konstante. (Z. B. , wenn mia eine SRL-Konstante ist, dann istmia auch eine URL-Konstnate.)

4. Wenn das SRL-Vokabular ein Relationssymbol pred der Stelligkeit nenthalt, dann ist :pred ein n + 1-stelliges URL-Symbol.(Z. B., wenn love ein zweistelliges Symbol in der SRL ist,ist :love eine dreistellige Relation in der URL.)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 180/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Die Typen

Getypte URL

Drei Typen:

• Holes: h, h′, h1, h2, . . .• Labels: l, l′, l1, l2, . . .• Meta-Variablen: v, v′, v1, v2,

Folgende Begriffe:

• Knoten: Hole oder Label• Meta-Term der URL: Meta-Variable oder URL-Konstante

Heißen Meta-Terme, da Meta-Variablen benutzt werden, um uber SRL-Variablenzu reden und URL-Konstanten, um SRL-Konstanten zu reden.

Wir verwenden nicht alle getypten Formeln,die mit diesem Vokabular konstruiert werden konnen,sondern nur die existenziell abgeschlossenen Formeln.

Das sind unsere unterspezifizierten Reprasentationen (URS).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 181/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Die Syntax der URL

Die USRen: Einfache USRen

1. Wenn l ein Label ist und h ein Hole, dann ist l ≤ h eine einfache USR;

2. Wenn l ein Label ist und n und n′ Knoten sind, dann sind l:not(n),l:imp(n,n′), l:and(n,n′) und l:or(n,n′) einfache USRen;

3. Wenn l ein Label ist und t und t ′ Meta-Terme sind,dann ist l:eq(t,t′) eine einfache USR;

4. Wenn l ein Label ist und S ein Symbol der SRL-Sprachemit der Stelligkeit n ist und t1 . . . tn Meta-Terme sind,dann ist l:S(t1,. . . ,tn) eine einfache USR.

5. Wenn l ein Label ist und v ist einen Meta-Variable und n ist ein Holeoder ein Label, dann sind l:some(v,n) und l:all(v,n) einfache USRen.

6. Nichts sonst ist eine einfache USR.

Die Formeln, die durch 2–5 beschrieben werden,werden gelabelte Formeln genannt.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 182/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Die Syntax der URL

Domninanzebeschrankungen l ≤ h

l ≤ h besagt, daß ein Ausdruck h hoher im Baum stehen muß als l .Das Hole h muß das Label l dominieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 183/279

Hole Semantics

Die Sprache fur unterspezifizierte Reprasentationen (URL)

Die Syntax der URL

Die USRen: Komplexe USRen

1. Alle einfachen USRen sind USRen;

2. Wenn φ eine USR und n ein Knoten ist, dann ist ∃nφ eine USR;

3. Wenn φ eine USR und v eine Meta-Variable ist, dann ist ∃vφ eine USR;

4. Wenn φ und ψ USRen sind, dann ist (φ ∧ ψ) eine USR;

5. Nichts sonst ist eine USR.

Wir verwenden nur existenziell abgeschlossene konjunktive Formeln.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 184/279

Skopusambiguitaten

Hole Semantics

Ein Beispiel

Ein Beispiel

(16) Every boxer loves a woman.

Die USR ist:

∃l1∃l2∃v1(l1:all(v1,l2) ∧ ∃l3∃h1(l2:imp(l3,h1) ∧ l3:boxer(v1)∧ ∃l4∃l5∃v2(l4:some(v2,l5) ∧ ∃l6∃h2(l5:and(l6,h2) ∧ l6:woman(v2)∧ ∃l7(l7:love(v1,v2) ∧ l7≤h1 ∧ l7≤h2 ∧ ∃h0(l1≤h0 ∧ l4≤h0)))))).

Das ist nicht sehr lesbar, aber man kann die Quantoren voranstellen:

∃h0∃h1∃h2∃l1∃l2∃l3∃l4∃l5∃l6∃l7∃v1∃v2(l1:all(v1,l2) ∧ l2:imp(l3,h1)∧ l3:boxer(v1) ∧ l4:some(v2,l5) ∧ l5:and(l6,h2) ∧ l6:woman(v2)∧ l7:love(v1,v2) ∧ l7≤h1 ∧ l7≤h2 ∧ l1≤h0 ∧ l4≤h0).

h0 ist fur die SRL-Formel reserviert, die letztendlich konstruiert wird.Dieses Hole wird Top Hole genannt.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 185/279

Skopusambiguitaten

Hole Semantics

Ein Beispiel

Graphische Reprasentationh0

l1 l4

l1:all(v1,l2) l4:some(v2,l5)

l2:imp(l3,h1) l5:and(l6,h2)

l3:boxer(v1) l6:woman(v2)

l7

l7:love(v1,v2)

Every boxer loves a woman.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 186/279

Skopusambiguitaten

Hole Semantics

Plugging

Einstopseln (Plugging) – Lesart Ih0

l1 l4

l1:all(v1,l2) l4:some(v2,l5)

l2:imp(l3,h1) l5:and(l6,h2)

l3:boxer(v1) l6:woman(v2)

l7

l7:love(v1,v2)

P1(h0)=l1P1(h1)=l4P1(h2)=l7

all(v1, imp(boxer(v1), some(v2, and(woman(v2), love(v1,v2))))).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 187/279

Skopusambiguitaten

Hole Semantics

Plugging

Einstopseln (Plugging) – Lesart IIh0

l1 l4

l1:all(v1,l2) l4:some(v2,l5)

l2:imp(l3,h1) l5:and(l6,h2)

l3:boxer(v1) l6:woman(v2)

l7

l7:love(v1,v2)

P1(h0)=l4P1(h1)=l7P1(h2)=l1

some(v2, and(woman(v2), all(v1, imp(boxer(v1), love(v1,v2))))).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 188/279

Skopusambiguitaten

Hole Semantics

Plugging

Verbotenes Plugging

h0

l1 l4

l1:all(v1,l2) l4:some(v2,l5)

l2:imp(l3,h1) l5:and(l6,h2)

l3:boxer(v1) l6:woman(v2)

l7

l7:love(v1,v2)

P1(h0)=l7P1(h1)=l4P1(h2)=l1

ein Graph enthalt Zyklus, zwei nicht miteinander verbundene Graphenc© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 189/279

Skopusambiguitaten

Hole Semantics

Plugging

Ebenfalls verboten

l2:imp(l3,h1)

l3:boxer(v1)

beschreibt keinen Formelbaum.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 190/279

Skopusambiguitaten

Hole Semantics

Hole Semantics mit Prolog

Hole Semantics mit Prolog

• Wie konnen wir unsere USRen in unser Fragment integrieren?

• URSen sind Ausdrucke einer (getypten) Sprache erster Ordnung.

• Wissen, wie λ-Ausdrucke mit Prolog verarbeitet werden konnen.

• Brauchen nur neue semantische Makros und semantische Regeln zudefinieren, die bereits exisitierenden Programmteile erledigen den Rest.

• Naturlich mussen wir zum Schluß das Plugging durchfuhren,und dafur brauchen wir noch weiteren Code.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 191/279

Hole Semantics

Hole Semantics mit Prolog

Die Prolog-Reprasentation

Die Prolog-Reprasentation

Fur den Ausdruck

∃h0 ∃l1 ∃h1 ∃l2 ∃l3 ∃l4 ∃v1(l3:some(v1,l4) ∧ l4:and(l2,h1) ∧ l1≤h1

∧ l3≤h0 ∧ l2:boxer(v1) ∧ l2≤h0 ∧ l1:collapse(v1) ∧ l1≤h0)

verwenden wir die Reprasentation

some(A,and(hole(A),some(B,and(label(B),some(C,some(D,

some(E,some(F,some(G,and(hole(C),and(label(D),and(label(E),

and(label(F),and(some(E,G,F),and(and(F,D,C),and(leq(B,C),

and(leq(E,A),and(and(pred1(D,boxer,G),leq(D,A)),

and(pred1(B,collapse,G),leq(B,A))))))))))))))))))))

Holes und Labels werden explizit kenntlich gemacht.

Labels von :some u.s.w. werden als Argumente reprasentiert. leq steht fur‘≤’.

pred1(L,boxer,X) steht fur l:boxer(x).c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 192/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Aufbau von USRen mit Lambdas: Lexikoneintrage

• Boxer :λv.λh.λl.(l:boxer(v) ∧ l≤h)

• v hat die bekannte Funktion:Markiert Stelle, an der fehlende Information eingesetzt werden muß.

• Jeder Lexikoneintrag fuhrt auch ein Hole und ein Label ein.Das Hole kann man sich als abstrakten (unterspezifizierten) Skopusvorstellen.Wir sagen uber das Label, das vom Lexikoneintrag beigesteuert wird,daß es von h dominiert werden muß,d. h., wir sagen etwas uber den Platz in der SRL-Formel,an dem der Ausdruck stehen muß.

• h und l definieren die vom Nomen beigesteuerte Skopusdomane.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 193/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Graphische Darstellung

λv.λh.λl. [

h

l

l:boxer(v)

]

l markiert den Platz, an dem die Kernbedeutung steht undh markiert den Skopus der Kernbedeutung.

Die gestrichelte Linie zeigt an, daß der Skopus z. Z. unterspezifiziert ist:Wir wissen bisher nur, daß das Hole das Label dominiert.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 194/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Wiederholung: Every boxer growls

every : λP.λQ.∀x(P@x→Q@x)

boxer : λy.boxer(y)

growls: λz.growl(z)

λP.λQ.∀x(P@x→Q@x) @ λy.boxer(y)

λQ.∀x(λy.boxer(y)@x→Q@x)

λQ.∀x(boxer(x)→Q@x)

λQ.∀x(boxer(x)→Q@x) @ λz.growl(z)

∀x(boxer(x)→λz.growl(z)@x)

∀x(boxer(x)→growl(x))

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 195/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Der Lexikoneintrag fur every

Notationskonventionen: existenzquantifizierte Meta-Variablen haben Indizes,lambda-gebundene Variablen sind indexfrei.

λx.λy.λh.λl.∃h1∃l1∃l2∃l3∃v1(l2:all(v1,l3) ∧ l3:imp(l1,h1) ∧ l≤h1

∧ l2≤h ∧ x@v1@h@l1 ∧ y@v1@h@l).

• x und y spielen die bekannte Rolle (im vorigen Beispiel: x, y = P, Q).(normaler Eintrag: λx.λy.∀v(x@v→y@v))

• Die Lambdas, die h und l binden, definieren die Skopusdomane,die von every beigetragen wird.

• Der Quantor selbst bekommt das Label l2 mit der Restriktion l1 unddem nuklearen Skopus h1.

• Die Beschrankung l2 ≤ h stellt sicher, daß der Quantor durch das Top-Element derSkopusdomane out-gescopet wird.

• l ≤ h1 besagt, daß das verbale Argument (y) im Skopus des Allquantors liegt.• Die Applikation x@v1@h@l1 verbindet das Top Hole (h) und

das Restriktionslabel des Quantors (l1) mit der Skopusdomane der Nominalreprasentation.• Die Applikation y@v1@h@l verbindet das Top Hole (h) und das Label (l) des Quantors

mit der Skopusdomane des VP-Arguments.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 196/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Graphische Darstellung

λxyhl.∃h1l1l2l3v1([

h

l2

l2:all(v1,l3)

l3:imp(l1,h1)

l

] ∧ x@v1@h@l1 ∧ y@v1@h@l)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 197/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Kombination von Determinierer und Quantorevery + boxer :

λx.λy.λh.λl.∃h1∃l1∃l2∃l3∃v1(l2:all(v1,l3) ∧ l3:imp(l1,h1) ∧ l≤h1 ∧ l2≤h ∧ x@v1@h@l1 ∧y@v1@h@l) @ λv.λh.λl.(l:boxer(v) ∧ l≤h)

β-Konversion mit dem außersten Lambda:

λy.λh.λl.∃h1∃l1∃l2∃l3∃v1(l2:all(v1,l3) ∧ l3:imp(l1,h1) ∧ l≤h1 ∧ l2≤h ∧ λv.λh.λl.(l:boxer(v) ∧l≤h)@v1@h@l1 ∧ y@v1@h@l)

β-Konversion mit Einsetzung von v1 in die Argumentposition von boxer:

λy.λh.λl.∃h1∃l1∃l2∃l3∃v1(l2:all(v1,l3) ∧ l3:imp(l1,h1) ∧ l≤h1 ∧ l2≤h ∧ λh.λl.(l:boxer(v1) ∧l≤h)@h@l1 ∧ y@v1@h@l).

β-Konversion: Verbindung des Skopusdomanen-Holes h des Determinators mit dem Nomen:

λy.λh.λl.∃h1∃l1∃l2∃l3∃v1(l2:all(v1,l3) ∧ l3:imp(l1,h1) ∧ l≤h1 ∧ l2≤h ∧ λl.(l:boxer(v1) ∧l≤h)@l1 ∧ y@v1@h@l).

β-Konversion ergibt Beschrankung l1≤h:

λy.λh.λl.∃h1∃l1∃l2∃l3∃v1(l2:all(v1,l3) ∧ l3:imp(l1,h1) ∧ l≤h1 ∧ l2≤h ∧ l1:boxer(v1) ∧ l1≤h ∧y@v1@h@l).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 198/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Graphische Darstellung

λyhl.∃h1l1l2l3v1([

h

l2

l2:all(v1,l3)

l3:imp(l1,h1)

l1:boxer(v1) l

] ∧ y@v1@h@l)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 199/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

does not growl

Ziel: Analyse von every boxer does not growl.

Die USR fur does not growl ist:

λvhl.∃h2l4[

h

l4

l4:not(h2)

l

l:growl(v)

]

Wir mussen USR fur every boxer auf die USR fur does not growlanwenden und β-Konversion durchfuhren.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 200/279

Hole Semantics

Hole Semantics mit Prolog

Aufbau von USRen mit Lambdas

Ergebnis

λhl.∃h1h2l1l2l3l4v1[

h

l2 l4

l2:all(v,l3) l4:not(h2)

l3:imp(l1,h1)

l1:boxer(v1) l

l:growl(v1)

]

∀x(boxer(x) → ¬growl(x))

¬∀x(boxer(x) → growl(x))

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 201/279

Hole Semantics

Hole Semantics mit Prolog

Semantische Makros

Nomina

• Wir mussen semantische Makros und semantische Regel definieren.

• Nomina:semLex(noun,M):-

M = [symbol:Sym,

sem:lam(X,lam(H,lam(L,and(pred1(L,Sym,X),

leq(L,H)))))].

Das entspricht der Definition im eben diskutierten Beispiel.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 202/279

Hole Semantics

Hole Semantics mit Prolog

Semantische Makros

Determinatoren

semLex(det,M):-

M = [type:uni,

sem:lam(N,lam(V,lam(H,lam(L,some(H1,some(L1,some(L2,some(L3,some(X,

and(hole(H1),and(label(L1),and(label(L2),and(label(L3),

and(all(L2,X,L3),and(imp(L3,L1,H1),and(leq(L,H1),

and(leq(L2,H),and(app(app(app(N,X),H),L1),

app(app(app(V,X),H),L)))))))))))))))))))].

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 203/279

Hole Semantics

Hole Semantics mit Prolog

Semantische Makros

Eigennamen und Verben

• Eigennamen:semLex(pn,M):-

M = [symbol:Sym,

gender: ,

sem:lam(V,lam(H,lam(L,app(app(app(V,Sym),H),L))))].

• intransitive Verben:semLex(iv,M):-

M = [symbol:Sym,

sem:lam(X,lam(H,lam(L,and(pred1(L,Sym,X),

leq(L,H)))))].

• transitive Verben:semLex(tv,M):-

M = [symbol:Sym,

sem:lam(Z,lam(X,app(Z,lam(Y,lam(H,lam(L,

and(pred2(L,Sym,Y,X),leq(L,H))))))))].

• Das sind die normalen Makros fur Eigennamen, intr. Verben und transitive Verben,außer daß es die Slots H und L fur die Skopusdomane gibt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 204/279

Hole Semantics

Hole Semantics mit Prolog

Semantische Makros

Negation

• Unterspezifikation ist extrem felxibel.

• Wir konnen dieselben Techniken fur Quantoren und Negation benutzen.

• Wir haben das bereits gesehen (Every boxer does not growl), aber wirhaben nicht erklart, wie die negierte VP does not growl konstruiertwurde.

• Semantisches Makro fur not:semLex(av,M):-

M = [pol:neg,

sem:lam(V,lam(X,lam(H,lam(L,some(S,some(N,and(hole(S),

and(label(N),and(not(N,S),and(leq(N,H),and(leq(L,S),

app(app(app(V,X),H),L))))))))))))]

• Weiter Makros fur Kopula, Relativpronomina, Adjektive, Prapositionenund Koordination in semLexHole.pl.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 205/279

Hole Semantics

Hole Semantics mit Prolog

Semantische Regeln

Semantische Regeln

• Wir mussen nicht viel andern, da wir mit dem λ-Kalkul arbeiten.combine(t:U,[s:S]):-

betaConvert(some(T,and(hole(T),some(L,and(label(L),

app(app(S,T),L))))),U).

Das schließt die außere Skopusdomane ab.

• S, die Reprasentation fur den Satz, hat die Form λh.λl.φ.

• Wenn wir diese neue Regel (∃h0∃l1S@h0@l1) verwenden,bekommen wir: ∃h0∃l1λh.λl.φ@h0@l1.

• β-Reduktion ergibt eine USR ohne lambdagebundene Variablen.

• Die Skopusdomane muß immer auf der Satzebene so geschlossenwerden.Dieser Abschluß findet sich in der Grammatik auch furzusammengesetzte Satze.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 206/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Der Plugging-Algorithmus

Nach der Semantikkonstruktion haben wir Satz mit Hole-Semantics-USR,d. h. eine existenziell abgeschlossene konjunktive Formel einer getyptenSprache erster Stufe.

Der Algorithmus zur Konstruktion semantischer Reprasentationenaus der Information in der USR besteht aus vier Schritten:

1. Skolemisierung der Variablen in der USR.

2. Zerlegen der USR in ihre Komponenten und abspeichern derKomponenten in der Prolog-Datenbank.

3. Berechnung eines Pluggings.

4. Anwendung des Pluggings zur Konstruktion einer SRL-Formel.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 207/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Skolemisierung

Skolemisierung heißt, den Block der Existenzquantoren zu Begin der USRwegzuwerfen und die Variablen, die sie binden, durch Konstanten zuersetzen.

Mehr zur Skolemisierung spater.

Die Quantoren wegzuwerfen ist einfach, und fur die Substituierung derKonstanten benutzen wir das Prolog-Pradikat numbervars/3.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 208/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Zerlegung und Abspeicherung der USR (I)

Wir mussen die entsprechenden Pradikate als dynamisch spezifizieren:

:- dynamic plug/2, leq/2, hole/1, label/1.

:- dynamic some/3, all/3, que/4.

:- dynamic not/2, or/3, imp/3, and/3.

:- dynamic pred1/3, pred2/4, eq/3.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 209/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Zerlegung und Abspeicherung der USR (II)

USRen sind sehr einfach strukturiert.Wir mussen nur entsprechende Rekursionsschritte abarbeiten:

assertUSR(some( ,F)):-

assertUSR(F).

assertUSR(and(F1,F2)):-

assertUSR(F1),

assertUSR(F2).

assertUSR(F):-

\+ F=and( , ),

\+ F=some( , ),

assert(F).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 210/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Berechnung eines Pluggings

parent/2 legt die Eltern-Relation zwischen Labels und Holes fest:

parent(A,B):- imp(A,B, ).

parent(A,B):- imp(A, ,B).

parent(A,B):- or(A,B, ).

parent(A,B):- or(A, ,B).

parent(A,B):- and(A,B, ).

parent(A,B):- and(A, ,B).

parent(A,B):- not(A,B).

parent(A,B):- all(A, ,B).

parent(A,B):- some(A, ,B).

Wir brauchen noch einen weitere Klausel. Die Tatsache, daß das Hole A durch dasLabel B gefullt wird, wird als plug(A,B) reprasentiert.

Hier liegt ebenfalls Elternschaft vor, was durch folgende Klausel erfaßt wird:

parent(A,B):- plug(A,B).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 211/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Dominanz (I)

• Elternschaft ist ein Relation die der unmittelbaren Dominanz vonKnoten entspricht, wir sind aber an der Dominanz uber mehrere Ebenenhinweg interessiert.

• Die parent-Relation zusammen mit der ≤-Information in der USR kannbenutzt werden, um Dominanz zu definieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 212/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Dominanz (II)

dom(X,Y):- dom([],X,Y).

dom(L,X,Y):-

parent(X,Y).

dom(L,X,Y):-

leq(Y,X).

dom(L,X,Z):-

parent(X,Y),

\+ memberList(parent(X,Y),L),

dom([parent(X,Y)|L],Y,Z).

dom(L,X,Z):-

leq(Y,X),

\+ memberList(leq(Y,X),L),

dom([leq(Y,X)|L],Y,Z).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 213/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Bestimmung des Top-Knotens

Mit Hilfe der Dominanz konnen wir den Top-Knoten einer USRbestimmen. (Das Hole, das alles andere out-scopet, d. h. es zeigt auf dieSRL-Formel, die wir bauen wollen).

top(X):-

dom(X, ),

\+ dom( ,X), !.

Ein Knoten X ist der Top-Knoten, wenn es einen anderen Knotendominiert, aber nicht selbst von anderen Knoten dominiert wird.

Wenn alles glatt geht, d. h. daß ein zulassiges Plugging exisitiert,wird es nur einen Top-Node geben.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 214/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Zulassige Pluggings

admissiblePlugging(Plugs):-

retractall(plug( , )),

findall(X,(memberList(X,Plugs),assert(X)), ),

\+ dom(A,A),

\+ (parent(A,B), parent(A,C), \+ B=C, dom(B,D), dom(C,D)).

Wir loschen erst alle fruheren Plugging-Versuche und tragen die neuenPluggings ein.

Wir mussen sicherstellen, daß das Plugging keinen Zyklen erzeugt unddaß verschiedene Knoten mit demselben Elternteil nie denselben Knotendominieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 215/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Zuordnung von Labels zu Holes

Wenn wir wissen, was zulassige Pluggings sind,konnen wir rekursiv alle Holes mit einem der verfugbaren Labels fullen:

plugHoles([], , ).

plugHoles([H|Holes],Labels1,Plugs):-

selectFromList(L,Labels1,Labels2),

admissiblePlugging([plug(H,L)|Plugs]),

plugHoles(Holes,Labels2,[plug(H,L)|Plugs]).

Nimm ein Label aus der Liste Labels1, teste, ob plug(H,L) zu den bereitsfestgelegten Plugs paßt (und fuge die Plugs der Datenbasis hinzu).Berechne weitere Plugs fur die restlichen Holes (und Labels).

Wenn alle Holes geplugged sind, sind wir fertig. Der letzte Aufruf vonadmissiblePlugging/1 sorgt dafur, daß die Plugs in der Datenbasis sind.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 216/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Konstruktion einer SRL-Formel

• Wir haben jetzt eine USR und ein Plugging (noch in der Datenbasis).

• Wir mussen diese beiden Informationsquellen benutzen,um eine semantische Reprasentation abzuleiten.

• Das erledigt url2srl/2, das unter Bezug auf ein Plugging eine USRrekursiv in einen gewohnlichen Ausdruck erster Stufe umwandelt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 217/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Holes und Quantoren

url2srl(H,F):-

hole(H),

plug(H,L),

url2srl(L,F).

Wenn ein USR-Term ein Hole ist,wird das Plugging fur das Hole gesucht und mit dem Label weitergemacht.

url2srl(L,all(X,F)):-

all(L,X,H),

url2srl(H,F).

Wenn das Label auf einen Quantor zeigt,wird der Skopus des Quantors weiterverarbeitet.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 218/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Logische Verknupfunden und einfache Pradikate

Die logischen Verknupfungen sind einfach: Z. B. die Definition fur dieImplikation:

url2srl(L,imp(F1,F2)):-

imp(L,H1,H2),

url2srl(H1,F1),

url2srl(H2,F2).

einfache Pradikate:

url2srl(L,F):-

pred1(L,Symbol,Arg),

compose(F,Symbol,[Arg]).

url2srl(L,F):-

pred2(L,Symbol,Arg1,Arg2),

compose(F,Symbol,[Arg1,Arg2]).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 219/279

Hole Semantics

Hole Semantics mit Prolog

Der Plugging-Algorithmus

Alle Pradikate zusammen

plugUSR(USR,Sem):-

numbervars(USR,0, ), % 1 Skolemise USR

initUSR,

assertUSR(USR), % 2 Break down and assert USR

top(Top),

findall(H,hole(H),Holes),

findall(L,

(label(L),\+ parent( ,L)),

Labels),

plugHoles(Holes,Labels,[]), % 3 Calculate a plugging

url2srl(Top,Sem). % 4. Construct SRL formula

initUSR loscht die Prolog-Datenbasis,bevor wir mit der eigentlichen Arbeit anfangen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 220/279

Hole Semantics

Hole Semantics mit Prolog

Das Top-Level-Pradikat

Das Top-Level-Pradikat

holeSemantics:-

readLine(Sentence),

parse(Sentence,USR),

printRepresentations([USR]),

setof(Sem,plugUSR(USR,Sem),Sems),

printRepresentations(Sems).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 221/279

Computational Semantics

Skopusambiguitaten

Reflektion

Reflektion

• Speicher vs. constraint-basierte Unterspezifikation• Ausdrucksmachtigkeit• Computationelle Eigenschaften

• Wir haben diskutiert, wie man alle Lesarten bekommen kann,aber nicht, wie man die bevorzugte Lesart bekommt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 222/279

Computational Semantics

Skopusambiguitaten

Ubungsaufgaben

Ubungsaufgaben3.4.1 Unsere Implementation von Cooper- und Keller-Storage enthalten einen Filter, der alphabetische Varianten

herausfiltert, der Hole-Semantics-Code aber nicht. Haben wir etwas vergessen?3.4.2 Die Prolog-Definition der transitiven Hulle der Dominanzrelation, die im Text vorgestellt wurde, ist auf Grund

der Verwendung von memberList/2 und einem Akkumulator, der die bisher unbehandeltenImmediate-Dominance-Relationen verwaltet, etwas komplizierter als erwartet. Eine einfachere Alternativekonnte folgender Code sein:

dom(X,Y):- parent(X,Y).

dom(X,Z):- parent(X,Y), dom(Y,Z).

Testen Sie diese Definition an den folgenden beiden Datenbasen, in dem Sie dom(A,A) aufrufen, d. h. auf dasVorhandensein von Zyklen testen:

1. parent(a,b). parent(b,c). parent(c,a).

2. parent(d,a). parent(a,b). parent(b,c). parent(c,a).

Obwohl beide Datenbanken Zyklen enthalten, findet die obige Definition nur den Zyklus in der erstenDatenbank, in der zweiten verabschiedet sich Prolog in eine Schleife. Erklaren Sie, warum das so ist, underklaren Sie warum die Definition fur dom/2, die einen Akkumulator verwendet, mit beiden Fallen klar kommt.

3.4.3 Manche Theorien in bezug auf Quantorenskopus nehmen an, daß quantifizierte NPen aus Relativsatzen nichtherausskopen konnen (siehe Ubung 3.3.5). Andern Sie die semantische Regel fur Relativsatze (dieDominanzbeschrankungen), so daß quantifizierte NPen nur innerhalb von Relativsatzen Skopus haben konnen.Die Anderungen mussen in der Datei semLexHole.pl vorgenommen werden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 223/279

Computational Semantics

Propositionale Inferenz

Abschnitt 5: Propositionale Inferenz

• Wir beschaftigen uns jetzt mit der zweiten Grundfrage vom Anfangdes Kurses: Wie konnen wir unsere semantischen Reprasentationennaturlichsprachlicher Ausdrucke dazu nutzen, Schlusse zu ziehen?

• In diesem Abschnitt diskutieren wir das quantorenfreie Fragmentder PL 1, bzw. die Aussagenlogik, wie dieses Fragment normalerweisegenannt wird.

• Zuerst diskutieren wir das Tableaux-Verfahren.

• Danach diskutieren wir das Resolution-Verfahren.

• Demos:• propTableaux.pl

• propResolution.pl

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 224/279

Computational Semantics

Propositionale Inferenz

Aussagenlogik

• Inferenz erster Stufe ist eine computationell komplexe Aufgabe(sogar eine unentscheidbare), weshalb wir uns der Losung des Problemsin kleinen Schritten nahren.

• Wir beginnen mit der Aussagenlogik, d. h. wir lernen etwas daruber,wie man aus mit ¬, →, ∨ und ∧ verknupften Formeln schließen kann.Quantoren kommen im Abschnitt 6.

• Statt

(dead(vincent)→happy(butch))∧(¬dead(vincent)→happy(mia))

schreiben wir einfach

(p → q) ∧ (¬p → r).

Wie die Symbole intern aussehen, ist in der Aussagenlogik nicht wichtig.Wir nennen Symbole wie p, q und r Satzsymbole.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 225/279

Computational Semantics

Propositionale Inferenz

Welche Inferenz-Aufgaben?

• Wir haben Querying bereits im Abschnitt 1 diskutiert.Heute beschaftigen wir uns mit Konsistenz- und Informativitatstests.

• Wir konnen zwei Fliegen mit einer Klappe schlagen: Zur Erinnerung:• φ ist informativ (d. h., nicht gultig) gdw. ¬φ konsistent ist.• φ ist uninformativ (d. h. gultig) gdw. ¬φ inkonsistent ist.

• Die Konsequenz ist, daß man mit einem Werkzeug, das ein Problemlost, das andere ebenfalls losen kann.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 226/279

Computational Semantics

Propositionale Inferenz

Welches Inferenz-Werkzeug?

• Wir haben im Abschnitt 1 gesagt, daß es zwei Werkzeuge fur dieseAufgaben gibt: Theorem-Beweiser und Modell-Bauer.

• Wir beschaftigen uns mit Theorem-Beweisern.Das sind Werkzeuge, die uns sagen,ob eine bestimmte Formel gultig (uninformativ) ist oder nicht.

• Wir werden in diesem Abschnitt und im Abschnitt 6 ein bißchen uberdas Modell-Bauen sagen, werden uns aber nicht im Detail damitbeschaftigen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 227/279

Computational Semantics

Propositionale Inferenz

Wie nahern wir uns der Aufgabe?

• Wir sehen uns zwei Verfahren aus eine Zweig der Logik an,der Beweis-Theorie genannt wird.

• Beweis-Theorie ist die Erforschung syntaktischer Techniken,die dazu verwendet werden, zu bestimmen,ob eine Formel gultig (uninformativ) ist oder nicht.

• Wir werden die beweistheoretischen Verfahren angucken,die sich fur die CL als wichtig erwiesen haben,namlich tableaux und resolution.

• Obwohl sie beide dieselbe Aufgabe erledigen,funktionieren sie recht unterscheidlich.Es ist wichtig (und interessant), etwas uber beide Verfahren zu wissen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 228/279

Computational Semantics

Propositionale Inferenz

Die Tableaux-Methode

Die Tableaux-Methode

• Syntaktisch, aber auf der Grundlage klarer semantischer Intuitionen.

• Einen Tableaux-Beweis kann man unabhangig von menschlichemVerstandnis finden.

• Methode kann an viele verschiedene Logiken angepaßt werden.

• Tableaux-Systeme sind mehr als nur Theorem-Beweiser:Sie konnen auch als Werkzeuge fur den Modellbau angesehen werden.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 229/279

Computational Semantics

Propositionale Inferenz

Die Tableaux-Methode

Die Grundidee

Angenommen, wir haben einen Ausdruck und einen der beidenWahrheitswerte True bzw. False. Ist es moglich, ein Modell zufinden, in dem der Ausdruck den gegebenen Wahrheitswert hat?

Die Tableaux-Methode ist im wesentlichen ein syntaktisches Verfahren,systematisch zu uberprufen, ob das moglich ist, oder nicht.

Es gibt uns einen systematischen Gultigkeitstest. Die gultigen Ausdruckesind die, die die Tableaux-Methode nicht widerlegen kann.

Das Tableaux-Verfahren ist also ein indirektes Verfahren:Um φ zu beweisen, geben wir ¬φ ein und zeigen,daß das zum Widerspruch fuhrt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 230/279

Die Tableaux-Methode

Beispiele

Beispiel 1

Beispiel 1: Beweis einer Disjunktion

Der Ausdruck p ∨ ¬p ist gultig.Wie wurde eine systematische Suche nach einer Widerlegung aussehen?

Eine mogliche Antwort: Fulle die Wahrheitstabelle aus.

Aber das wurde nicht fur PL 1 funktionieren und ware ohnehin nur furnicht-komplexe Ausdrucke praktikabel.

Stattdessen entwickeln wir Tableaux-Erweiterungsregeln.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 231/279

Die Tableaux-Methode

Beispiele

Beispiel 1

Notationskonventionen

F (p ∨ ¬p).

• Das ist unser erstes Tableau!

• Das ‘F ’-Prafix bedeutet, daß wir p ∨ ¬p widerlegen wollen.

• Wenn man ein Tableau mit der Hand aufschreibt, ist es praktisch,Zusatzinformation aufzuschreiben, wie z. B. Zeilennummern:

1 F (p ∨ ¬p)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 232/279

Die Tableaux-Methode

Beispiele

Beispiel 1

Tableauerweiterung mit der Disjunktionsregel

1 F (p ∨ ¬p)√

2 Fp 1,F∨3 F¬p 1,F∨

• Unser zweites Tableau!

• Es verwendet eine Tableau-Erweiterungsregel,die F∨ (widerlege Disjunktion) genannt wird,um den Ausdruck in Zeile 1 in zwei Teile zu zerlegen.

• Das√

-Symbol in Zeile 1 zeigt,daß wir die entsprechende Regel auf Zeile 1 angewendet haben.(Wir mussen niemals Regeln zweimal auf eine Zeile anwenden)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 233/279

Die Tableaux-Methode

Beispiele

Beispiel 1

Tableauerweiterung mit der Negationsregel

1 F (p ∨ ¬p)√

2 Fp 1,F∨3 F¬p 1,F∨,

4 Tp 3,F¬.

• Wir haben die Expansionsregel F¬ (widerlege eine Negation) verwendet.

• Wir sind fertig! Das Tableau ist regelgesattigt,d. h. wir konnen keine weiteren Regeln mehr anwenden.

• Das Tableau ist außerdem geschlossen,da es einen Konflikt zwischen den Zeilen 2 und 4 gibt.

Deshalb ist p ∨ ¬p gultig.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 234/279

Die Tableaux-Methode

Beispiele

Beispiel 2

Beispiel 2: Tableauerweiterung mit der Implikationsregel

Ist ¬(q ∧ r) → (¬q ∨ ¬r) gultig? Mal sehen . . .

1 F¬(q ∧ r) → (¬q ∨ ¬r)

Wir benutzen die Regel F→, die uns sagt, wie wir Implikationen widerlegen.

1 F¬(q ∧ r) → (¬q ∨ ¬r)√

2 T¬(q ∧ r) 1,F→3 F (¬q ∨ ¬r) 1,F→

Fur die Zeile 3 mussen wir eine Disjunktion widerlegen.Wir benutzen F∨ . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 235/279

Die Tableaux-Methode

Beispiele

Beispiel 2

Tableauerweiterung mit der Disjunktionsregel

1 F¬(q ∧ r) → (¬q ∨ ¬r)√

2 T¬(q ∧ r) 1,F→3 F (¬q ∨ ¬r) 1,F→,

4 F¬q 3,F∨5 F¬r 3,F∨

Wieso durften wir an Zeile 3 arbeiten?Wir haben doch Zeile 2 noch nicht behandelt!

Kein Problem!Wir konnen uns aussuchen, wo wir arbeiten.(einer der Vorteile von Tableaux)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 236/279

Die Tableaux-Methode

Beispiele

Beispiel 2

Tableauerweiterung mit der Negationsregel

1 F¬(q ∧ r) → (¬q ∨ ¬r)√

2 T¬(q ∧ r) 1,F→3 F (¬q ∨ ¬r) 1,F→,

4 F¬q 3,F∨,√

5 F¬r 3,F∨,√

6 Tq 4,F¬7 Tr 5,F¬8 F (q ∧ r) 2,T¬

Jetzt mussen wir uns mit Zeile 8 auseinandersetzen.Das wird interesant . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 237/279

Die Tableaux-Methode

Beispiele

Beispiel 2

Tableauerweiterung mit der Konjunktionsregel

1 F¬(q ∧ r) → (¬q ∧ ¬r)√

2 T¬(q ∧ r) 1,F→,√

3 F (¬q ∧ ¬r) 1,F→,√

4 F¬q 3,F∨,√

5 F¬r 3,F∨,√

6 Tq 4,F¬7 Tr 5,F¬8 F (q ∧ r) 2,T¬,

9 Fq 8, F∧ 10 Fr 8, F∧

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 238/279

Die Tableaux-Methode

Beispiele

Beispiel 3

Beispiel 3: Ein ungultiger Ausdruck

Was passiert, wenn der Ausdruck, mit dem wir arbeiten, nicht gultig ist?

Z. B. : (p ∧ q) → (r ∨ s)

1 F (p ∧ q) → (r ∨ s)

Wir mussen eine Implikation widerlegen,also benutzen wir die Regel F→ . . .

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 239/279

Die Tableaux-Methode

Beispiele

Beispiel 3

Implikations- und Konjunktionsregel

1 F (p ∧ q) → (r ∨ s)√

2 T (p ∧ q) 1,F→,√

3 F (r ∨ q) 1,F→4 Tp 2,T∧5 Tq 2,T∧

Zeile zwei verlangt, daß wir eine Konjunktion wahr machen.Wir benutzen die Expansionsregel T∧.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 240/279

Die Tableaux-Methode

Beispiele

Beispiel 3

Disjunktionsregel

1 F (p ∧ q) → (r ∨ s)√

2 T (p ∧ q) 1,F→,√

3 F (r ∨ s) 1,F→,√

4 Tp 2,T∧5 Tq 2,T∧6 Fr 3,F∨7 Fs 3,F∨

Nun zu Zeile 3. Die relevante Regel ist F∨.

Wir sind fertig – aber das Tablau ist nicht geschlossen, es ist offen.Somit ist der Ausdruck nicht gultig.

Wir konnen ein (aussagenlogisches) Modell aus dem Tablau auslesen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 241/279

Propositionale Inferenz

Die Tableaux-Methode

Expansionsregeln fur Negation

Expansionsregeln fur Negation

T¬φ F¬φFφ Tφ

• Man lese diese Regeln von oben nach unten.Der markierte Ausdruck uber der horizontalen Linie istdie Eingabe fur die Regel, und der Ausdruck darunter ist die Ausgabe.

• Wir nennen solche Regeln unare Regeln,da sie nur einen Ausdruck als Ausgabe liefern.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 242/279

Propositionale Inferenz

Die Tableaux-Methode

Expansionsregeln fur binare Verknupfungen

Expansionsregeln fur binare Verknupfungen

T (φ ∧ ψ) F (φ ∧ ψ)

Tφ Fφ FψTψ

F (φ ∨ ψ) T (φ ∨ ψ)

Fφ Tφ TψFψ

F (φ→ ψ) T (φ→ ψ)

Tφ Fφ TψFψ

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 243/279

Propositionale Inferenz

Die Tableaux-Methode

Aussagentableaux

Aussagentableaux

• Ein (Aussagen-)Tableaux ist ein Baum, dessen Knoten markierteaussagenlogische Ausdrucke sind.Ein Zweig eines Tableaux ist ein Zweig eines solchen Baumes.

• Wir beginnen mit einem Anfangstableaux.Das kann irgendein Tableaux mit genau einem Zweig sein.

• Tableaux-Expansion funktioniert wie folgt:Gegeben ein Tableaux: Versuche einen Knoten zu finden, der• kein markierter atomarer Ausdruck ist und• auf den noch keine Expansionsregel angewendet wurde.

Solche Knoten werden unexpandierte Knoten genannt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 244/279

Propositionale Inferenz

Die Tableaux-Methode

Aussagentableaux

Aussagentableaux

• Wenn es keine expandierbaren Knoten mehr gibt, halte an!Das Tableau ist regelgesattigt.

• Wenn das Tableau unexpandierte Knoten enthalt,wahle einen und wende die entsprechenden Expansionsregeln an,d. h. erweitere das Tableaux durch das Hinzufugen neuer Knoten,so wie es die Regel vorschreibt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 245/279

Propositionale Inferenz

Die Tableaux-Methode

Aussagentableaux

Anmerkung

Ein markierter Ausdruck kann zu mehreren Zweigen gehoren.Wenn wir eine Expansion vornehmen,mussen wir alle Zweige, an denen die Eingabeformel verfugbar ist,erweitern.

• T (φ ∨ ψ)

• •

Tφ Tψ Tφ Tψ

Wenn wir T (φ ∨ ψ) erweitern,mussen Tφ und Tψ an allen Verzeigungen eingesetzt werden.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 246/279

Propositionale Inferenz

Die Tableaux-Methode

Aussagentableaux

Geschlossene und offene Tableaux

• Ein Zweig eines Tableaux ist geschlossen,wenn er sowohl Tφ als auch Fφ enthalt, wobei φ ein Ausdruck ist.

• Ein Zweig, der nicht geschlossen ist, wird offen genannt.

• Ein Tableau ist geschlossen,wenn alle Zweige, die es enthalt, geschlossen sind.Es ist offen, wenn mindestens ein Zweig offen ist.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 247/279

Propositionale Inferenz

Die Tableaux-Methode

Aussagentableaux

Die Hauptdefinition

Ein Ausdruck φ ist Tableaux-beweisbar (oder einfacher beweisbar) gdw.es moglich ist, das initiale Tableaux, das nur aus dem Knoten Fφ besteht,in ein geschlossenes Tableaux zu expandieren.

Wenn φ beweisbar ist, schreibt man ⊢ φ.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 248/279

Propositionale Inferenz

Die Tableaux-Methode

Der Uninformativitatstest

Der Uninformativitatstest

Man benutzt einfach das folgende initiale Tableau:

Tφ1

.

.

.

Tφn

D. h. wir versuchen, alle Pramissen wahr zu machen und dieSchlußfolgerung falsch.

Wenn das fehlschlagt – d. h. wenn wir ein geschlossenes Tableauxbekommen – dann ist das Argument φ1 ∧ . . . ∧ φn → ψ gultig.

Oder anders gesagt: ψ ist uninformativ in Bezug auf φ1. . .φn.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 249/279

Propositionale Inferenz

Die Tableaux-Methode

Korrektheit und Vollstandigkeit

Korrektheit und Vollstandigkeit

• Das Tableaux-System ist korrekt.D. h., fur jeden aussagenlogischen Ausdruck φ,

Wenn ⊢ φ dann |= φ.

Tableaux-Beweise fuhren uns nie in die Irre.

• Das Tableaux-System ist vollstandig.D. h., fur jeden aussagenlogischen Ausdruck φ,

Wenn |= φ dann ⊢ φ.

Es gibt keine Gultigkeit, die wir mit dem Tableaux-Beweis nicht findenkonnten: Wenn ein Ausdruck φ gultig ist, dann ist es moglich,das initiale Tableau Fφ zu einem geschlossenen Tableau zu expandieren.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 250/279

Die Tableaux-Methode

Tableaux in Prolog

Die Reprasentation von Tableaus

Tableaux in Prolog

Tableaux werden in Prolog als Listen dargestellt,die Listen markierter Ausdrucke enthalten.

Markierte Ausdrucke werden als Prolog-Terme mit den einstelligenFunktoren f und t reprasentiert.

Zum Beispiel:

[[f(imp(p,q))]].

Das steht fur ein Tableau mit einem Zweig,namlich einem Zweig, der den einen markierten Ausdruck F (p → q)enthalt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 251/279

Die Tableaux-Methode

Tableaux in Prolog

Die Reprasentation von Tableaus

Ein zweites Beispiel

[[t(and(p,q)), f(and(p,r))]].

Das steht fur ein Tableau mit einem Zweig.

Diesmal enthalt der Zweig aber zwei markierte Ausdrucke,namlich T (p ∧ q) und F (p ∧ r).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 252/279

Die Tableaux-Methode

Tableaux in Prolog

Expansion und Listenmanipulation

Expansion und Listenmanipulation

Die Prolog-Implementation von Aussagen-Tableaus besteht aus einerkleinen Anzahl von Pradikaten, die Listen entsprechend derTablau-Expansionsregeln verandert.

Man kann zum Beispiel leicht ein Pradikat definieren, daß fur die Eingabe

[[t(and(p,q)), f(and(p,r))]].

die folgende Ausgabe liefert:

[[t(p), t(q), f(and(p,r))]].

Die Ausgabe enthalt t(and(p,q)) nicht mehr. Warum?

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 253/279

Die Tableaux-Methode

Tableaux in Prolog

Expansion und Listenmanipulation

Wir konnen die Liste weiter verarbeiten

[[t(p), t(q), f(and(p,r))]].

Wir mussen F∧ anwenden, eine disjunktive Regel.

In unserer Prolog-Implementation bekommen wir das folgende zuruck:

[[t(p), t(q), f(p)], [t(p), t(q), f(r)]]

Man beachte, das diese Liste zwei Listen enthalt.(Unsere Prolog-Implementation kopiert ganze Zweige.)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 254/279

Die Tableaux-Methode

Tableaux in Prolog

closedTableau

Die Prolog-Implementation

Das Hauptpradikat ist closedTableau.Es versucht, rekursiv ein geschlossenes Tableau zu bauen.

closedTableau([]).

closedTableau(OldTableau):-

expand(OldTableau,TempTableau),

removeClosedBranches(TempTableau,NewTableau),

closedTableau(NewTableau).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 255/279

Die Tableaux-Methode

Tableaux in Prolog

expand

Ein Hilfspradikat

expand([Branch|Tableau],[NewBranch|Tableau]):-

unaryExpansion(Branch,NewBranch), !.

expand([Branch|Tableau],[NewBranch|Tableau]):-

conjunctiveExpansion(Branch,NewBranch), !.

expand([Branch|Tableau],[NewBranch1,NewBranch2|Tableau]):-

disjunctiveExpansion(Branch,NewBranch1,NewBranch2), !.

expand([Branch|Rest],[Branch|Newrest]):-

expand(Rest,Newrest).

Wenn es fur den ersten Zweig eine unare, konjunktive oder disjunktiveExpansion gibt, wende diese an und fuge das Ergebnis zum restlichenTableau hinzu.

In allen anderen Fallen arbeite die Liste weiter ab.c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 256/279

Die Tableaux-Methode

Tableaux in Prolog

expand

Die Umwandlung der Listen bei ExpansionenunaryExpansion(Branch,[Component|Temp]) :-

unary(SignedFormula,Component),

removeFirst(SignedFormula,Branch,Temp).

Wir wahlen eine unare Expansion,entfernen das erste passende Vorkommen dieser Expansion aus dem Zweigund bauen die temporare Liste mit dem Expansionsergebnis zusammen.

conjunctiveExpansion(Branch,[Comp1,Comp2|Temp]):-

conjunctive(SignedFormula,Comp1,Comp2),

removeFirst(SignedFormula,Branch,Temp).

disjunctiveExpansion(Branch,[Comp1|Temp],[Comp2|Temp]):-

disjunctive(SignedFormula,Comp1,Comp2),

removeFirst(SignedFormula,Branch,Temp).

Parallel fur konjunktive Expansionen und fur disjunktive Expansion.

Disjunktive Expansionen sind am teuersten, weil wir den ganzen Zweig kopieren.Wir wenden diese deshalb nach den anderen Expansionen an.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 257/279

Die Tableaux-Methode

Tableaux in Prolog

expand

Die einzelnen Expansionen

conjunctive(t(and(X,Y)),t(X),t(Y)).

conjunctive(f(or(X,Y)),f(X),f(Y)).

conjunctive(f(imp(X,Y)),t(X),f(Y)).

disjunctive(f(and(X,Y)),f(X),f(Y)).

disjunctive(t(or(X,Y)),t(X),t(Y)).

disjunctive(t(imp(X,Y)),f(X),t(Y)).

unary(t(not(X)),f(X)).

unary(f(not(X)),t(X)).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 258/279

Die Tableaux-Methode

Tableaux in Prolog

Entfernen geschlossener Zweige

Entfernen geschlossener Zweige

removeClosedBranches([],[]).

removeClosedBranches([Branch|Rest],Tableau):-

closedBranch(Branch), !,

removeClosedBranches(Rest,Tableau).

removeClosedBranches([Branch|Rest],[Branch|Tableau]):-

removeClosedBranches(Rest,Tableau).

Wenn das erste Listenelement ein geschlossener Zweig ist,arbeite mit dem restlichen Tableau weiter und gib das Ergebnis zuruck.

Nur wenn das nicht der Fall ist, entferne die geschlossenen Zweige aus derrestlichen Liste und baue das Ergebnis mit dem ersten Zweig zusammen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 259/279

Die Tableaux-Methode

Tableaux in Prolog

Entfernen geschlossener Zweige

Geschlossene Zweige

closedBranch(Branch):-

memberList(t(X),Branch),

memberList(f(X),Branch).

Ein geschlossener Zweig ist einer,der einen Ausdruck und dessen Negation enthalt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 260/279

Die Tableaux-Methode

Tableaux in Prolog

Das Top-Level-Pradikat

Das Top-Level-Pradikat

tprove(F):-

(

closedTableau([[f(F)]]), !,

write(’Theorem.’), nl

;

write(’Not a theorem.’), nl

).

Dieses Pradikat uberpruft Ausdrucke in bezug auf Gultigkeit:

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 261/279

Computational Semantics

Propositionale Inferenz

Resolution

Resolution

• Im Gegensatz zur Tableau-Methode verwendet Resolutionnur eine einzige Regel: die Resolutionsregel.

• Außerdem arbeitet Resolution normalerweise nicht direkt mit demEingabeausdruck.Stattdessen findet eine Vorverarbeitung (Pre-Processing) statt.Der Ausdruck wird in einen aquivalenten Ausdruck in konjunktiverNormalform (KNF) umgewandelt.Die Resulutionsregel wird dann auf den CNF-Ausdruck angewendet.

• Die Resulotionsmethode ahnelt dem Tableau-Verfahren in einerEigenschaft: Es ist ein indirektes Verfahren,d. h., um φ zu beweisen, zeigen wir, daß ¬φ zum Widerspruch fuhrt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 262/279

Propositionale Inferenz

Resolution

Konjunktive Normal Form (KNF)

Konjunktive Normal Form (KNF)

• Ein (aussagenlogisches) Literal ist entweder ein Satzsymbol (d. h. p, q,r , . . . ) oder die Negation eines Satzsymbols (d. h. ¬p, ¬q, ¬r , . . . ).

• Eine Klausel ist eine Disjunktion von Literalen.(p ∨ q ∨ ¬r ∨ s ∨ ¬t) ist eine z. B. eine Klausel.Damit eine Klausel wahr sein kann,muß mindestens eines ihrer Literale wahr sein.Die leere Klausel ([ ] geschrieben) kann nie wahr werden.

• Ein Ausdruck ist eine KNF, wenn es eine Konjunktion von Klauseln ist.(p ∨ q) ∧ (r ∨ ¬p ∨ s) ∧ (q ∨ ¬s) ist z. B. in KNF.Damit ein KNF-Ausdruck wahr sein kann,mussen alle enthaltenen Klauseln wahr sien.

• KNF-Ausdrucke haben eine sehr einfache Struktur, was oft ausgenutztwird, weil man sie einfach in Listennotation schreiben kann.Unser Beispiel kann man auch so schreiben: [[p, q], [r ,¬p, s], [q,¬s]].

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 263/279

Resolution

Konjunktive Normal Form (KNF)

Umwandlung von Ausdrucken in KNF

Umwandlung von Ausdrucken in KNF (I)

• Tatsache: Jeder aussagenlogische Ausdruck ist aquivalent zu einer KNF.

• Um einen Ausdruck in KNF umzuwandeln, wandeln wir den Ausdruck soum, daß die Negationen zu den Satzsymbolen kommen und entfernengleichzeitig alle Implikationen (→).

Dazu benutzen wir die folgenden Regeln:

• ersetze ¬(φ ∧ ψ) durch ¬φ ∨ ¬ψ• ersetze ¬(φ ∨ ψ) durch ¬φ ∧ ¬ψ• ersetze ¬(φ→ ψ) durch φ ∧ ¬ψ• ersetze (φ→ ψ) durch ¬φ ∨ ψ• ersetze ¬¬φ durch φ

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 264/279

Resolution

Konjunktive Normal Form (KNF)

Umwandlung von Ausdrucken in KNF

Umwandlung von Ausdrucken in KNF (II)

• Nachdem die Negationen jetzt bei den Satzsymbolen sind undalle Vorkommen von → weg sind,fahren wir mit den folgenden Ersetzungsregel fort:

• ersetze θ ∨ (φ ∧ ψ) durch (θ ∨ φ) ∧ (θ ∨ ψ)• ersetze (φ ∧ ψ) ∨ θ durch (φ ∨ θ) ∧ (ψ ∨ θ)• ersetze (φ ∧ ψ) ∧ θ durch θ ∧ (φ ∧ ψ)• ersetze (φ ∨ ψ) ∨ θ durch θ ∨ (φ ∨ ψ)

• Die ersten beiden Regeln bewegen die ∨ tiefer in den Ausdruck hineinund heben Vorkommen von ∧ an.Das ist genau das, was wir fur KNF brauchen.Die anderen beiden Regeln organisieren das Material um,so daß danach die ersten beiden Regeln evtl. angewendet werdenkonnen.

• Das war’s!

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 265/279

Resolution

Konjunktive Normal Form (KNF)

Umwandlung von Ausdrucken in KNF

Beispiel: Umwandlung von (¬p → q) → (¬r → s) in KNF

1. (¬p → q) → (¬r → s)

2. ¬(¬p → q) ∨ (¬r → s)

3. (¬p ∧ ¬q) ∨ (¬¬r ∨ s)

4. (¬p ∧ ¬q) ∨ (r ∨ s)

5. (¬p ∨ r ∨ s) ∧ (¬q ∨ r ∨ s)

6. [[¬p, r , s], [¬q, r , s]]

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 266/279

Propositionale Inferenz

Resolution

Die Resolutionsregel

Die Resolutionsregel

Aus

[p1, . . . , pn,R , pn+1, . . . , pm] and [q1, . . . , qj ,¬R , qj+1, . . . , pk ]

konnen wir

[p1, . . . , pn, pn+1, . . . , pm, q1, . . . , qj , qj+1, . . . , pk ].

ableiten. D. h. alles widerspruchliche fliegt raus.

• Z.B. kann man aus[p, s,¬t, r ] und [q, v ,¬s, r ][p,¬t, r , q, v , r ] ableiten.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 267/279

Propositionale Inferenz

Resolution

Anwendung der Resolutionsregel

Anwendung der Resolutionsregel

• Wir negieren den Ausdruck, den wir beweisen wollen,und wandeln ihn in KNF um.

• Wir wenden die Resolutionsregel auf die Klauseln des KNF-Ausdrucksimmer wieder an, bis es nicht mehr geht.

• Wenn wir mit diesem Verfahren eine leere Klausel erzeugen, zeigt das,daß ¬φ nicht konsistent ist (warum?), und deshalb ist φ gultig.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 268/279

Propositionale Inferenz

Resolution

Ein einfaches Beispiel

Ein einfaches Beispiel: Beweis von p ∨ ¬p

• Wir negieren p ∨ ¬p und erhalten ¬(p ∨ ¬p).

• Wir wandeln ¬(p ∨ ¬p) in KNF um und erhalten [[¬p], [p]].

• Eine Anwendnung der Resultionsregel ergibt [[]].

• Deshalb ist ¬(p ∨ ¬p) nicht konsitent.

• Also ist p ∨ ¬p gultig.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 269/279

Computational Semantics

Inferenz fur PL 1

Inferenz fur PL 1

• Jetzt diskutieren wir Inferenz fur PL 1.

• Wir zeigen zuerst, wie wir unser aussagenlogisches Tableau-System furSprachen erster Stufe erweitern konnen.Wir erortern auch Resolution, geben aber keine Details.

• Ein wichtige Rolle in der Diskussion spielt das Schlusselkonzeptunification.

• Wir werden sehen, daß die Implementation der Inferenz erster Stufe eineschwierige Aufgabe ist und daß es besser ist, fertige Theorem-Beweiserund Modell-Bauer zu benutzen, als diese neu zu entwickeln.

• Demos:• freeVarTabl.pl

• callInference.pl (featuring MACE and OTTER)

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 270/279

Computational Semantics

Inferenz fur PL 1

Die Hauptsache

• Es ist einfach, unser propositionales Tableaux-System zu einem(korrekten und vollstandigen) Tableaux-System fur PL 1 zuerweitern.

• Es ist sehr viel schwerer, das so zu tun,daß man eine effiziente Computerimplementation bekommt.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 271/279

Computational Semantics

Inferenz fur PL 1

PL1-Tableaux fur Menschen

Grundidee: Tableaux-Regeln elemenieren Quantoren und wandeln soPL1-Formeln in propositionale Formeln um. Hier sind die ersten beidenuniversellen Regeln, die wir brauchen:

T∀xφ F∃xφTφ(τ) Fφ(τ)

Dabei steht φ(t) fur das Ergebnis der Ersetzung der Variable,die durch den Quantor gebunden wird, durch den geschlossenen Term t.

Aus T∀xkiller(x) konnen wir Tkiller(jules), Tkiller(butch),usw. schließen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 272/279

Computational Semantics

Inferenz fur PL 1

Ein Beispiel

Wir zeigen die Gultigkeit von ∀xdie(x) → die(mia) ∧ die(zed)

1 F (∀xd(x) → d(m) ∧ d(z))√

2 T∀xd(x) 1,F→3 F (d(m) ∧ d(z)) 1,F→ ,

4 Td(m) 2,T∀5 Td(z) 2,T∀

6 Fd(m) 3,F∧ 7 Fd(z) 3,F∧

Man beachte, daß wir T∀ auf Zeile 2 zwei Mal angewendet haben.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 273/279

Computational Semantics

Inferenz fur PL 1

Was fur Tableaux-Regeln braucht man fur Formeln der Form T∃xφ oderF∀xφ? Das ist eine knifflige Angelegenheit.

• Angenommen, das Tableau enthalt die Formel T∃xkiller(x).

• Es ist nicht angemessen aufgrund dieser Information zu schließen, daßTkiller(jules) oder Tkiller(butch) oder sogarTkiller(closed-term) fur jeden geschlossenen Term der Sprache,mit der wir arbeiten gilt.

• Wir werden deshalb einen neuen Bezeichner (Parameter genannt)einfuhren und den Quantor eliminieren, indem wir diesen einsetzen(d. h., wir arbeiten mit einer machtigeren Sprache).

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 274/279

Computational Semantics

Inferenz fur PL 1

Die existentiellen Regeln

Hier sind F∀ und T∃:

F∀xφ T∃xφFφ(c) Tφ(c)

Hierbei steht φ(c) fur das Ergebnis der Substitution eines Parameters c,den wir bisher nicht im Tableau-Beweis benutzt haben, fur die neueleminierte Variable in der Matrix.

• Es ist wichtig, daß wir neue Parameter benutzen.

• Anmerkung: Die universellen Regeln mussen ebenfalls in der Lage sein,Parameter zu verwenden! Das heißt, daß die universellen Regelnunendlich viele Moglichkeiten zulassen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 275/279

Computational Semantics

Inferenz fur PL 1

Ein Beispiel

Wir zeigen, daß ∃x∀yshoots(x,y) → ∀y∃xshoots(x,y) gultig ist.(Dieses Beispiel zeigt die Anwendung von allen vier Quantorenregeln)

1 F (∃x∀yshoots(x,y) → ∀y∃xshoots(x,y))√

2 T∃x∀yshoots(x,y) 1, F→3 F∀y∃xshoots(x,y) 1, F→4 T∀yshoots(c1, y) 2, T∃5 F∃xshoots(x , c2) 3, F∀6 Tshoots(c1, c2) 4, T∀7 Fshoots(c1, c2) 5, F∃

Man beachte die Interaktion der existentiellen und universellen Regeln.Univerelle Regeln konnen auf Parameter zugreifen.

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 276/279

Computational Semantics

DRT

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 277/279

Computational Semantics

Anaphern und Prasupposition

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 278/279

Computational Semantics

Zusammenfassung

Zusammenfassung

c© Patrick Blackburn & Johan Bos, 2005, Ubersetzung Stefan Muller 2006, CL, FB 10, Universitat Bremen 279/279

Computational Semantics

Literatur

Allwood, Jens, Anderson, Lars-Gunnar und Dahl, Osten. 1973.Logik fur Linguisten. Romanistische Arbeitshefte, Nr. 8,Tubingen: Max Niemeyer Verlag.

Blackburn, Patrick und Bos, Johan. 2005. Representation and

Inference for Natural Language. A First Course in

Computational Semantics. Stanford: CSLI Publications.

Blackburn, Patrick, Bos, Johan und Striegnitz, Kristina. 2001.Learn Prolog Now!http://www.coli.uni-sb.de/∼kris/learn-prolog-now/.28.01.2005.

Gabsdil, Malte und Striegnitz, Kristina. 1999. Classifying

Scope Ambiguities. In Christoph Monz und Maartende Rijke (Hrsg.), Proceedings of ICOS-1 , First Workshopon Inference in Computational Semantics, Seiten125–131, ILLC Amsterdam.

Gabsdil, Malte und Striegnitz, Kristina. 2000. ClassifyingScope Ambiguities. Language and Computation 1(2),

307A–313,http://www.coli.uni-sb.de/∼gabsdil/papers/jlac00.ps.gz,29.10.2004.

Lohnstein, Horst. 1996. Formale Semantik und Naturliche

Sprache. Opladen: Westdeutscher Verlag.