INF2820 Datalingvistikk V2016 9. Gang 16.3 Jan Tore Lønning
I dag Kort repetisjon: Hoedideer i chart-parsing CKY og chart: anerkjenning vs parsing Formell språkteori: Chomsky-hierarkiet Er naturlige språk kontekstfrie? Trekkgrammatikker motivasjon 2
Active Chart datastruktur NP Det Nom Nom Nom PP NP Det Nom 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 15. mars 2016 3
Chart-parsing: hovedideer Dotted items, aktive kanter Active chart - datastruktur Fundamentalregelen Bruk av en agenda Innføring av aktive kanter: BU vs TD 4
Dotted item Representerer deler av fraser VP V NP PP [2, 5] En del av VP. Fra posisjon 2 til 5 VP V NP PP [2, 9] En hel VP frase med antydet struktur VP V NP PP [2, 2] Predikerer starten på en VP I posisjon 2 5
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] ) Lag (A α B β, [i,j] ) 15. mars 2016 6
Active chart-parsing Kombinere 3 typer operasjoner: 1. Lese ordene i setningen inn i chartet 2. Bruke fundamentalregelen når nye kanter legges til chartet 3. Innføre aktive kanter i chartet March 15, 2016 7
Innføre aktive kanter i chartet 2 strategier Bottom-Up (BU0) Når en inaktiv (komplett) kant (B γ, [m,n]) legges til chartet: Finn alle A, β s.a. A B β er en regel og Legg kanten (A B β, [m, m]) til agendaen. Top-Down Når en aktiv (inkomplett) kant (A α B β, [m, n] ) legges inn i chartet: Finn alle regler som har formen (B γ) for en eller annen γ, og legg kanten (B γ, [n, n]) til agendaen. Intialiser med ( S, [0, 0]) March 15, 2016 8
I dag Kort repetisjon: Hoedideer i chart-parsing CKY og chart: anerkjenning vs parsing Formell språkteori: Chomsky-hierarkiet Er naturlige språk kontekstfrie? Trekkgrammatikker motivasjon 9
CKY Parsing og Chart parsing Er dette egentlig en parser? Strengt tatt: Nei! Det er en anerkjenner Hvordan kan vi lage en parser som følger denne algoritmen? 3/15/2016 Speech and Language Processing - Jurafsky and Martin 10
Alternativ Alt 1: Bygg trær underveis og legg dem i chartet S S S S a Med en flertydig grammatikk kan chartet/tabellen vokse eksponensielt 11
Eksempel (0) a (1) a (2) a (3) a (4) --------------------------------------------------------------------------- 0) (Sa) (S(Sa)(Sa)) (S(S(Sa)(Sa))(Sa)) (S(S(S(Sa)(Sa))(Sa))(Sa)) (S(Sa)(S(Sa)(Sa))) (S(S(Sa)(S(Sa)(Sa)))(Sa)) (S(S(Sa)(Sa))(S(Sa)(Sa))) (S(Sa)(S(S(Sa)(Sa))(Sa))) (S(Sa)(S(Sa)(S(Sa)(Sa)))) --------------------------------------------------------------------------- 1) (Sa) (S(Sa)(Sa)) (S(S(Sa)(Sa))(Sa)) (S(Sa)(S(Sa)(Sa))) --------------------------------------------------------------------------- 2) (Sa) (S(Sa)(Sa)) --------------------------------------------------------------------------- 3) (Sa) --------------------------------------------------------------------------- March 15, 2016 12
Et bedre alternativ Ikke bygg hele trær Men inkluder i strukturen informasjon som gjør det mulig å konstruere alle trær. (Merk: Hvis vi vil skrive ut alle trær får vi uansett en eksponensiell algoritme fordi antallet trær til en streng kan være eksponensielt i lengden av inputt.) 13
Eksempel (0) a (1) a (2) a (3) a (4) ------------------------------------------------------------------------------------ 0) (1,S,'a') (3,S,[(1,2)]) (6,S,[(1,5),(3,4)]) (10,S,[(1,9),(3,8),(6,7)]) ------------------------------------------------------------------------------------ 1) (2,S,'a') (5,S,[(2,4)]) (9,S,[(2,8),(5,7)]) ------------------------------------------------------------------------------------ 2) (4,S,'a') (8,S,[(4,7)]) ------------------------------------------------------------------------------------ 3) (7,S,'a') ------------------------------------------------------------------------------------ 14
I dag Kort repetisjon: Hoedideer i chart-parsing CKY og chart: anerkjenning vs parsing Formell språkteori: Chomsky-hierarkiet Er naturlige språk kontekstfrie? Trekkgrammatikker motivasjon 15
Språk og grammatikk Språk (formelt): En endelig mengde A Ø En undermengde L A* Grammatikk: En endelig innretning som definerer L Klasser av språk Til hver type av grammatikker svarer en klasse språk Et språk kan være i flere klasser Eks: A = {a, b, c,, å} L = {w w er et norsk ord} Eks: Regulære uttrykk Endelige tilstandsautomater Kontekstfrie grammatikker Unifikasjonsgrammatikker Eks: Et språk som er regulært er også kontekstfritt og kan beskrives av en unifikasjonsgrammatikk 15. mars 2016 16
Chomsky-hierakiet J&M, fig. 16.1
Chomsky-hierarkiet J&M, fig. 16.2 Unification grammars (=Feature-based grammars, NLTK) Vi er interessert i Type 3: Regulære Type 2: Kontekstfrie Unifikasjonsgrammatikker I sin mest generelle form beskriver de type 0-språk
Spørsmål Formelle språk: Hvilke språk er regulære? Hvilke språk er kontekstfrie? Hvilke språk er ikke kontekstfrie? Naturlige språk: Er naturlige språk regulære? Er de kontekstfrie? 19
Regulære språk Følgende er ekvivalente: a) L kan beskrives med et regulært uttrykk. b) Det fins en NFA som anerkjenner L. c) Det fins en DFA som anerkjenner L. Definisjon: Alle endelige språk er regulære Hvis M og L er regulære, så er L M, LM og L* regulære Kan bevises: Hvis M og L er regulære, så er L M og A*-L regulære 20
Ikke alle språk er regulære Eksempler, A={a,b,c} Regulære L = {w w > 10 000 000} L = {w w inneholder sekvensen abc} L = {w w inneholder 118 a-er} Ikke-regulære L={w w w A*} L={w w R w A*} L={a n b n } Jfr. Pumpelemmaet, forel. 4 15. mars 2016 21
Kontekstfrie og regulære språk Alle regulære språk er kontekstfrie Det fins kontekstfrie språk som ikke er regulære: L = {a n b n n > 1} S ab S asb 15. mars 2016 22
Kontekstfrie språk Hvis L1 og L2 er kontekstfrie, er L1 L2 kontekstfritt; behøver ikke L1 L2 være kontekstfritt; behøver ikke A* - L1 være kontekstfritt. Hvis L1 er kontekstfritt og L2 er regulært, så må L1 L2 være kontekstfritt. Hvis L er kontekstfritt og h er en homomorfisme: Så er h[l] et kontekstfritt språk Hvor en funksjon h: A* B* er en homomorfisme hvis h(wu) = h(w)h(u) h(ε) = ε 15. mars 2016 23
Formelle språk som ikke er CFG Eksempler: a n b n c n a n b m c n d m ww Hvorfor? Det finnes et pumpelemma for kontekstfrie språk, men vi skal ikke se på det, eller bevis for eksemplene Intuisjon: Tenk en bestemt SR-parser for en CFG G Det finnes et tall k og parseren kan bare se de k øverste elementene på stacken og handle ut i fra det Dette gir f.eks. forskjellen mellom ww R og ww 24
Er naturlige språk regulære? Jfr. forelesn. 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 15. mars 2016 25
I dag Kort repetisjon: Hoedideer i chart-parsing CKY og chart: anerkjenning vs parsing Formell språkteori: Chomsky-hierarkiet Er naturlige språk kontekstfrie? Trekkgrammatikker motivasjon 26
Er naturlige språk kontekstfrie? 15. mars 2016 27
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. 15. mars 2016 29
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 15. mars 2016 30
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 15. mars 2016 31
I dag Kort repetisjon: Hoedideer i chart-parsing CKY og chart: anerkjenning vs parsing Formell språkteori: Chomsky-hierarkiet Er naturlige språk kontekstfrie? Trekkgrammatikker motivasjon 32
CFG kan gi to typer begrensninger 1. Det er språk som ikke er kontekstfrie og som overhodet ikke kan beskrives av kontekstfrie grammatikker. Har akkurat diskutert om dette gjelder for naturlige språk 2. Kanskje et språk kan beskrives av en CFG, men ikke på en hensiktsmessig måte: Mange regler Lite oversiktelig 33
2. Er CFG hensiktsmessige for å beskrive naturlige språk? Eksempel 1: samsvar («agreement») Eksempel 2: VP og subkategorisering Se mer i J&M Seksj. 12.3 34
Agreement (no: samsvar) By agreement, we have in mind constraints that hold among various constituents that take part in a rule or set of rules For example, in English, determiners and the head nouns in NPs have to agree in their number. This flight Those flights *This flights *Those flight Speech and Language Processing - Jurafsky and Martin 35 3/15/2016
Verb Phrases English VPs consist of a head verb along with 0 or more following constituents which we ll call arguments. Speech and Language Processing - Jurafsky and Martin 36 3/15/2016
Subcategorization But, even though there are many valid VP rules in English, not all verbs are allowed to participate in all those VP rules. We can subcategorize the verbs in a language according to the sets of VP rules that they participate in. This is a modern take on the traditional notion of transitive/intransitive. Modern grammars may have 100s or such classes. Speech and Language Processing - Jurafsky and Martin 37 3/15/2016
Subcategorization Sneeze: John sneezed Find: Please find [a flight to NY] NP Give: Give [me] NP [a cheaper fare] NP Help: Can you help [me] NP [with a flight] PP Prefer: I prefer [to leave earlier] TO-VP Told: I was told [United has a flight] S Speech and Language Processing - Jurafsky and Martin 38 3/15/2016
Possible CFG Solution Possible solution for agreement. Can use the same trick for all the verb/vp classes. SgS -> SgNP SgVP PlS -> PlNp PlVP SgNP -> SgDet SgNom PlNP -> PlDet PlNom PlVP -> PlV NP SgVP ->SgV Np 3/15/2016 Speech and Language Processing - Jurafsky and Martin 39
Hvorfor ikke? F.eks. NLTK ch.9, ex. 8 S NP_SG VP_SG S NP_PL VP_PL NP_SG Det_SG N_SG NP_PL Det_PL N_PL VP_SG V_SG VP_PL V_PL Det_SG 'this' Det_PL 'these' N_SG 'dog' N_PL 'dogs' V_SG 'runs' V_PL 'run' Problem Eksplosjon av regler NP DET N 16 regler i tysk (4 kasus*(3 genus i sg + pl) NPs: 1., 2., 3. person Manglende generalisering: De 16 reglene har mye felles March 15, 2016 40
Trekk ( features ) trinn for trinn NLTK ch.9, ex. 8 S NP_SG VP_SG S NP_PL VP_PL NP_SG Det_SG N_SG NP_PL Det_PL N_PL VP_SG V_SG VP_PL V_PL Det_SG 'this' Det_PL 'these' N_SG 'dog' N_PL 'dogs' V_SG 'runs' V_PL 'run' Kategorier og trekk S NP[NUM=sg] VP[NUM=sg] S NP[NUM=pl] VP[NUM=pl] NP[NUM=sg] Det[NUM=sg] N[NUM=sg] NP[NUM=pl] Det[NUM=pl] N[NUM=pl] VP[NUM=sg] V[NUM=sg] VP[NUM=pl] V[NUM=pl] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run' March 15, 2016 41
Trekk trinn for trinn 2 Kategorier og trekk S NP[NUM=sg] VP[NUM=sg] S NP[NUM=pl] VP[NUM=pl] NP[NUM=sg] Det[NUM=sg] N[NUM=sg] NP[NUM=pl] Det[NUM=pl] N[NUM=pl] VP[NUM=sg] V[NUM=sg] VP[NUM=pl] V[NUM=pl] Saml sammen likheter S NP[NUM=?x] VP[NUM=?x] NP[NUM=?x] Det[NUM=?x] N[NUM=?x] VP[NUM=?x] V[NUM=?x] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run' Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run' March 15, 2016 42
Intuitiv tolkning CFG S NP VP Med trekk S NP[NUM=?x] VP[NUM=?x] Hvis words[i,j] er en NP og words[j,k] er en VP Så kan words[i,k] være en S Hvis words[i,j] er en NP og words[j,k] er en VP og NP sin NUM = VP sin NUM Så kan words[i,k] være en S March 15, 2016 43
Mot en formalisering Formelt: Kan en kategori ha flere enn ett trekk? Hvilke verdier kan et trekk ta? Hva er de mulige grammatikkreglene? Hvordan skal vi tolke grammatikkreglene? Anvendelser: Hvordan skal en grammatikk med trekk for et gitt fenomen formuleres naturlig? Hva mer kan trekk brukes til? Generaliseringer Grammatikker for språk som ikke er kontekstfrie Semantiske representasjoner Komputasjonelt: Hvordan kan trekkgrammatikker parses? March 15, 2016 44