Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf ·...

37
Probabilistische kontextfreie Grammatiken Vorlesung “Computerlinguistische Techniken” Alexander Koller 08. Dezember 2015

Transcript of Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf ·...

Page 1: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Probabilistischekontextfreie Grammatiken

Vorlesung “Computerlinguistische Techniken”

Alexander Koller

08. Dezember 2015

Page 2: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Let’s play a game

• Ich gebe Ihnen ein Nichtterminalsymbol. ‣ S, NP, VP, PP, … oder POS-Tag

• Sie können einen der folgenden Züge machen:

S → NP VP NNP → Hans

NT in andere NT expandieren

POS-Tag inWort expandieren

Page 3: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Penn Treebank POS tags

Page 4: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Ein paar echte Bäume

Penn Treebank, #0001

Penn Treebank, #0002

nltk.corpus.treebank.parsed_sents("wsj_0001.mrg")[0].draw()

Page 5: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

AmbiguitätenWir wollen disambiguieren, d.h. “korrekten” Parse für ambigen Satz berechnen.

S

NP VP

VP

I

V NP

anshot

PP

P

in

Det N

elephant

NP

my

PRP$ N

pyjamas

S

NP VP

I

VNP

anshot

PP

P

in

Det

N

elephant

NP

my

PRP$ N

pyjamas

N

Woran erkennen wir den “korrekten” Baum?Wie berechnen wir ihn effizient? (NB: exponentiell viele Lesarten)

Page 6: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Probabilistische kfGen

• Eine probabilistische kontextfreie Grammatik (PCFG)ist eine kfG, in der ‣ jede Produktionsregel A → w hat eine W. P(A → w | A):

wenn wir A expandieren, wie w. ist Regel A → w?

‣ für jedes Nichtterminal A müssen W. zu eins summieren:

‣ wir schreiben abgekürzt P(A → w) für P(A → w | A)

X

w

P (A ! w | A) = 1

Page 7: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Beispiel

S → NP VP [1.0] VP → V NP [0.5]NP → Det N [0.8] VP → VP PP [0.5]NP → i [0.2] V → shot [1.0]N → N PP [0.4] PP → P NP [1.0]N → elephant [0.3] P → in [1.0]N → pyjamas [0.3] Det → an [0.5]

Det → my [0.5]

(der Einfachheit halber tun wir so, als ob Det = PRP$)

Page 8: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Generativer Prozess

• PCFG erzeugt zufällige Ableitung der kfG. ‣ Ereignis = Expansion von NT durch Produktionsregel

‣ alle statistisch unabhängig voneinander

S⇒ NP VP ⇒ i VP ⇒ i VP PP⇒* i shot an elephant in my pyjamas

1.0 0.2 0.5

0.00072

S⇒ NP VP ⇒ i VP ⇒* i V Det N⇒* i shot … pyjamas

1.0 0.2 0.4

0.4⇒ i V Det N PP

0.00057

Page 9: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Parsebäume

S

NP VP

I

VNP

anshot

PP

P

in

Det

N

elephant

NP

my

Det N

pyjamas

N

S

NP VP

VP

I

V NP

anshot

PP

P

in

Det N

elephant

NP

my

Det N

pyjamas

p = 0.00072 p = 0.00057

“korrekt” = wahrscheinlichster Parsebaum

0.2 0.5

0.5

0.8

0.5 0.3

0.8

0.5 0.3

0.2 0.5

0.8

0.5

0.8

0.5 0.3

0.4

0.3

Page 10: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Sprachmodellierung

• Wie in anderen generativen Modellen (z.B. HMMs) können wir W. P(w) von String durch Marginalisierung über mögliche Bäume berechnen.

• Kann man effizient mit Inside-W. berechnen;siehe nächstes Mal.

P (w) =X

t2parses(w)

P (t)

Page 11: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Disambiguierung

• Annahme: “korrekter” Parsebaum = Baum, der höchste W. hat, vom Zufallsprozess erzeugt zu werden, d.h.

• Wir verwenden Variante des Viterbi-Algorithmus, um diesen Baum auszurechnen.

• Hier: Viterbi auf Grundlage von CKY; kann man auch mit anderen Parsingalgorithmen machen.

argmax

t2parses(w)P (t)

Page 12: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Intuition

VP NP N PP

VP NP N

Det

V

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Normale CKY-Parsechart: Ch(i,k) = {A | A ⇒* wi … wk-1}

Page 13: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Intuition

VP: 0.0036 NP: 0.006 N: 0.014 PP: 0.12

