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

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

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

INF2820 Datalingvistikk V2012. 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

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

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

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

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

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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

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

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

INF2820-V2018 Oppgavesett 10 Gruppe 18.4

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

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

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

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

Slope-Intercept Formula

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

SVM and Complementary Slackness

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

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

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

Dynamic Programming Longest Common Subsequence. Class 27

UNIVERSITETET I OSLO

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

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

IN2010: Algoritmer og Datastrukturer Series 2

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

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

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

1/31/2011 SAMMENHENGER FSA OG REGULÆRE UTTRYKK. Regulære språk. Fra FSA til RE. Fra regulært uttrykk til NFA REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

INF2820 Datalingvistikk V2015. Jan Tore Lønning

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

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

FASMED. Tirsdag 21.april 2015

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

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.4 del 2 Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1:

TMA4329 Intro til vitensk. beregn. V2017

INF3110 Programmeringsspråk

Maple Basics. K. Cooper

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

UNIVERSITETET I OSLO

Oppgave 1 (samlet 40%)

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

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

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum )

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Topic of the day: Ch. 4: Top-down parsing

Repetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.

Call function of two parameters

Syntax/semantics INF 3110/ /8/2004 1

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

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

INF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum )

INF2820 Datalingvistikk V Gang Jan Tore Lønning

FIRST LEGO League. Härnösand 2012

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker

INF Algoritmer og datastrukturer

Level Set methods. Sandra Allaart-Bruin. Level Set methods p.1/24

UNIVERSITETET I OSLO

INF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning

For at salget skal se organisert ut, er det viktig at klær henges på klesstativene og legges i kassene på en ryddig måte. Da vil du få solgt mer!

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

Transkript:

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 programmering CKY-algoritmen Chartparsing: Dotted items Fundamentalregel Bottom-up strategi Neste gang: alternative strategier 1. mars 2011 3 Recursive descent parser Lager en venstreavledning Bygger et tre: Fra toppen ( top-down ) Fra venstre mot høyre Tilstrekkelig å bare se på venstreavledninger fordi de svarer til trær Streber mot tidligst mulig å sjekke mot input-data Et trinn er ikke-deterministisk: Velg en regel! Dette gir et søkerom å holde orden på 1. mars 2011 4 Top Down Space Problem for RD-parser: Consider A flight from Indianapolis to Houston on TWA Det Nominal Nominal Noun Nominal Nominal PP Kan vi finne G uten Venstrerekursjon s.a. L(G ) = L(G)? 5 6 1

Bottom-up: Shift reduce parser Kim saw the girl with the telescope V Det girl with the telescope VDet girl with the telescope (SHIFT) VDet N with the telescope (REDUCE) V with the telescope (REDUCE) Bottom-up: Shift-Reduce parser Tilsvarer en reversert høyreavledning: Til hver høyreavledning svarer nøyaktig en SR-parse. To plasser for valg/ikke-determinisme: Skal vi flytte eller redusere? Hva skal vi velge når vi har flere valg for reduksjon? Vi kan gjøre den mer effektiv hvis grammatikken er på CNF: Når vi flytter, gjør vi samtidig en unær reduksjon. Svarer til regel på formen B t Bare se på de to siste symbolene når vi reduserer Svarer til regel på formen A BC 1. mars 2011 7 1. mars 2011 8 Problem for både RD og SR Ineffektivitet Så på eksempler sist RD: Eksempel: S VP Noen valg under Noen valg under VP Vi foretar valgene for VP på nytt for hvert alternativ under Tilsvarende for SR For hvert valg vi foretar må vi se på alle muligheter for resten av strengen på nytt 1. mars 2011 9 I dag 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 1. mars 2011 10 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) CKY Parsing First we ll limit our grammar to CNF Consider the rule A BC If there is an A somewhere in the input then there must be a B followed by a C in the input. If the A spans from ito jin the input then there must be some k st. i<k<j Ie. The B splits from the C someplace. 11 12 2

Sample L1 Grammar CNF Conversion 13 14 CKY CKY So let s build a table so that an A spanning from i to j in the input is placed in cell [i,j] in the table. So a non-terminal spanning an entire string will sit in cell [0, n] Hopefully an S If we build the table bottom-up, we ll know that the parts of the A must go from i to k and from k to j, for some k. Meaning that for a rule like A B C we should look for a B in [i,k] and a C in [k,j]. In other words, if we think there might be an A spanning i,j in the input AND A B C is a rule in the grammar THEN There must be a B in [i,k] and a C in [k,j] for some i<k<j 15 16 CKY So to fill the table loop over the cell[i,j] values in some systematic way What constraint should we put on that systematic search? For each cell, loop over the appropriate k values to search for things to add. 17 18 3

Filling column 5 19 20 21 22 23 24 4

CKY Algorithm CKY Parsing Is that really a parser? 25 26 I dag 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 1. mars 2011 27 Chart alternativ datastruktur (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 1. mars 2011 28 Nom Det Nom, N P, PN PP 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 5 1. mars 2011 29 1. mars 2011 30 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 3 31 32 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, i] ) Kan vi lage (A B, [i,j] ) 1. mars 2011 33 1. mars 2011 34 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) Innfør aktive kanter: Legg de nødvendige aktive kanter på formen (B, [k,i]) til agenda (/chart) Hold styring på rekkefølge Ulike strategier for Rekkefølge Og dermed hvilke aktive kanter som er nødvendige for å få fullstendig parse. Bottom-up Legg de nødvendige aktive kanter på formen (B, [k,i]) til agenda (/chart) : Når inaktiv/ukomplett kant (B, [m, n] ) flyttes til chartet: Finn alle A, s.a. A B er en regel, og Legg kanten (A B, [m, m]) til agenda 1. mars 2011 35 1. mars 2011 36 6

Make-predictions, fig. 13.17 Chart-algoritme, fig. 13.16 1. mars 2011 37 1. mars 2011 38 7