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

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

INF2820 Datalingvistikk V Gang 19.3 del 1 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 V Gang 13.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.3 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 V gang, Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

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

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

2/24/2012. Dynamic Programming. I dag. Example. Example PARSING. 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 V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 26.2 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 V2015: Obligatorisk innleveringsoppgave 3

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

INF2820 Datalingvistikk V2012

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

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

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF 2820 V2018: Innleveringsoppgave 3

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF 2820 V2016: Innleveringsoppgave 3 hele

UNIVERSITETET I OSLO

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Oppgave 1 (samlet 40%)

UNIVERSITETET I OSLO

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

INF 2820 V2016: Innleveringsoppgave 3 del 1

Kap. 5, Del 3: INF5110, fra 1/3-2011

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

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

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

INF2820 Datalingvistikk V gang, 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

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

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

UNIVERSITETET I OSLO

INF2820 Datalingvistikk V Gang 9.3 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 V2017 Oppgavesett 6 Gruppe 7.3

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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

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

INF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Obligatorisk oppgave 4, INF2820, 2014

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

Kap. 5 del 2: LR(1)- og LALR(1)-grammatikker INF5110 V2005. Stein Krogdahl, Ifi, UiO

Hjemmeeksamen 2 i INF3110/4110

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

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

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

Hjemmeeksamen 1 i INF3110/4110

Oppgaver til INF 5110, kapittel 5

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

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

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

INF3110 Programmeringsspråk

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

UNIVERSITETET I OSLO

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

Svarforslag til ukeoppgaver til INF 4130

UNIVERSITETET I OSLO

Kap. 5, del 2 LR(1)- og LALR(1)-grammatikker INF5110 V2008

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

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

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

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

Notat for oblig 2, INF3/4130 h07

Oppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar

MAT1030 Diskret matematikk

Oppgave 1 (samlet 15%)

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 18. Desember 2000, kl

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

MAT1030 Diskret matematikk

LO118D Forelesning 4 (DM)

Transkript:

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 reglene skal det være nøyaktig 2 ikke-terminaler på høyresiden, eller mer findelt Ikke en Ikke flere enn to Ikke ingen Vi skal se om vi kan løse opp på noen av disse forutsetningene. Modifiser CKY-algoritmen til å takle grammatikker med unære produksjoner. Løsningen kan enten gjøres ved å modifisere pseudokoden gitt i J & M (figure 13.10, side 440 i min utgave = oppgave 13.3), eller ved å modifisere en implementasjon av algoritmen du selv har laget (for INF4820?). Hint: Du må på den ene siden huske på at unære produksjoner kan itereres: NP Nom og Nom PN, og på den andre siden sikre deg at algoritmen terminerer. 2 Oppgave: Dotted items i CKY Vi skl bruke dotted items (DIs) for å takle høyresider med mere enn to elementer. Til en regel som VP Verb NP PP svarer følgende DI-er: VP Verb NP PP VP Verb NP PP VP Verb NP PP VP Verb NP PP Disse er ikke regler. De er generert fra en regel og kan brukes som hjelpemiddel i parsing. Som eksempel, se på analysen [ VP [ Verb prefer][ NP a flight][ PP to Houston]] 1

Deler av denne frasen svarer da til DI-ene som følger: VP Verb NP PP : prefer VP Verb NP PP : prefer a flight VP Verb NP PP : prefer a flight to Houston Med andre ord svarer en DI på formen A β γ til en streng som tilsammen utgjør β, og kombinert med en streng som utgjør γ, kan de danne en A. Blant annet fordi de samme ordene kan forekomme flere ganger i en streng, har vi behov for å spesifisere hvilke deler av en streng en DI svarer til. Hvis vi bruker tall for posisjoner, kan vi skrive A β γ, i, j for å uttrykke at strengen fra i til j svarer til A β γ, og for eksempelet: VP Verb NP PP, 2, 3 VP Verb NP PP, 2, 5 VP Verb NP PP, 2, 7 DI-er med γ tom, altså på formen A β er litt spesielle. Denne vil jo representere en frase av kategori A. Så det å si at en streng svarer til A β medfører å si at den er en A. Slike DI-er vil vi kalle inaktive. De vil ikke ta opp i seg noe mer. Mens en DI på formen A β γ hvor γ ikke er tom, kaller vi aktiv. Den jakter på noe som kan fylle γ. DI-er på formen A γ er også spesielle. En slik svarer til den tomme strengen og kan slik sett forekomme overalt. Det varierer mellom forskjellige parsingalgoritmer om de gjør bruk av slike DI-er og hvilken rolle de spiller. En mulighet i en CKY-algoritme er å ta med diagonalfeltene [i, i] i tabellen og fylle de med slike DI-er. I utgangspunktet skal da alle diagonalfelt innehold alle slike DI-er. Men vi kan alternativt bare legge til slike elementer når vi trenger dem, eller hoppe over bruken av dem. Tenk igjennom hvordan du løser dette i oppgaven! Noen parsere kombinerer en BU-parsing med en TD-strategi for når slike elementer skal innføres. Det er prinsippet i Earley-algoritmen, som vi ikke skal gå inn på her. Helt sentralt i parsing med hjelp av DI-er står det som i chartparsinglitteraturen kalles fundamentalregelen: (1) Fra: A β C δ, i, j og C γ, j, k kan en slutte: A β C δ, i, k 2

