37
../lmu.png Syntax natürlicher Sprachen Vorlesung 9: Unifikation und merkmalsbasiertes Parsing Martin Schmitt Ludwig-Maximilians-Universität München 19.12.2017 Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 1

Syntax natürlicher Sprachen - Vorlesung 9: Unifikation und ...martin/teaching/data/syntax-ws1718/...../lmu.png GetypteMerkmalstrukturen Carpenter,Bob(1992).TheLogicofTypedFeatureStructures

Embed Size (px)

Citation preview

../lmu.png

Syntax natürlicher SprachenVorlesung 9: Unifikation und merkmalsbasiertes Parsing

Martin Schmitt

Ludwig-Maximilians-Universität München

19.12.2017

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 1

../lmu.png

Themen der heutigen Vorlesung

1 Formale GrundlagenMerkmalstrukturenSubsumptionUnifikationBedingungen

2 ImplementierungMerkmalstrukturenUnifikation

3 Parsing mit MerkmalstrukturenModifizierter Earley ParserKomplexität

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 2

../lmu.png

Getypte Merkmalstrukturen

Carpenter, Bob (1992). The Logic of Typed Feature Structures.Englisch. Cambridge Tracts in Theoretical Computer Science.Cambridge University Press.

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 4

../lmu.png

Typen

Definition (Type, v)Sei Type eine endliche Menge von Typen mitVererbungshierarchie v.

Wenn für A,B ∈ Type gilt, dass A v B , dannerbt B Informationen von A.wird B von A subsumiert.ist A allgemeiner als B .ist A Obertyp von B .ist B Untertyp von A.

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 5

../lmu.png

Vererbung

Eigenschaften von Type, vtransitiv (∀A,B ,C ∈ Type. A v B ∧ B v C =⇒ A v C )

reflexiv (∀A ∈ Type. A v A)

antisymmetrisch (∀A,B ∈ Type. A v B ∧ B v A =⇒ A = B)(keine Vererbungsschleifen)

→ partielle Ordnung (d. h. nicht alle Elemente von Type müssenmiteinander vergleichbar sein)

wohldefinierte Unifikationsoperation

→ Existenz eines eindeutigen allgemeinsten Typs(∃1A ∈ Type. ∀B ∈ Type. A v B)

⊥ definiert als kleinstes Element von Type bzgl. vMartin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 6

../lmu.png

Beispiel: Typhierarchie

3-s-mask 3-s-fem 3-s-neut

1-sing 3-sing 1-plu 3-plu

1st 3rd sing plu

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 7

../lmu.png

Noch ein Beispiel: Typhierarchie

Nominativ Akkusativ

Nom-Akk Dativ

Genitiv nicht-Genitiv

Vgl. z. B. die Paradigmen:der Hund, des Hundes, dem Hund, den Hunddas Buch, des Buches, dem Buch, das Buch

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 8

../lmu.png

Merkmale

Definition (Feat)Sei Feat eine endliche Menge von Merkmalen (engl. features).

(Ohne weitere Anforderungen an Struktur oder Eigenschaften)

BeispielFeat = {GEN, CASE, NUM, AGR, PER, MOOD, CAT, TENSE}

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 9

../lmu.png

Merkmalstrukturen

DefinitionEine Merkmalstruktur über Type und Feat ist definiert als TupelF = (Q, q̄, θ, δ) mit:

Q : endliche Menge von Knoten mit Wurzel q̄q̄ ∈ Q : Wurzelknotenθ :Q → Type : totale Typisierungsfunktionδ : Feat× Q → Q : partielle Merkmal-Wert-Funktion

Sei F die Menge aller Merkmalstrukturen.

q1 CAT θ(q1) N

q2 AGR

[q3 CASE θ(q3) Nomq4 NUM θ(q4) Pl

]Feat ={CAT,AGR,CASE,NUM}Type ={N ,Nom,Pl , agr,word,⊥}

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 10

../lmu.png

Visualisierung als Graph I

Beschrifteter GraphEin beschrifteter Graph ist definiert als TupelG = (V ,E , lV , lE , LV , LE ) mit

V : Menge der Knoten (engl. vertices)E ⊆ V × V : Menge der Kanten (engl. edges)lV :V → LV : Beschriftungsfunktion für Knoten (engl. label)lE :E → LE : Beschriftungsfunktion für KantenLX : Menge von Beschriftungen für X

A

BC D

a

b

c

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 11

../lmu.png

Visualisierung als Graph II

