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

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

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

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

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

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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 Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

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

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

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

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

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

INF2820 Datalingvistikk V Gang 5.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

INF2820 Datalingvistikk V2015. 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 V Gang 16.3 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2014. 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 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 V2017 Oppgavesett 5 Gruppe 21.2

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

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

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

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

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

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).

UNIVERSITETET I OSLO

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

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.

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

Oppgave 1 (samlet 40%)

INF2820 Datalingvistikk V Gang 30.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

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

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

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

INF 5110, 3. februar Dette foilheftet: Kapittel 3

INF januar Forelesninger fremover:

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.4 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

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

Da!har!vi!avklart!det!

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO

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.

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009

INF /2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

Transkript:

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

I dag CKY-algoritmen Python-implementasjon Chomsky Normal Form (CNF) 2. 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 ) 2. 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/2/2016 Speech and Language Processing - Jurafsky and Martin 8

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

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

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

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

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

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

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

CKY Algorithm 3/2/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) 2. 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 ) 2. 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. Erstatt alle regler A β, der β > 1 og β inneholder en eller flere terminaler t 1,, t n 4. Erstatt alle regler A B 1 B 2 B n, der n > 2, : 2. mars 2016 21

Trinn 1: A ε 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. mars 2016 22

Trinn 2: A B for B en ikke-terminal Erstatt alle regler på formen A B for B en ikketerminal: 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øyreside 2. mars 2016 23

Trinn 3 Erstatt alle regler 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 i β 3. Innfør reglene T i t i for i = 1,, n 2. mars 2016 24

Trinn 4 Erstatt alle regler A B 1 B 2 B n, der n > 2, For hver regel A B 1 B 2 B n, n > 2, : 1. Innfør nye ikke-terminaler C 1,, C n-2 og regler 2. A B 1 C 1 3. C i B i+1 C i+1 for i = 1,, n-3 4. C n-2 B n-1 B n 2. 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 ε 2. 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 2. mars 2016 27

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 2. mars 2016 28

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 2. mars 2016 29

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.i A X P III.ii P A Y IV. strøket V.i B X Q V.ii Q B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI.i A X R X1.ii R B Z XII. A X Z XIII. X a XIV. Y b XV. Z c 2. mars 2016 30

Sample L1 Grammar 3/2/2016 Speech and Language Processing - Jurafsky and Martin 31

CNF Conversion 3/2/2016 Speech and Language Processing - Jurafsky and Martin 32

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 2. mars 2016 33