PDF-File

Werbung
1
stochastische kontextfreie Grammatik
Eine kontextfreie Grammatik G ist ein 4-Tupel,
(V; ; R; S )
mit Nicht-Terminalsymbolen V ,
Terminalsymbolen ,
Regeln R der Form X ! (mit X
und dem Startsymbol S 2 V .
2 V; 2 (V [ ))
Warum Wahrscheinlichkeiten dazu?
Wertung von Hypothesen
(z.B. bei Spracherkennung),
Auswahl
des wahrscheinlichsten Ergebnisses
(Parsing),
frühzeitiges Ausschalten unwahrscheinlicher
Analyseversuche (Parsing, Effizienzsteigerung)
2
stochastische kontextfreie Grammatik
Eine stochastische oder probabilistische kontextfreie
Grammatik G ist ein 5-Tupel, (V; ; R; S; P ),
mit V; ; R; S wie vorher und
P eine Funktion von R nach [0,1] mit
8X 2 V : 2(VX[) P (X ! ) = 1
Die Summe der Wahrscheinlichkeiten für die Regeln
mit einem bestimmten Nichtterminal auf der linken
Seite muss 1 sein.
Beispiel:
S
VP
VP
NP
V
Adv
! NP V P
!V
! V Adv
! Hans
! schläft
! ständig
(1:0)
(0:5)
(0:5)
(1:0)
(1:0)
(1:0)
Wahrscheinlichkeit einer Zeichenfolge: Summe der
W'keiten der Parsebäume dazu.
W'keit eines Parsebaums: W'keit der erzeugenden
Linksableitung
3
Wahrscheinlichkeit einer Ableitung
Wahrscheinlichkeit einer Linksableitung:
Seien die Regeln durchnummeriert und die Ableitung
repräsentiert durch die Folge der verwendeten Regeln. Sei Xm eine Zufallsvariable, die von der Regel
bestimmt wird, die in Schritt m verwendet wurde.
Dann ist eine Linksableitung ein stochastischer Prozess X1; ::; XM mit der Regelmenge der Grammatik
als Zustandsmenge.
Die W'keit einer Linksableitung ist:
P (X1 = ri ; ::; XM = riM )
= P (XM = riM j X1 = ri ; ::; XM ,1 = riM , )
QP (X1 = ri ; ::; XM ,1 = riM , )
= Mm=1 P (Xm = rim j X1 = ri ; ::; Xm,1 = rim, )
1
1
1
1
1
1
1
nötig: alle Faktoren, d.h. alle bedingten W'keiten für
jede Regel.
Annahme, Regeln unabhängig von vorangegangenen Ableitungsschritten:
P (Xm = rim j X1 = ri ; ::; Xm,1 = rim, ) = P (rim )
1
also P (X1
1
M
Y
= ri1 ; ::; XM = riM ) = m=1
P (rim )
4
Parsingbeispiel
Grammatik:
1
2
3
4
5
6
7
8
9
10
S
VP
VP
NP
NP
PP
V
N
N
D
!
!
!
!
!
!
!
!
!
!
NP V P
V NP
V P PP
DN
NP PP
'mit dem Fernglas'
'sieht'
'Dame'
'Frau'
'die'
0.2
0.8
NP
1
D
0.8
N
S
0.2
0.7
1
VP
0.3
PP
0.3
0.7
V
(1:0)
(0:7)
(0:3)
(0:8)
(0:2)
(1:0)
(1:0)
(0:4)
(0:6)
(1:0)
5
Lesarten von 'Die Dame sieht die Frau
mit dem Fernglas'
I:
S
NP
D
VP
N
NP
V
PP
NP
D
N
Die Dame sieht die Frau mit dem Fernglas
II:
S
NP
D
VP
N
VP
PP
V
NP
D
N
Die Dame sieht die Frau mit dem Fernglas
6
Die Ableitungen
S ) w über (ohne lexikalische Ersetzungen):
I:
(S, NP VP, D N VP,
D N V NP,
D N V NP PP, D N V D N PP)
= (1, 4, 2, 5, 4)
II:
(S, NP VP, D N VP,
D N VP PP,
D N V NP PP, D N V D N PP)
= (1, 4, 3, 2, 4)
Welche davon ist wahrscheinlicher?
P (I ) = (1 0:8 0:7 0:2 0:8) = 0:09
P (I ) = (1 0:8 0:3 0:7 0:8) = 0:13
7
Notationen zu Parsebäumen
1 2:
der am weitesten links stehende NichtterminalKnoten von 1 wird durch 2 ersetzt, linker Knoten und
Wurzel müssen dabei das gleiche Nichtterminal als
Label tragen.
l(n) : Label des Knotens n.
R( ) : Wurzel von .
Y ( ) :
“yield“ des Baumes , Ergebnis der Regelanwendung, generierter String.
L( ) :
Label des am weitesten links stehenden Knoten in .
8
Korrespondenz zu partiellen
Parsebäumen
Regel X !X1; ::XK entspricht Teilbaum mit Wurzel x
und Knoten X 1; ::Xk .
Sei m der Teilbaum zu rm, 1 :: M = tm die Folge
der Teilbäume der Ableitung ri1 ; ::; riM . Dabei ist M
der vollständige Parsebaum.
Dann ist die Wahrscheinlichkeit eines Parsebaums:
M
Y
P ( ) = P (tM ) = m=1
P (m j tm,1)
P (m j 1 :: m,1) = P (rm j r1; ::; rm,1)
Gesucht: Extraktor-Funktion g , die die relevanten Eigenschaften von tm zur W'keitbestimmung extrahiert,
mit:
P (k+1 j tk ) P (k+1 j g(tk ))
und das ist der Label des am weitesten links stehenden Knotens im Ergebnis von k , g ( ) = L(Y ( )).
9
Ein Parser für SKFGs
Adaption des Viterbi-Algorithmus, Variante des CYKParsers, Zeitkomplexität O(N 3T 3),
Speicherkomplexität O(NT 2).
VN = X1; ::XN ; S = X1; ! = w1; ::wT , G in CNF
(Analyse-W'keiten bleiben erhalten).
Akkumulator n(Xi), Knoten n, Nichtterminale Xi.
Jeder Knoten n bestimmt einen Teilstring mit den
Stringpositionen (s; t), sei ws;t = ws+1; ::; wt dieser
Teilstring.
Die dazu inverse Funktion (nur partiell definiert!) bestimmt aus einem Teilstring denjenigen Parsebaumknoten, der am nächsten zur Wurzel liegt.
s;t(Xi) = max:Y ()=ws;t P ( j l(R( )) = Xi);
1 i N; 0 s < t T
W'keit des wahrscheinlichsten Baums mit ! = w0T :
0;t(s) = max:Y ()=! P ( j l(R( )) = S )
Der Baum selbst ist:
arg max:Y ()=! P (
j l(R( )) = S )
10
weiter: Parser
Sei pi!jk = P (Xi!Xj Xk j Xi); pi!w = P (Xi!w j Xi).
Konstruktion des Parsebaums, bottom-up:
1. Initialisierung
8i; t : 1 i; N; 1 t T
t,1;t(Xi) = pi!wt
2. Rekursion
8i; r; t : 1 i; N; 1 r + 1 < t T
r;t(Xi) = max 1 j N pi!jk r;s(Xj )s;t(Xk )
1kN
r<s<t
2
66
66
66
4
3
77
77
77
5
r;t(Xi)
r;t(Xi) = arg max 1 j N pi!jk r;s(Xj )s;t(Xk )
1kN
r;t(Xi)
r<s<t
3. Rekonstruktion, n = (s; t)
wenn t , s 2
= nil
(s; s;t(l(n))) sonst
nil
wenn t , s 2
right(n) =
(s;t(l(n)); t) sonst
l(left(n)) = Xs;t(l(n))
l(right(n)) = Xs;t(l(n))
left(n)
8
>
>
<
>
>
:
8
>
>
<
>
>
:
11
weiter Parser
Begründungen
Initialisierung:
Die Nichtterminale, die die Terminale erzeugen, erhalten die W'keiten der lexikalischen Regeln.
Rekursion:
; sammeln die Indizes der rechten Seiten der verwendeten Regeln auf, speichert die String-Position
zwischen X und X.
r;t(Xi) wird aus den W'keiten für Xj und Xk berechnet:
max:Y ()=wr;t P ( j l(R( )) = Xi)
= maxj;k;s[P (Xi!Xj Xk j Xi)
max 0:Y ( 0)=wr;sP ( 0 j l(R( 0)) = Xj )
max 00:Y ( 00)=ws;tP ( 00 j l(R( 0)) = Xk)]
12
Parameterschätzungen für prob.
Grammatiken
wenn ein annotierter Korpus vorliegt:
relative Häufigkeiten verwenden, Achtung bei
spärlichen Daten
wenn nicht:
– Zuerst alle gültigen Parsebäume erzeugen,
dann eine Gleichverteilung für alle Bäume pro
Satz annehmen.
Häufigkeitszählung der verwendeten Regeln
(nach linkem Symbol), gewichtet mit der W'keit
des Baumes: ergibt neue Verteilung für die Regeln, daraus neue Verteilung für die Bäume; das
kann beliebig wiederholt werden.
Problem: Komplexität, Anzahl der Parsebäume
exponentiell zur Stringlänge.
– Inside-Outside-Algorithmus
13
Parameterschätzungen für prob.
Grammatiken
Inside-Outside-Algorithmus
Idee: Verwende die aktuellen W'keiten der Regeln,
um davon abhängige andere Masse einzuschätzen.
Ziel: Finde die Menge von Regel-W'keiten, mit denen
es am ehesten möglich ist, den Trainings-Korpus zu
generieren.
Die Variablen:
Die Inside-W'keit Ii! (s; t) schätzt die W'keit
P (Xi ) ws;t j Xi);
dass ws;t abgeleitet wird, wenn Xi vorliegt.
Die Outside-W'keit Oi! (s; t) schätzt die W'keit
P (S ) w0;sXiwt;T j S );
dass die o.a. Zeichenkette von S abgeleitet
wenn S vorliegt.
wird,
14
Inside-Variablen-Initialisierung:
8i; t : 1 i N; 1 t T
Ii! (t , 1; t) = pi!wt
Inside-Variablen-Rekursion
8i; r; t : 1 i N; 1 r < t T
N
X
X
!
Ii (r; t) = j;k=1 r<s<t
Pi!jk Ij! (r; s) Ik! (s; t)
Outside-Variablen-Rekursion
8i; t : 1 i N; 1 t T
O!
15
Herleitung
Inside:
P (Xi ) wr;t j Xi) =
PN
P (Xi ) Xj Xk ) wr;t j Xi) =
j;k=1
PN
P
j;k=1 r<s<t P (Xi ) Xj Xk j Xi) P (Xj ) wr;s j Xj ) P (Xk ) ws;t j Xk )
Outside:
P (S ) w0;sXiwt;T j S ) =
PN
Pr,1
j;k=1P s=0 P (S ) w0;sXj wt;T ) w0;sXk Xiwt;T ) w0;sws;r Xiwt;T )+
T
P (S ) w0;rXj ws;T ) w0;rXiXk ws;T ) w0;rXiwt;sws;T ) =
s=t+1
PN
Pr,1
w0;sXj wt;T )P (Xj ) Xk Xi j Xj )P (Xk ) ws;r j Xk )+
P
(
S
)
j;k=1P s=0
T
s=t+1 P (S ) w0;r Xj ws;T P (Xj ) XiXk j Xj )P (Xk ) wt;s j Xk ) =
Komplexität für beide Variablen O(N 3T 3).
16
Wiedereinschätzungsgleichung
Idee:
pi!w = P (Xi!w j Xi) = P (PX(iX!)w)
i
Xj Xk )
pi!jk = P (Xi!Xj Xk j Xi) = P (XPi!
(X )
i
mit:
!
P
i
P (Xi) = j W j !2W P !
1
1
P (Xi!w) = j W j
P (Xi!Xj Xk ) =
1
X
j W j !2W
X
X
!2W
! (t , 1; t) p
O
i!w
i
1 t T; w = w
P!
t
! (r; t) p
! (r; s) I ! (s; t)
O
I
i
!
jk
j
k
0r<s<tT i
P!
Herunterladen