Denne kan erstatte følgende trekk i andre BU-parsere: (2) Fra: B, i, j, C, j, k og regelen A B C kan en slutte: A, i, k Vi er nå klar til handling. a Modifiser CKY-algoritmen til å bruke DI-er, og slik at trekket (2) erstattes av (1). Algoritmen skal kunne virke med grammatikker der det er to eller flere elementer på høyresiden. Algoritmen kan være i pseudokode eller implementert. Du kan bruke ideer fra seksjon 13.4.2 og 13.4.3 i J & M, men løsningen skal ligge nærmere CKY: Den skal bruke datastrukturen en todimensjonal tabell. Den skal være en ren BU-parser uten noen form for TD-avskjæring. En av tingene du må tenke på, er hva som skal føre til innførsel av aktive kanter. b Takler algoritmen din også unære regler? Hvis ikke, modifiser den til å gjøre det. c Demonstrer algoritmen din på strengen (3) I prefer a flight to Houston med grammatikken i figur 13.1. Dette kan du gjøre ved å vise en ferdig tabell, der de ulike elementene i tabellen er nummerert i forhold til rekkefølgen de ble lagt inn i tabellen 3 Oppgave: Probabilistisk CNF I kapittel 14 presenterer J & M en eneste probabilistisk CFG, i figur 14.1, og den er ikke på CNF. De presenterer også bare en parsingalgoritme for probabilistiske CFG-er, i figur 14.3, og den krever at grammatikken er på CNF. Her er det en avstand som må tettes. Vi må endre på minst en av grammatikken og algoritmen. I denne omgangen tar vi grammatikken, i neste oppgave algoritmen. a Modifiser algoritmen for overgang til CNF fra kapittel 13 til å virke for PCFG (oppgave 14.2 i J& M). 3

b Omform grammatikken i figur 14.1 med algoritmen slik at du får en PCFG på CNF. Du behøver bare ta med nye regler og regler med endret sannsynslighet i besvarelsen. c Vis hvordan algoritmen i figur 14.3 vil parse setning (3) med den modifiserte grammatikken. Dette kan du gjøre ved å vise en ferdig tabell, der de ulike elementene i tabellen er nummerert i forhold til rekkefølgen de ble lagt i tabellen. 4 Oppgave: Modifisert CKY for PCFG a Modifiser algoritmen i figur 14.3 på liknende måte som du modifiserte CKY-algoritmen til å takle regler med ett eller flere elementer på høyresiden. b Vis hvordan den modifiserte algoritmen vil parse setning (3) med den originale grammatikken fra figur 14.1. Dette kan du gjøre ved å vise en ferdig tabell, der de ulike elementene i tabellen er nummerert i forhold til rekkefølgen de ble lagt i tabellen. Sjekk at resultatet blir det samme som i forrige oppgave. 5 Oppgave: Shift-reduce parser og CNF På forelesning gjennomgikk vi shift-reduce parser (SR-parser) i detalj. Kort repetisjon: Den forutsetter en grammatikk på CNF. Den har to datastrukturer REST(en av inputstrengen) og En STACK med ikke-terminaler. Den starter med tom STACK og strengen som skal undersøkes i REST. Den er suksessfull hvis den stopper med tom REST og hovedsymbolet alene på STACK Det er to typer trekk, SHIFT: hvis neste ord i REST er w, og det er en leksikalsk regel A w, så fjern w fra REST og legg A på toppen av STACK. 4

REDUCE: Hvis det øverste elementet på stacken er C og det neste er B og det er en regel A B C, så fjern de to øverste elementene på stacken og legg A på toppen av stacken. For generelle grammatikker er algoritmen ikkedeterministisk. Det vil være et valg mellom SHIFT og REDUCE. Det kan være flere alternative SHIFT hvis ordet har alternative tagger, osv. Det skal vi ikke se på her. Vi skal se på om vi kan modifisere på kravet til CNF. Vi vil bruke dotted items DI-er. Vi vil bruke en liknende datastruktur som i standard SR-parser, men med den endringen at stacken er befolket med DI-er. SHIFT-trekket kan være nesten uendret, mens REDUCE-trekket vil erstattes av to trekk. Det ene vil fra en topp på STACK på formen B γ og en regel A B δ kunne bytte toppen av stacken med A B δ. Fyll ut detaljene i algoritmen. Den skal altså virke for grammatikker med to eller flere ikke-terminaler på høyresiden i ikke-leksikalske regler. Lykke til! -slutt 5