INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

Like dokumenter
INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

2/24/2012. Dynamic Programming. I dag. Example. Example PARSING. Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V Gang 19.3 del 1 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

2/20/2012. I dag. Parsing. Recursive descent parser SÆRLIG TABELLPARSING. Venstre- og høyreavledning. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

2/22/2011. Høyre- og venstreavledninger. I dag. Chomsky-normalform (CNF) Chomsky-normalform (CNF) PARSING. Jan Tore Lønning & Stephan Oepen

2/24/2012. Context-Free Grammars. I dag. Avledning. Eksempel: grammar1 PARSING. Jan Tore Lønning

3/8/2011. I dag. Dynamic Programming. Example. Example FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) Jan Tore Lønning & Stephan Oepen

3/5/2012. Chart alternativ datastruktur. Fundamentalregelen. Chart-parsing. Bottom-up FORMELL SPRÅKTEORI. Jan Tore Lønning

3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen

MAKE MAKE Arkitekter AS Maridalsveien Oslo Tlf Org.nr

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF5830, H2009, Obigatorisk innlevering 2. 1 Oppgave: Unære produksjoner i CKY

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Oppgave 2. Eksamen INF2820, 2015, oppgave 2. La gramatikk G være:

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Oppgave 1. La G1 være grammatikken med hovedsymbol S og følgende regler:

INF2820-V2018 Oppgavesett 10 Gruppe 18.4

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Oppgave 1 Vi har gitt følgende grammatikk for noe vi kan kalle speilengelsk :

INF2820 Datalingvistikk V Gang 5.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Forelesning 4, 6.2 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

2/6/2012. Begrensninger ved regulære språk. INF2820 Datalingvistikk V2012. Formelle språk som ikke er regulære KONTEKSTFRIE GRAMMATIKKER.

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning

Bottom up parsering (nedenfra-og-opp) Kap. 5 del 1 Intro til parsering nedenfra-og-opp samt LR(0) og SLR(1) grammatikker INF5110 v2006

Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110. Stein Krogdahl Ifi, UiO

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed).

INF2820 Datalingvistikk V Gang 30.3 Jan Tore Lønning

INF2820 Datalingvistikk V2015. Forelesning 4, 9.2 Jan Tore Lønning

1/26/2012 LITT PYTHON. INF2820 Datalingvistikk V2012. Hvorfor Pyhton. Python syntaks. Python er objektorientert. Python datatyper.

Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

INF2820 Datalingvistikk V2017 Forelesning 1.1, 16.1 Jan Tore Lønning

Kap. 5, del 1: Parsering nedenfra-opp (Bottom-up parsering) INF / Stein Krogdahl Ifi, UiO

Longest. increasing. subsequence. Betingelser. Matrise- common. Grådig vs. DP. Forside. Intro. Fibonacci-tall. Memoisering DP

INF2820 Datalingvistikk V2015. Jan Tore Lønning

UNIVERSITETET I OSLO

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Forelesning 4, 10.2 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2018 Forelesning 1 del 1, 15. jan. Jan Tore Lønning

Oppgave 1 (samlet 40%)

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning

Stoff som i boka står i kap 4, men som er. 10. Februar Ifi, UiO

APPENDIX A 2 APPENDIX B 3 APPENDIX C 4 APPENDIX D 10

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

Da!har!vi!avklart!det!

INF2820 Datalingvistikk V2016. Forelesning 4, 10.2 Jan Tore Lønning

Longest increasing. subsequence Betingelser. Longest. common subsequence. Knapsack Grådig vs. DP Moro: 2D-Nim Spørsmål. Forside. Repetisjon.

Spørsmål 1.1 (10%) Lag en ikke-deterministisk endelig tilstandsautomat (NFA) som beskriver dette språket.

VEDLEGG B FOTODOKUMENTASJON

INF 5110, 3. februar Dette foilheftet: Kapittel 3

LOVSPEIL. Aml / Aml. 2005

