INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen
CHARTPARSING (SEKSJ 13.4) FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) 8. mars 2011 2
I dag Oppsummering fra sist: Dynamisk programmering CKY-algoritmen Chartparsing: Algoritmen(e) Bottom-up strategi Top-down strategi Formell språkteori Chomsky-hierarkiet Språk som ikke er kontekstfrie Er naturlige språk kontekstfrie? 8. mars 2011 3
Dynamic Programming DP search methods fill tables with partial results and thereby Avoid doing avoidable repeated work Solve exponential problems in polynomial time (well, no not really) Efficiently store ambiguous structures with shared sub-parts. Vi skal se på: CKY Chartparsing (Earleys algoritme svarer til en variant av chartparsing) 3/8/2011 Speech and Language Processing - Jurafsky and Martin 4
Example 3/8/2011 Speech and Language Processing - Jurafsky and Martin 5
Example 3/8/2011 Speech and Language Processing - Jurafsky and Martin 6
CKY Algorithm 3/8/2011 Speech and Language Processing - Jurafsky and Martin 7
Chart alternativ datastruktur (S, [0, 1]) (VP, [0,1]) (Det, [1,2]) (Nom, [2,3]) (N, [2,3]) (NP, [1, 3]) (S, [0,5]) S, VP, X2 NP S, VP, X2 Nom NP PP S, VP, V, Nom, N Det Nom, N P NP, PN 0 book 1 the 2 flight 3 through 4 Houston 5 8. mars 2011 8
Begrensninger i CKY 1. Grammatikken må være på CNF 2. Det foreslås strukturer som holder lokalt, men ikke globalt: Løsninger baserer seg på å kombinere TD og BU Hjelp for begge problemene å innføre dotted items 8. mars 2011 9
I dag Oppsummering fra sist: Dynamisk programmering CKY-algoritmen Chartparsing: Algoritmen(e) Bottom-up strategi Top-down strategi Formell språkteori Chomsky-hierarkiet Språk som ikke er kontekstfrie Er naturlige språk kontekstfrie? 8. mars 2011 10
States/Locations S VP [0,0] A VP is predicted at the start of the sentence NP Det Nominal [1,2] VP V NP [0,3]. An NP is in progress; the Det goes from 1 to 2 A VP has been found starting at 0 and ending at 3 3/8/2011 Speech and Language Processing - Jurafsky and Martin 11
Chart alternativ datastruktur NP Det Nom Nom Nom PP NP PP P NP Det Nom, N P NP, PN 0 book 1 the 2 flight 3 through 4 Houston 5 NP Det Nom Nom Nom PP PP P NP NP Det Nom Nom Nom PP PP P NP Partielt snapshot 8. mars 2011 12
Fundamentalregelen NP Det Nom Nom Nom PP 0 book 1 the 2 flight 3 through 4 Houston 5 NP Det Nom Fra (A α B β, [i,k] ) + (B γ, [k, j] ) Kan vi lage (A α B β, [i,j] ) 8. mars 2011 13
Chart-parsing To datastrukturer: Chart Agenda Hovedstruktur: Fjern en kant k fra agenda Hvis k ikke alt finnes i chartet: Legg k til chartet For alle aktuelle kanter m i chartet: Prøv å matche k mot m m/fundamentalregelen: Hvis de matcher, legg resultatet i agenda Gjenta til agenda er tom I tillegg må vi tenke på: Initialisering: for w ordet på plass n og alle leksikalske regler B w, for en B, skal (B w, [n-1,n] ) legges til agenda (/chart) på et tidspkt. Innfør aktive kanter: Legg de nødvendige aktive kanter på formen (B γ, [k,k]) til agenda. Hold styring på rekkefølge Ulike strategier for Rekkefølge Og dermed hvilke aktive kanter som er nødvendige for å få et fullstendig parse. 8. mars 2011 14
Bottom-up Legg de nødvendige aktive kanter på formen (B γ, [k,k]) til agenda : Når inaktiv/komplett kant (B γ, [m, n] ) flyttes til chartet: Finn alle A, β s.a. A B β er en regel, og Legg kanten (A B β, [m, n]) til agenda. (kunne alternativt lagt (A B β, [m, m]) til agenda: Kan være hensiktsmessig Gjør sammenlikning med TD-strategi lettere) 8. mars 2011 15
Make-predictions, fig. 13.17 8. mars 2011 16
8. mars 2011 17 Chart-algoritme, fig. 13.16
Top-down Legg de nødvendige aktive kanter på formen (B γ, [k,k]) til agenda (/chart) : Initialiser: Legg ( S, [0, 0]) i agenda Når aktiv/inkomplett kant (A α B β, [m, n] ) flyttes til chartet: Finn alle regler på formen (B γ) for en eller annen γ, og legg kanten (B γ, [n, n]) til agenda. 8. mars 2011 18
Make-predictions, fig. 13.17 8. mars 2011 19
Eksempel Parse: gi jenta fisk med BU og TD-strategi S VP VP IV VP TV NP VP DTV NP NP NP N IV fisk sov TV fisk kjøp DTV gi N jenta fisk 8. mars 2011 20
Egenskaper Merk Unære regler Mer enn to symb. på høyreside Dette går fint Venstrerekursjon ikke noe problem Tomme prod. OK ved TD-strategi, Problem ved BU 8. mars 2011 21
Earleys algoritme Som presentert av J&M Tilsvarer en chart-parser med: TD innføring av aktive/inkomplette kanter Streng venstre mot høyre Litt egen rutine for leksikalske oppslag Dermed behøver en bare bruke fundamentalregelen når en legger til inaktive/komplette kanter (og ser mot venstre) De aktive som ser mot høyre vil ikke se noen inaktive kanter Når en legger til aktive, må en lage nye aktive 8. mars 2011 22
Earleys algoritme Som presentert av J&M Fig. 13.13 har en løkke som begynner for each state in chart[i] do og som modifiserer chart[i] Dette kan kreve litt omskrivning ved programmering 8. mars 2011 23
I dag Oppsummering fra sist: Dynamisk programmering CKY-algoritmen Chartparsing: Algoritmen(e) Bottom-up strategi Top-down strategi Formell språkteori Chomsky-hierarkiet Språk som ikke er kontekstfrie Er naturlige språk kontekstfrie? 8. mars 2011 24
Figure 16.2
Figure 16.1
Er naturlige språk regulære? Jfr. forelesning 3 Pumpelemma for regulære språk Eks.: a n b n ikke regulært Matche ( og ) ikke regulært: ((( ) ( ))( )((( ) ( ))( ))( )) Regulært Ikke regulært 8. mars 2011 27
Kontekstfrie språk Ikke kontekstfrie: a n b n c n a m b n c m d n ww Noen fakta: Hvis L1 og L2 er kontekstfrie, behøver ikke L1 L2 være kontekstfritt. Hvis L1 er kontekstfritt og L2 er regulært, så må L1 L2 være kontekstfritt. Hvis L1 er kontekstfritt, så er f[l1] kontekstfritt. (Fins et liknende pumpelemma for CF-språk, men ikke ta detaljene her.) 8. mars 2011 28
Er naturlige språk kontekstfrie? 8. mars 2011 29
Figure 16.5 En slik struktur kan avbildes på ww og kan derfor ikke være kontekstfri. Finnes slike strukturer i naturlig språk?
Sveitsertysk Viktig: Ordstilling Kasus Høytysk: wir dem Hans das Haus anstreichen halfen. 8. mars 2011 31
Argumentet Rekursivt: L2 (regulært) ST L2 F[ST L2] = a m b n c m d n er ikke kontekstfritt. Da kan ikke ST L2 være kontekstfritt. Siden L2 er regulært og ST L2 ikke er CF, kan ikke ST være CF 8. mars 2011 32
Er dette viktig? Viktig fordi Chomsky innførte CFG men argumenterte mot dem for naturlige språk (NL) og lagde andre typer grammatikker Men det har vist seg vanskelig å vise at NL ikke er kontekstfrie. Vi har gode parsingalgoritmer for CFG-er Mindre viktig fordi Kraftigere grammatikkformalismer, som LFG og HPSG: Hensiktsmessige for å beskrive NL Langt oppe i Chomskyhierarkiet, men effektive algoritmer for å prosessere dem 8. mars 2011 33