VP: 0.06 NP: 0.12 N: 0.3

Det: 0.5

V: 1.0

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

Page 14: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi + CKY

• Definiere für jeden Span (i,k) und Nichtterminal A die W.

• Berechne V iterativ “von innen nach außen”: mit kleinen Spans anfangen und immer größer werden.

V (A, i, k) = max

Ad)⇤wi...wk�1

P (d)

V (A, i, i+ 1) = P (A ! wi)

V (A, i, k) = max

A!B Ci<j<k

P (A � B C) · V (B, i, j) · V (C, j, k)

Page 15: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY: Pseudocode

set all V[A,i,j] to 0

for all i from 1 to n: for all A with rule A -> wi: add A to Ch(i,i+1) V[A,i,i+1] = P(A -> wi)

for all b from 2 to n: for all i from 1 to n-b+1: for all k from 1 to b-1: for all B in Ch(i,i+k) and C in Ch(i+k,i+b): for all production rules A -> B C: add A to Ch(i,i+b) if P(A -> B C) * V[B,i,i+k] * V[C,i+k,i+b] > V[A,i,i+b]: V[A,i,i+b] = P(A -> B C) * V[B,i,i+k] * V[C,i+k,i+b]

Page 16: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

Page 17: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

Page 18: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

NP: 0.12

Page 19: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

NP: 0.12

N: 0.014

Page 20: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

VP: 0.06 NP: 0.12

N: 0.014

Page 21: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

VP: 0.06 NP: 0.12

N: 0.014NP: 0.0058

Page 22: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

VP: 0.06 NP: 0.12

N: 0.014NP: 0.0058VP: 0.0029

Page 23: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Viterbi-CKY am Beispiel

shot

an

elephant

in my pyjamas

… el

epha

nt

… an

… sh

ot

… in

my

pyja

mas

Viterbi-CKY-Parsechart:Ch(i, k) = {(A, p) | p = max

d:A)⇤wi...wk�1

P (d)}

V: 1.0

Det: 0.5

N: 0.3

PP: 0.12

VP: 0.06 NP: 0.12

N: 0.014NP: 0.0058VP: 0.0036VP: 0.0029

Page 24: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Bemerkungen

• Viterbi-CKY hat genau die gleichen Schleifenwie der normale CKY-Parser. ‣ Berechnung von V ändert nur den konstanten Faktor.

‣ Asymptotische Laufzeit immer noch O(n3)

• Berechne optimalen Parsebaum mit Backpointers. ‣ gleiche Backpointers wie in normalem CKY (siehe 6. Vorlesung)

‣ wenn wir nur den besten Parse wollen (und nicht alle Parses),reicht es, den besten Backpointer für jedes (A,i,k) zu speichern;d.h. weniger Speicherverbrauch als normaler CKY

Page 25: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Wo kriegt man eine PCFG?

• Quellen für kontextfreie Grammatiken: ‣ von Hand schreiben

‣ aus einer Baumbank ablesen

‣ Grammatikinduktion aus unannotiertem Text

• Quellen für Regelw., nachdem wir kfG haben: ‣ Maximum-Likelihood-Schätzung aus Baumbank

‣ EM-Training auf unannotiertem Text (inside-outside)

Page 26: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Die Penn Treebank

• Große Textmenge (für die 1990er), annotiert mit POS-Tags und syntaktischen Strukturen.

• Besteht aus mehreren Teilkorpora: ‣ Wall Street Journal: 1 Jahr Zeitungstext, 1 Mio Wörter

‣ Brown-Korpus: balanciertes Korpus, 1 Mio Wörter

‣ ATIS: Flugbuchungs-Dialoge, 5000 words

‣ Switchboard: gesprochener Dialog, 3 Mio Wörter

• WSJ PTB ist Standardkorpus für Training und Evaluation von PCFG-Parsern.

Page 27: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Annotationsformat

That cold , empty sky was full of fire and light .

DT JJ , JJ NN VBZ JJ IN NN CC NN .

NP-SBJ NP

PPADJP-PRD

VP

S

Page 28: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Annotationsformat

That cold , empty sky was full of fire and light .

DT JJ , JJ NN VBZ JJ IN NN CC NN .

NP-SBJ NP

PPADJP-PRD

VP

S

((S (NP-SBJ (DT That) (JJ cold) (, ,) (JJ empty) (NN sky) ) (VP (VBD was) (ADJP-PRD (JJ full) (PP (IN of) (NP (NN fire) (CC and) (NN light) )))) (. .) ))