VisualisierungDer Graph zu einer Merkmalstruktur F = (Q, q̄, θ, δ) ist gegebendurch:

V := Q

E := {(q1, q2) | ∃f . δ(f , q1) = q2}LV := Type; lV := θ

LE := Feat; lE (q1, q2) := {f | δ(f , q1) = q2}

AnmerkungZur Vereinfachung werden einelementige Mengen ohneMengenklammern geschrieben.

Also a statt {a}.

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 12

../lmu.png

Beispiel: Graphdarstellung

q1

q2

q3

q4

N

Nom

Pl

word

agr

CAT

AGRCASE

NUM

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 13

../lmu.png

Variablen

VariablenVar sei eine abzählbar unendliche Menge von Variablen.Häufig wird Var = N benutzt.Es gibt aber auch andere Möglichkeiten;z. B. im NLTK: ASCII-Identifier (?x, ?y, . . . )

Definition (Zuweisungsfunktion, Valuation)Eine Zuweisung α : Var→ F ist eine totale Funktion, die alleVariablen an Merkmalstrukturen bindet.

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 14

../lmu.png

Reentrance

Reentrance (dt. Wiedereintritt)Durch das Aufstellen von Bedingungen (s. später) können Variablenan verschiedene Teile von Merkmalstrukturen gebunden werden.Diese müssen gleich sein.

Beispiel

ORTH folgt

SYN

[SBJ 1

OBJ 2

]

SEM

[AGT 1

PAT 2

]

ORTH folgt

SYN

[SBJ 1 HundOBJ 2 Katze

]

SEM

[AGT 1

PAT 2

]

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 15

../lmu.png

Subsumption

Erweiterung auf MerkmalstrukturenF = (Q, q̄, θ, δ) subsumiert F ′ = (Q ′, q̄′, θ′, δ′), genau dann wenn eseine totale Funktion h :Q → Q ′ gibt, sodass:

h(q̄) = q̄′

θ(q) v θ′(h(q)) für alle q ∈ Q

h(δ(f , q)) = δ′(f , h(q)) für alle q ∈ Q und f ∈ Feat,für die δ(f , q) definiert ist

Beispiel

q̄[q1 CAT N

]v q̄′

[q′1 CAT Nq′2 GEN mask

]h(q̄) = q̄′

h(q1) = q′1

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 16

../lmu.png

Unifikation I

Unifikation (t) für TypenDie Unifikation zweier Typen kann als mengentheoretischeVereinigung verstanden werden.

Das Ergebnis der Unifikation zweier Typen A,B ∈ Type ist ihrekleinste obere Schranke in Type bzgl. v.A t B = C ⇐⇒ A v C und B v C und

∀D ∈ Type. A v D ∧ B v D =⇒ C v D

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 17

../lmu.png

Beispiel: Typunifikation

3-s-mask 3-s-fem 3-s-neut

1-sing 3-sing 1-plu 3-plu

1st 3rd sing plu

⊥1st t plu = 1-plu sing t 3-s-mask = 3-s-mask

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 18

../lmu.png

Noch ein Beispiel: Typunifikation

Nominativ Akkusativ

Nom-Akk Dativ

Genitiv nicht-Genitiv

nicht-Genitiv t Nominativ = NominativNom-Akk t Dativ = undefiniert

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 19

../lmu.png

Unifikation II

Unifikation (t) für MerkmalstrukturenIdee: Unifikation ebenfalls kleinste obere Schranke bzgl. derSubsumptionsrelation v auf MerkmalstrukturenAlgorithmus in zwei Schritten:

1 Identifiziere korrespondierende (äquivalente) Knoten2 Unifiziere deren Typen

Formale Definition: Identifikation (Schritt 1)Für Merkmalstrukturen F = (Q, q̄, θ, δ) ,F ′ = (Q ′, q̄′, θ′, δ′) mitQ ∩ Q ′ = ∅ sei die Äquivalenzrelation ≡ wie folgt definiert:

q̄ ≡ q̄′

δ(f , q) ≡ δ′(f , q′) wenn beide Seiten definiert und q ≡ q′

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 20

../lmu.png

Formale Definition: Typunifikation (Schritt 2)Die Unifikation von F und F ′ ist dann wie folgt definiert:

F t F ′ = ((Q ∪ Q ′)/≡, [q̄]≡, θ≡, δ≡)

mitθ≡([q]≡) =

⊔{(θ ∪ θ′)(q′) | q′ ≡ q}

und

δ≡(f , [q]≡) =