INF januar Forelesninger fremover:

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 20.3 Jan Tore Lønning

Transkript:

INF2820 Datalingvistikk V2016 7. Gang 2.3 Jan Tore Lønning

I dag CKY-algoritmen Python-implementasjon Chomsky Normal Form (CNF) 1. mars 2016 2

Dynamisk programmering I en beregning kan det inngå delberegninger som må foretas flere ganger Med DP tar vi vare på resultatet av disse beregningene underveis slik at Vi slipper å gjøre delberegningene flere ganger Øker effektiviteten, F.eks. i noen tilfeller fra eksponentiell til polynomisk tid Kan lagre flertydige strukturer med felles deler Vi skal se på CKY-parser, nå Chartparser, senere 3

CKY-parsing CKY/CYK (Cocke-Kasami-Younger) algoritmen Hovedide: 1. For hvert segment [i, j] av ord i input, bestem hvilke ikke-terminaler som disse ordene kan avledes fra 2. Bottom-up 3. Kortere segmenter før lengre segmenter 4

Chomsky-normalform (CNF) CKY algoritmen forutsetter at grammatikken er på Chomsky-normalform En grammatikk er på Chomsky-normalform hvis alle reglene er på en av følgende former: A B C (ikketerminaler) A t (t en terminal) Vi skal senere se at: Enhver CFG G hvor ε L(G), er svakt ekvivalent til en G på CNF. Altså L(G) = L(G ) 1. mars 2016 5

CKY-parsing, forts. Hvilke kategorier har ord j, dvs segment [j-1,j]? Betrakt alle regler: A w j for en eller annen A Lagr disse A-ene i tabell[j-1, j] Se så på segmenter av to ord, [i, i + 2]: For å legge en ikke-terminal, A, i tabell[i, i+2] må det Finnes en regel A B C for en eller annen B og C B må utspenne [i, i+1] C må utspenne [i+1, i+2] 6

CKY-parsing ff. Deretter se på tre-ordsfragmenter [i, i+3]: For å legge en ikke-terminal, A, i tabell[i, i+3] må det Finnes en regel A B C for en eller annen B og C B må utspenne [i, i+1] og C må utspenne [i+1, i+3], eller B må utspenne [i, i+2] og C må utspenne [i+2, i+3] I det generelle tilfellet [i, j]: Det må finnes en regel A B C for en eller annen B og C B må utspenne [i, k] og C må utspenne [k, j], for en eller annen k, hvor i<k<j 7

CNF Conversion 3/1/2016 Speech and Language Processing - Jurafsky and Martin 8

Example 3/1/2016 Speech and Language Processing - Jurafsky and Martin 9

Example 3/1/2016 Speech and Language Processing - Jurafsky and Martin 10

Example Hvordan fylle søyle 5 3/1/2016 Speech and Language Processing - Jurafsky and Martin 11

Example 3/1/2016 Speech and Language Processing - Jurafsky and Martin 12

Example 3/1/2016 Speech and Language Processing - Jurafsky and Martin 13

Example 3/1/2016 Speech and Language Processing - Jurafsky and Martin 14

Example 3/1/2016 Speech and Language Processing - Jurafsky and Martin 15

CKY Algorithm 3/1/2016 Speech and Language Processing - Jurafsky and Martin 16

CKY-implementasjon (følger pseudok.) def cky(words, cfg): tabl = [[set([]) for j in range(len(words)+1) ] for i in range(len(words))] for j in range(len(words)): tabl[j][j+1] = set([p.lhs() for p in cfg.productions() if p.rhs() == (words[j],)]) for i in range(j-1,-1,-1): for k in range(i+1, j+1, 1): tabl[i][j+1] = tabl[i][j+1].union( [p.lhs() for p in grammar.productions() if (p.rhs()[0] in tabl[i][k] and p.rhs()[1] in tabl[k][j+1])]) return tabl 17