Page 29: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Grammatik ablesen

• Kann direkt die “Grammatik in den Köpfen der Annotatoren” von annotierten Bäumen ablesen.

• Ergibt sehr große kfG, z.B. 4500 Regeln für VP: VP → VBD PPVP → VBD PP PPVP → VBD PP PP PPVP → VBD PP PP PP PPVP → VBD ADVP PPVP → VBD PP ADVP…VP → VBD PP PP PP PP PP ADVP PP

Page 30: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Grammatik ablesen

• Kann direkt die “Grammatik in den Köpfen der Annotatoren” von annotierten Bäumen ablesen.

• Ergibt sehr große kfG, z.B. 4500 Regeln für VP: VP → VBD PPVP → VBD PP PPVP → VBD PP PP PPVP → VBD PP PP PP PPVP → VBD ADVP PPVP → VBD PP ADVP…VP → VBD PP PP PP PP PP ADVP PP

“This mostly happens because we go from football in the fall to lifting in the winter

to football again in the spring.”

Page 31: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Evaluation

• Schritt 1: Aufteilung in Trainings- und Testkorpus.Konventionelle Aufteilung der WSJ-Baumbank:

2-21 23

TestTraining

24

Devel

Page 32: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Evaluation

• Schritt 2: Maß für Akkuratheit des Parsers?

• Erste Idee: Messe “exact match”, d.h. Anteil der Sätze, für die Parser den gleichen Baum wie Annotator baut.

• Das ist zu streng: ‣ Parser trifft beim Parsen eines Satzes viele Entscheidungen

‣ eine einzige falsche Entscheidung macht ganzen Baum “falsch”

‣ Wir brauchen ein feinkörnigeres Maß.

Page 33: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Vergleich von Parsebäumen

• Idee 2 (PARSEVAL): Vergleiche Struktur von Parsebaum und Goldstandard-Baum (= Annotation). ‣ Labeled: Welche Konstituenten (Span + syntaktische

Kategorie) in einem Baum gibt es auch im anderen?

‣ Unlabeled: Wie teilen die beiden Bäume den Satz in Teilstrings auf (syntaktische Kategorien egal)?

But the concept is workable

CC DT NN VBZ JJ

NP-SBJ ADJP

VPS

But the concept is workable

IN DT NN VBZ JJ

NP ADJP

VPS

PPNP-SBJ

Gold Parse

Page 34: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

PrecisionWelcher Anteil von Konstituenten im Parsebaum gibt es auch im Gold-Baum?

But the concept is workable

CC DT NN VBZ JJ

NP-SBJ ADJP

VPS

But the concept is workable

IN DT NN VBZ JJ

NP ADJP

VPS

PPNP-SBJ

Gold Parse✓

✓✓✓✓

(✓)

(✓) (✓)

Labeled Precision = 7 / 11 = 63.6% Unlabeled Precision = 10 / 11 = 90.9%

Page 35: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

RecallWelchen Anteil von Konstituenten im Gold-Baum gibt es auch im Parsebaum?

But the concept is workable

CC DT NN VBZ JJ

NP-SBJ ADJP

VPS

But the concept is workable

IN DT NN VBZ JJ

NP ADJP

VPS

PPNP-SBJ

Gold Parse✓

(✓)

Labeled Recall = 7 / 9 = 77.8% Unlabeled Recall = 8 / 9 = 88.9%

✓✓✓✓

Page 36: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

F-Score

• Precision und Recall messen gegenläufige Aspekte eines Parsers (“Korrektheit” und “Vollständigkeit”).

• Oft will man eine einzige Zahl; dafür f-score:

• Im Beispiel: labeled f-score 70.0, unlabeled f-score 89.9.

F1 =2 · P ·RP +R

Page 37: Probabilistische kontextfreie Grammatiken - tagh.detagh.de/tom/wp-content/uploads/12-PCFG.pdf · Bemerkungen • Viterbi-CKY hat genau die gleichen Schleifen wie der normale CKY-Parser.

Zusammenfassung

• PCFGs erweitern kfGen um Regelw. ‣ Ereignisse sind Expansionen von Nichtterminalen.

Diese sind alle statistisch unabhängig.

‣ Viterbi-CKY-Parser berechnet wahrscheinlichsten Parsebaum für Satz in kubischer Zeit.

• Grammatik aus Baumbank ablesen. ‣ nächstes Mal: Schätzung von Regelwahrscheinlichkeiten.

• Evaluation von PCFG-Parsern.