{[(δ ∪ δ′)(f , q)]≡ falls (δ ∪ δ′)(f , q) definiertundefiniert sonst

Notation (für ≡ Äquivalenzrelation über X )[x ]≡ = {y ∈ X | y ≡ x}X/≡ = {[x ]≡ | x ∈ X}

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 21

../lmu.png

Beispiel: (Formale) Unifikation

q1

q2 CAT N

q3 AGR

[q4 NUM Sgq5 CAS nicht-Gen

] q6

q7 ORTH Hund

q8 AGR

[q9 NUM Sgq10 CAS Nom

]

1 Identifikation korrespondierender Knotenq1 ≡ q6 (Initialisierung)

Nach 1 Schritt mit δ:q3 ≡ q8

Nach 2 Schritten mit δ:q4 ≡ q9q5 ≡ q10

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 22

../lmu.png

Beispiel: (Formale) Unifikation

q1

q2 CAT N

q3 AGR

[q4 NUM Sgq5 CAS nicht-Gen

] q6

q7 ORTH Hund

q8 AGR

[q9 NUM Sgq10 CAS Nom

]2 Typunifikation

QU = {{q1, q6} , {q2} , {q7} , {q3, q8} , {q4, q9} , {q5, q10}}

q̄U = {q1, q6}

θ≡({q2}) = N, θ≡({q7}) = Hund , θ≡({q4, q9}) = Sg ,θ≡({q5, q10}) = Nom, θ≡({q1, q6}) = word,θ≡({q3, q8}) = agr

δ(CAT, {q1, q6}) = {q2}, δ(ORTH, {q1, q6}) = {q7}, . . .

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 23

../lmu.png

Theoretische Resultate

LemmaWenn F t F ′ definiert ist, dann ist F t F ′ ∈ F eine Merkmalstruktur.

TheoremF t F ′ ist die kleinste obere Schranke von F und F ′ in (F ,v), falls Fund F ′ eine obere Schranke haben.

Für Beweise siehe Carpenter (1992).

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 24

../lmu.png

Bedingungen I

PfadeSequenzen von Merkmalen werden Pfade genannt.Path = Feat∗ sei die Menge aller Pfade.Für p ∈ Path,F ∈ F sei F@p der Knoten in F , den man amEnde von Pfad p erhält.

BeispieleAGR–NUMSYN–SBJ–AGR–NUMORTHε (der leere Pfad)

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 25

../lmu.png

Bedingungen II

Definition (Beschreibung Desc)Die Menge der Beschreibungen über Type und Feat sei die kleinsteMenge, die folgende Bedingungen erfüllt:

A ∈ Desc, für alle A ∈ Type

p : d ∈ Desc, für p ∈ Path, d ∈ Desc

x ∈ Desc, für alle x ∈ Var

d ∧ e ∈ Desc, für d , e ∈ Desc

BeispielAGR–NUM : Sg

SYN–SBJ : 1 ∧ SEM–AGT : 1

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 26

../lmu.png

Bedingungen III

ErfülltheitDie Erfülltheitsrelation |=α zwischen Merkmalstrukturen undBeschreibungen ist gegeben durch:

F |=α A ⇐⇒ A ∈ Type und A v θ(q̄)

F |=α p : d ⇐⇒ F@p |=α d

F |=α x ⇐⇒ x ∈ Var und α(x) = F

F |=α d ∧ e ⇐⇒ F |=α d und F |=α e

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 27

../lmu.png

Erfülltheit: Beispiel

Sei F eine Merkmalstruktur.

F =

CAT N

AGR

[NUM 1 SgCAS Nominativ

] α( 1 ) = F@AGR–NUM

Welche Beschreibungen aus Desc erfüllt F?F |=α N ? Nein!F |=α CAT :N ? Ja!F |=α AGR–CAS : nicht-Genitiv ? Ja!

Denn: nicht-Genitiv v Nominativ

F |=α AGR–NUM : 1 ? Ja!Obige Schreibweise stellt diese Bedingung explizit an F und α.

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 28

../lmu.png

Beschreibungen als Merkmalstrukturen

MGSat (allgemeinster Erfüller)Zu jeder konsistenten (widerspruchsfreien) Beschreibung d ∈ Descgibt es eine Merkmalstruktur MGSat(d) ∈ F mit der Eigenschaft

∀F ∈ F . F |= d ⇐⇒ MGSat(d) v F

Konstruktion

Für A ∈ Type: MGSat(A) =[A]

MGSat(f1f2 . . . fn : d) =

[f1

[f2 . . .

[fn MGSat(d)

]]]Wenn Var = N, dann MGSat(1) =

[1

]MGSat(d ∧ e) = MGSat(d) tMGSat(e)

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 29

../lmu.png

Bedingungsprüfung per Unifikation: Beispiel

Grammatikregel mit ConstraintNP[CAS=?y] → DET[GEN=?x,CAS=?y] N[GEN=?x]

Bedingungen als Beschreibungentype :NP ∧ CAS : 2

type :DET ∧ GEN : 1 ∧ CAS : 2

type :N ∧ GEN : 1

Bedingungen als Merkmalstrukturen[type NPCAS 2

]→

type DETGEN 1

CAS 2

[type NGEN 1

]

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 30

../lmu.png

Merkmalstrukturen: Implementierung mit Zeigern

NULL

Sg

NULL

3

NULL

CONTENT

POINTER

NUM

PER

CONTENT

POINTER

CONTENT

POINTER

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 32

../lmu.png

Reentrance (Wiedereintritt)

NULL

folgt

NULL

NULL

NULL

Hund

Katze

NULL

NULL

NULL

NULL

CONTENT

POINTER

ORTH

SYN

SEM

CONTENT

POINTER

CONTENT

POINTER

SBJ

OBJ

CONTENT

POINTER

AGT

PAT

CONTENT

POINTER

CONTENT

POINTER

CONTENT

CONTENT

POINTERPOINTER

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 33

../lmu.png

Unifikation: Implementierung mit Zeigern[NUM Sg

]t[PER 3

]

NULL

Sg

NULL

NULL

NULL

q̄′3

CONTENT

POINTER

NUM

PER

CONTENT

POINTER

CONTENT

POINTERPOINTER

CONTENT

PERPOINTER

CONTENT

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 34

../lmu.png

Unifikationsalgorithmus

function unify(f1-orig, f2-orig)f1 ← deref(f1-orig) . Verfolgen von .pointerf2 ← deref(f2-orig)if f1, f2 ∈ Type then

return unifyValues(f1, f2) . z. B. per Typhierarchieif f1 ∈ ContPoint ∧ f1.content is NULL then

f1.pointer ← f2return f2

if f2 ∈ ContPoint ∧ f2.content is NULL thenf2.pointer ← f1return f1

if f1, f2 ∈ ContPoint thenf2.pointer ← f1return unify(f1.content, f2.content)

. . .Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 35

../lmu.png

Unifikationsalgorithmus II

function unify(f1-orig, f2-orig). . .if f1, f2 ∈ F then

for all feat2 ∈ f2 dofeat1← erstelle oder finde entsprechendes Feature in f1if unify(feat1, feat2) = failure then

return failurereturn f1

return failure . Kein Fall vorher hat zugetroffen

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 36

../lmu.png

Earley Algorithmus mit Merkmalen

1. MöglichkeitParsen wie bisher und am Ende versuchen, zu unifizierenUnschön: Zahl von möglichen Analysen wird nicht so früh wiemöglich beschränkt

→ Optimierungspotential

2. MöglichkeitMerkmalstruktur zu jedem Earley-Zustand hinzufügenComplete-Operation unifiziert die Merkmalstrukturen der beidenZuständePredict-Operation fügt neuen Zustand nur hinzu, wenn er vonkeinem vorhandenen subsumiert wirdNicht-destruktive Unifikation einsetzen! (Kopien machen!)

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 38

../lmu.png

Merkmalbasiertes Parsing: Komplexität

Unterschied gegenüber ursprünglichem Earley ParserZustandsmenge nach Zuständen durchsuchen, derenMerkmalstrukturen mit gegebener Merkmalstruktur unifizierenHäufiges Kopieren von Merkmalstrukturen (nicht-destruktiveUnifikation)

Komplexitätim Allgemeinen ist Unifikationsparsen „relativ teuer“NP-vollständig in manchen Versionenmit sehr umfangreichem Desc sogar Turing-vollständig (!)Zahlreiche Varianten existieren

Quasi-destruktive Unifikation (Hideto Tomabechi)Tractable HPSG (Gerald Penn)

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 39

../lmu.png

Rückblick: Heutige Themen

1 Formale GrundlagenMerkmalstrukturenSubsumptionUnifikationBedingungen

2 ImplementierungMerkmalstrukturenUnifikation

3 Parsing mit MerkmalstrukturenModifizierter Earley ParserKomplexität

Martin Schmitt (LMU) Syntax natürlicher Sprachen 19.12.2017 40