CKY-implementasjon (mer prosedyrell) def cky(words, cfg): tabl = [[[] for j in range(len(words)+1) ] for i in range(len(words))] for j in range(len(words)): tabl[j][j+1] = [p.lhs() for p in cfg.productions() if p.rhs() == (words[j],)] for i in range(j-1,-1,-1): for k in range(i+1, j+1, 1): for p in grammar.productions(): if (p.rhs()[0] in tabl[i][k] and p.rhs()[1] in tabl[k][j+1]): if not p.lhs() in tabl[i][j+1]: tabl[i][j+1].append(p.lhs()) return tabl 18

I dag CKY-algoritmen Python-implementasjon Chomsky Normal Form (CNF) 1. mars 2016 19

Chomsky-normalform (CNF) CKY algoritmen forutsetter at grammatikken er på Chomsky-normalform En grammatikk er på Chomsky-normalform hvis alle reglene er på en av følgende former: A B C (ikketerminaler) A t (t en terminal) Enhver CFG G hvor ε L(G) er svakt ekvivalent til en G på CNF, dvs L(G)=L(G ) 1. mars 2016 20

Chomsky-normalform (CNF) Enhver CFG G hvor ε L(G) er svakt ekvivalent til en G på CNF Oppskrift: 1. Erstatt alle regler på formen A ε 2. Erstatt alle regler på formen A B for B en ikke-terminal 3. For hver regel A β, der β > 1 og β inneholder en eller flere terminaler t 1,, t n : 1. Innfør nye ikke-terminaler T 1,, T n. 2. Erstatt t i med T i 3. Innfør reglene T i t i for i = 1,, n 4. For hver regel A B 1 B 2 B n, n > 2, : 1. Innfør nye ikke-terminaler C 1,, C n-1 og regler 2. A B 1 C 1 3. C i B i+1 C i+1 for i = 1,, n-1 1. mars 2016 21

De to første trinnene: 1. Erstatt alle regler på formen A ε unntatt evt. S ε: 1. Finn mengden E av alle ikke-terminaler A, s.a. A + ε 2. For hver regel B β: Legg til alle regler på formen B β, der β fremkommer ved å stryke en eller flere ikke-terminaler fra E. 3. Stryk alle regler på formen A ε 2. Erstatt alle regler på formen A B for B en ikke-terminal: 1. For enhver ikke-terminal B: For enhver A s.a. A B eller A + B: For enhver β s.a. B β: Innfør A β, hvis den ikke alt finnes 2. Fjern alle unære regler med ikke-terminal h.s. 1. mars 2016 22

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε 1. mars 2016 23

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c 1. mars 2016 24

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c Trinn 2 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. stryk 5. B a B c 6. strøket 7. S a 8. A a 9. A a b 10.B a c 11.A a B c 12.A a c 1. mars 2016 25

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c Trinn 2 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. strøket 5. B a B c 6. strøket 7. S a 8. A a 9. A a b 10.B a c 11.A a B c 12.A a c Trinn 3 I. S X A II. A X A III. A X A Y IV. strøket V. B X B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI. A X B Z XII. A X Z XIII. X a XIV. Y b XV. Z c 1. mars 2016 26

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c Trinn 2 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. stryk 5. B a B c 6. strøket 7. S a 8. A a 9. A a b 10.B a c 11.A a B c 12.A a c Trinn 3 I. S X A II. A X A III. A X A Y IV. strøket V. B X B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI. A X B Z XII. A X Z XIII. X a XIV. Y b XV. Z c Trinn 4 I. S X A II. A X A III.a A X P III.b P A Y IV. strøket V.a B X Q V.b B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI.a A X R X1.b B Z XII. A X Z XIII. X a XIV. Y b XV. Z c 1. mars 2016 27

Sample L1 Grammar 3/1/2016 Speech and Language Processing - Jurafsky and Martin 28

CNF Conversion 3/1/2016 Speech and Language Processing - Jurafsky and Martin 29

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 og chart-parsing senere i semesteret 1. mars 2016 30