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

Størrelse: px
Begynne med side:

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

Transkript

1 INF2820 Datalingvistikk V2012 Jan Tore Lønning TABELLPARSING OG CHART- PARSING 24. februar I dag Mellomspill: Chomsky Normal Form Tabellparsing: CKY-algoritmen Innlede Chart-Parsing 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) 24. februar

2 Filling column Chomsky-normalform (CNF) En grammatikk er på Chomsky normalform hvis alle reglene er på en av følgende former: A B C A t (t en terminal) Enhver CFG G hvor L(G), er svakt ekvivalent til en G på CNF. Altså L(G) = L(G ) februar

3 Chomsky-normalform (CNF) Enhver CFG G hvor L(G) er svakt ekvivalent til en G på CNF Bevisskisse: 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 t1,, tn: 1. Innfør nye ikke terminaler T1,, Tn. 2. Erstatt ti med Ti 3. Innfør reglene Ti ti for i = 1,, n 4. For hver regel A B1 B2 Bn, n > 2, : 1. Innfør nye ikke terminaler C1,, Cn 1 og regler 2. A B1 C1 3. Ci Bi+1 Ci+1 for i = 1,, n 1 To trinn til: 2. Erstatt alle regler på formen A B for B en ikke terminal: For enhver ikke terminal B og For enhver A s.a. A B eller A + B og For enhver s.a. B : Innfør A, hvis den ikke alt finnes Fjern alle unære regler med ikke terminal h.s. 1. Erstatt alle regler på formen A : Identifiser alle ikke terminaler A, s.a. A + For hver regel B : Legg til alle regler på formen B der fremkommer ved å stryke en eller flere ikke terminaler som avleder, fra. Stryk alle regler på formen A 24. februar februar Eksempel S VP PN Det As N As As A As VP løp smilte PN Kari Ola N gutt jente mor far A snill gammel trøtt Sample L1 Grammar 24. februar CNF Conversion CKY Algorithm

4 CKY Display def cky(words, cfg): tabl = [[[] for i in range(len(words)+1) ] for j in range(len(words))] for i in range(len(words)): tabl[i][i+1] = [p.lhs() for p in cfg.productions() if p.is_lexical() and p.rhs()[0] == words[i]] for j in range(i 1, 1, 1): for k in range(j+1, i+1, 1): for p in grammar.productions(): if (p.rhs()[0] in tabl[j][k] and p.rhs()[1] in tabl[k][i+1]): if not p.lhs() in tabl[j][i+1]: tabl[j][i+1].append(p.lhs()) return tabl 19 def cellstring(cell): return (',').join(nt.symbol() for nt in cell) def display(tabl, words): n = len(words) cellstrings = [cellstring(tabl[i][j]) for i in range(n) for j in range(n+1)] space = max([len(cell) for cell in cellstrings + words])+2 for i in range(n): print words[i].ljust(space), print(' ') for start in range(n): for count in range(start): print " ".ljust(space), for end in range(start+1, n+1): cell = tabl[start][end] print ("["+cellstring(cell)+"]").ljust(space), print(' ') 20 I dag Chart alternativ datastruktur Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk programmering CKY-algoritmen Chartparsing: Dotted items Fundamentalregel Bottom-up strategi Neste gang: alternative strategier (S, [0, 1]) (VP, [0,1]) (Det, [1,2]) (Nom, [2,3]) (N, [2,3]) (, [1, 3]) (S, [0,5]) S, VP, V, Nom, N 0 book 1 the 2 flight 3 through 4 Houston 5 Nom Det Nom, N P, PN PP 24. februar februar Chart alternativ datastruktur Begrensninger i CKY (S, [0, 1]) (VP, [0,1]) (Det, [1,2]) (Nom, [2,3]) (N, [2,3]) (, [1, 3]) (S, [0,5]) 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 Nom Hjelp for begge problemene å innføre dotted d items PP S, VP, V, Nom, N Det Nom, N P, PN 0 book 1 the 2 flight 3 through 4 Houston februar februar

5 States States/Locations The table-entries are called states and are represented with dotted-rules. S VP Det Nominal VP V - A VP is predicted Det Nominal - An is in progress - A VP has been found S VP [0,0] Det Nominal [1,2] VP V [0,3]. A VP is predicted at the start of the sentence An is in progress; the Det goes from 1 to 2 A VP has been found starting at 0 and ending at Chart alternativ datastruktur Det Nom Fundamentalregelen Det Nom Nom Nom PP Nom Nom PP PP P Det Nom, N P, PN 0 book 1 the 2 flight 3 throughh 4 Houston 5 0 book 1 the 2 flight 3 through 4 Houston 5 Det Nom Det Nom Nom Nom PP PP P Det Nom Nom Nom PP PP P Partielt snapshot Fra (A B, [i,k] ) + (B, [k, j] ) Kan vi lage (A B, [i,j] ) 24. februar februar Chart-parsing Bottom-up 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. 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) 24. februar februar

6 Make-predictions, fig Chart-algoritme, fig februar februar Top-down Make-predictions, fig 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. 24. februar februar Eksempel Egenskaper Parse: gi jenta fisk med BU og TD-strategi S VP VP IV VP TV VP DTV N IV fisk sov TV fisk kjøp DTV gi N jenta fisk 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 24. februar februar

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

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen 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

Detaljer

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

3/1/2011. I dag. Recursive descent parser. Problem for RD-parser: Top Down Space. Jan Tore Lønning & Stephan Oepen INF2820 Datalingvistikk V2011 TABELLPARSING Jan Tore Lønning & Stephan Oepen 1. mars 2011 2 I dag Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk

Detaljer

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

3/5/2012. Chart alternativ datastruktur. Fundamentalregelen. Chart-parsing. Bottom-up FORMELL SPRÅKTEORI. Jan Tore Lønning INF2820 Datalingvistikk V2012 Jan Tore Lønning CHART-PARSING FORMELL SPRÅKTEORI 5. mars 2012 2 Chart alternativ datastruktur NP Det Nom Fundamentalregelen NP Det Nom Nom Nom PP Nom Nom PP NP PP P NP Det

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning INF2820 Datalingvistikk V2012 Jan Tore Lønning CHART-PARSING FORMELL SPRÅKTEORI 5. mars 2012 2 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

Detaljer

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning INF2820 Datalingvistikk V2016 8. Gang 9.3 Jan Tore Lønning CHART-PARSING 2 I dag Bakgrunn Svakheter med andre parsere CKY og Chart Chart-parsing: hovedideer BU chart-parsing algoritmen Algoritmen uttrykt

Detaljer

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

INF5830, H2009, Obigatorisk innlevering 2. 1 Oppgave: Unære produksjoner i CKY INF5830, H2009, Obigatorisk innlevering 2 Innleveringsfrist 4.11 1 Oppgave: Unære produksjoner i CKY For bottom-up parsere, som CKY, har vi forutsatt at grammatikken er på CNF. For de ikke-leksikalske

Detaljer

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

Oppgave 2. Eksamen INF2820, 2015, oppgave 2. La gramatikk G være: 2 Eksamen INF2820, 2015, oppgave 2 Oppgave 2 La gramatikk G være: S > NP VP VP > VI VP > VTV NP VP > VS CP CP > C S NP > 'dyret' 'barnet' 'Kari' 'Ola' VI > 'sov' 'smilte' 'danset' VTV > 'kjente' 'likte'

Detaljer

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

2/24/2012. Context-Free Grammars. I dag. Avledning. Eksempel: grammar1 PARSING. Jan Tore Lønning INF2820 Datalingvistikk V2012 Jan Tore Lønning KONTEKSTFRIE GRAMMATIKKER OG PARSING 24. februar 2012 2 Context-Free Grammars Det mest sentrale verktøyet i datalingvistikk 24. februar 2012 3 2/24/2012 Speech

Detaljer

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

INF 2820 V2015: Obligatorisk innleveringsoppgave 3 INF 2820 V2015: Obligatorisk innleveringsoppgave 3 Besvarelsene skal leveres i devilry innen fredag 17.4 kl 18.00 Filene det vises til finner du i o /projects/nlp/inf2820/cfg Del 1 RD Parsing Oppgave 1:

Detaljer

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning INF2820 Datalingvistikk V2017 6. Gang - 20.2 Jan Tore Lønning I dag Kontekstfrie grammatikker og naturlige språk (fortsatt fra sist) Kontekstfrie grammatikker og regulære språk Grammatikker og trær i NLTK

Detaljer

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

Oppgave 1. La G1 være grammatikken med hovedsymbol S og følgende regler: 2 Du kan svare på norsk, dansk, svensk eller engelsk. Du skal besvare alle spørsmålene. Vekten på de ulike spørsmålene er indikert. Du bør lese gjennom hele settet slik at du kan stille spørsmål til faglærerne

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2820 Datalingvistikk Eksamensdag: 14. juni 2016 Tid for eksamen: 1430-1830 Oppgavesettet er på 5 side(r) Vedlegg: 0

Detaljer

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

Oppgave 1 Vi har gitt følgende grammatikk for noe vi kan kalle speilengelsk : Eksempelspørsmål Spørsmål av denne typen kan forventes til eksamen, men kanskje ikke så mange. I hvert fall ville dette pluss spørsmål fra første del av pensum blitt for mye for en tretimers eksamen. Oppgave

Detaljer

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

Spørsmål 1.1 (10%) Lag en ikke-deterministisk endelig tilstandsautomat (NFA) som beskriver dette språket. 2 Du kan svare på norsk, dansk, svensk eller engelsk. Du skal besvare alle spørsmålene. Vekten på de ulike spørsmålene er oppgitt. Du bør lese gjennom hele settet slik at du kan stille spørsmål til faglærerne

Detaljer

Syntax/semantics - I INF 3110/ /29/2005 1

Syntax/semantics - I INF 3110/ /29/2005 1 Syntax/semantics - I Program program execution Compiling/interpretation Syntax Classes of langauges Regular langauges Context-free langauges Scanning/Parsing Meta models INF 3/4-25 8/29/25 Program

Detaljer

INF 2820 V2016: Innleveringsoppgave 3 hele

INF 2820 V2016: Innleveringsoppgave 3 hele INF 2820 V2016: Innleveringsoppgave 3 hele Dette er det komplette settet! Besvarelsene skal leveres i devilry innen fredag 24.3 kl 18.00 Det blir 5 sett med innleveringsoppgaver. Hvert sett gir inntil

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning INF2820 Datalingvistikk V2012 Jan Tore Lønning ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 20. januar 2012 2 Non-Determinism Speech and Language Processing - Jurafsky and Martin

Detaljer

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning INF2820 Datalingvistikk V2014 11. gang, 27.3.2014 Jan Tore Lønning I dag Repetere en del begreper: Trekkstrukturer Unifikasjon og subsumpsjon Trekkbaserte grammatikker Form: to alternative format Tolkning

Detaljer

INF2820 Datalingvistikk V Gang 30.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 30.3 Jan Tore Lønning INF2820 Datalingvistikk V2016 10. Gang 30.3 Jan Tore Lønning I dag Med anbefalt lesing og rekkefølge Grammatiske trekk («features») NLTK boka, seksj 9.1 Trekkstrukturer («feature structures») J&M, seksj

Detaljer

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

Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110. Stein Krogdahl Ifi, UiO Kap. 5, del 1: Parsering nedenfra-opp (Bottom up parsing) INF5110 NB: Disse foilene er litt justert og utvidet i forhold til de som er delt ut tidligere på en forelesning. Ta dem ut på nytt! Stein Krogdahl

Detaljer

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

Kap. 5, del 1: Parsering nedenfra-opp (Bottom-up parsering) INF / Stein Krogdahl Ifi, UiO Kap. 5, del 1: Parsering nedenfra-opp (Bottom-up parsering) INF5110 8/2-2013 tein Krogdahl Ifi, UiO 1 Bottom up parsering (nedenfra-og-opp) Tokenklasser + ikketerminaler B B Tilstander Tabell for LR-parsering

Detaljer

Oppgave 1 (samlet 15%)

Oppgave 1 (samlet 15%) 2 Du kan svare på norsk, dansk, svensk eller engelsk. Du skal svare på alle spørsmålene. Vekten på de ulike spørsmålene er oppgitt. Du bør lese gjennom hele settet slik at du kan stille spørsmål til faglærerne

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk

Detaljer

INF 2820 V2018: Innleveringsoppgave 3

INF 2820 V2018: Innleveringsoppgave 3 INF 2820 V2018: Innleveringsoppgave 3 Besvarelsene skal leveres i devilry innen fredag 23.3 kl 18.00 Det blir 5 sett med innleveringsoppgaver. Hvert sett gir inntil 100 poeng. Til sammen kan en få inntil

Detaljer

Statisk semantisk analyse - Kap. 6

Statisk semantisk analyse - Kap. 6 Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3/15/11 1 Generelt om semantisk analyse Oppgave: Sjekke alle krav

Detaljer

Oppgave 1. Spørsmål 1.1 (10%) Gitt det regulære uttrykket: a((bcd)+(cd))*cd

Oppgave 1. Spørsmål 1.1 (10%) Gitt det regulære uttrykket: a((bcd)+(cd))*cd 2 Du kan svare på norsk, dansk, svensk eller engelsk. Du skal besvare alle spørsmålene. Vekten på de ulike spørsmålene er oppgitt. Du bør lese gjennom hele settet slik at du kan stille spørsmål til faglærerne

Detaljer

Syntaksanalyse. Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger. IN 211 Programmeringsspråk

Syntaksanalyse. Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger. IN 211 Programmeringsspråk Syntaksanalyse Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger Ark 1 av 26 Forelesning 15.10.2001 Syntaksanalyse En parser er et program som analyserer

Detaljer

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

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To

Detaljer

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

Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO Kap.4 del I Top Down Parsering INF5110 v2005 Arne Maus Ifi, UiO Innhold Motivering Boka gir først parsering uten First/Follow-mengder og så innfører dem. Vi tar teorien først First og Follow-mengder Fjerning

Detaljer

Syntax/semantics INF 3110/ /8/2004 1

Syntax/semantics INF 3110/ /8/2004 1 Syntax/semantics Program program execution Paradigms Compiling/interpretation Syntax Classes of langauges Regular langauges Context-free langauges Scanning/Parsing Meta models INF 3/4-24 9/8/24 Program

Detaljer

INF 2820 V2016: Innleveringsoppgave 3 del 1

INF 2820 V2016: Innleveringsoppgave 3 del 1 INF 2820 V2016: Innleveringsoppgave 3 del 1 Pga tekniske problemer er oppgaveteksten delt i to. Dette er første del. Andre del legges ut mandag 13.3! Besvarelsene skal leveres i devilry innen fredag 24.3

Detaljer

Slope-Intercept Formula

Slope-Intercept Formula LESSON 7 Slope Intercept Formula LESSON 7 Slope-Intercept Formula Here are two new words that describe lines slope and intercept. The slope is given by m (a mountain has slope and starts with m), and intercept

Detaljer

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

Kap.4 del 2 Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO Kap.4 del 2 Top Down Parsering INF5110 v2005 Arne Maus Ifi, UiO LL(1) tabell for uttrykks-grammatikk Har fjernet venstrerekursjon: Har fjernet venstre-rekursjon: Alternativ def. av LL(1) grammatikker Sier

Detaljer

Obligatorisk oppgave 4, INF2820, 2014

Obligatorisk oppgave 4, INF2820, 2014 Obligatorisk oppgave 4, INF2820, 2014 Besvarelsene skal leveres i devilry innen 7.5 kl 1800. Filene det vises til finner du etter hvert på /projects/nlp/inf2820/ Oppgavene kan løses alene og det skal leveres

Detaljer

Semantisk Analyse del I

Semantisk Analyse del I Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)

Detaljer

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning INF2820 Datalingvistikk V2014 13. gang, 10.4.2014 Jan Tore Lønning I dag Introduksjon til semantikk Formell semantikk grunnideene Logikk i NLTK 2 Semantikk Semantikk= studiet av mening Lingvistisk semantikk

Detaljer

INF1820 2013-04-12 INF1820. Arne Skjærholt INF1820. Dagens språk: Russisk. dyes yataya l yektsiya. Arne Skjærholt. десятая лекция

INF1820 2013-04-12 INF1820. Arne Skjærholt INF1820. Dagens språk: Russisk. dyes yataya l yektsiya. Arne Skjærholt. десятая лекция Arne Skjærholt десятая лекция Dagens språk: Russisk. dyes yataya l yektsiya Arne Skjærholt десятая лекция N,Σ,R,S Nå er vi tilbake i de formelle, regelbaserte modellene igjen, og en kontekstfri grammatikk

Detaljer

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering INF2810: Funksjonell Programmering Strømmer og utsatt evaluering Stephan Oepen Universitetet i Oslo 30. mars 2017 Forrige forelesning 2 Mer om (prosedyre)navn, bindinger, og verditilordning Nok en ny abstrakt

Detaljer