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

Like dokumenter
UNIVERSITETET I OSLO

Oppgave 1 (samlet 40%)

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

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

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

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF 2820 V2016: Innleveringsoppgave 3 del 1

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF 2820 V2016: Innleveringsoppgave 3 hele

INF2820 Datalingvistikk V2015. Jan Tore Lønning

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

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

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

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 19.3 del 1 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

2/24/2012. Context-Free Grammars. I dag. Avledning. Eksempel: grammar1 PARSING. 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 Jan Tore Lønning

INF3110 Programmeringsspråk

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

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

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

INF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Obligatorisk oppgave 4, INF2820, 2014

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning

Skanning del I. Kapittel 2 INF 3110/ INF

Følger Sipsers bok tett både i stoff og oppgaver.

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

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

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

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

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

Skanning del I INF /01/15 1

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

INF2820-V2018 Oppgavesett 10 Gruppe 18.4

INF2080 Logikk og beregninger

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

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

INF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

HMM-tagging INF4820 H2008. Jan Tore Lønning. 30. september. Institutt for Informatikk Universitetet i Oslo

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

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

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk

Oppgave 1 (samlet 15%)

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

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

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

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

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF 2820 V2018: Innleveringsoppgave 2

INF 2820 V2018: Innleveringsoppgave 3

IN2080. Oppgave 1. Oppgave 2. Eksamen. Vår Den nondeterministiske endelige automaten A er gitt ved (Q, Σ, δ, q 0, F ) der

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

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

Dagens tema: Regulære språk og uttrykk

Hjemmeeksamen 1 i INF3110/4110

Turingmaskiner en kortfattet introduksjon. Christian F Heide

Løsningsforslag. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

En repetisjon hrj høst 2009

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

LF - Eksamen i INF1820

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

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

Transkript:

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 når de kommer i tilfelle noe er uklart. Hvis du føler noen forutsetninger mangler, lag dine egne og redegjør for dem! Oppgave 1 Spørsmål 1.1 (10%) Gitt det regulære uttrykket: a((bcd)+(cd))*cd (Symbolet + står her for disjunksjon som i JFLAP. Andre steder brukes, eller ). Lag en ikkedeterministisk endelig tilstandsautomat (NFA) som beskriver samme språk som det regulære uttrykket. Spørsmål 1.2 (10%) Er automaten deterministisk? Hvis ikke, lag også en deterministisk endelig tilstandsautomat (DFA) som beskriver det samme språket

3 Spørsmål 1.3 (10%) En ikke-deterministisk tilstandsautomat (NFA) M over et alfabet A beskriver et språk L(M). Hvis vi skal lage et program som skal avgjøre om en streng w av symboler fra A er i L(M) eller ikke, er en mulighet først å finne en deterministisk automat N som er slik at L(N)=L(M). En annen mulighet er å bruke en algoritme som bruker en beskrivelse av M direkte og ser om w er i L(M), og det er denne tilnærmingen vi skal bruke her. Beskriv hovedideene i en slik algoritme. Mer bestemt, beskriv datastrukturen du vil bruke og trinnene algoritmen skal utføre. Du behøver ikke å skrive kode. Hovedideen er at vi leser input fra venstre mot høyre. For hvert trinn tar vi vare på en mengde tilstander, alle de tilstandene automaten kunne ha vært i etter å ha lest så langt i input. Når vi har lest hele input, aksepterer vi denne hvis minst en av tilstandene maskinen kunne vært i, er en aksepterende tilstand. Datastrukturen består av to elementer: - En mengde av tilstander: Q - Resten av strengen som skal aksepteres: w Start: - Q = epsilontillukningen til {q0} der q0 er begynnertilstanden - w er hele strengen Løkke: Akseptering - hvis w = ε (det tomme ordet) - og det fins en q i Q som er en aksepterende tilstand (sluttilstand): o aksepter Trekk - hvis w = /= ε, og Q =/= : - hvis s er første element i w, og w' er resten av w (mao. w =sw') o la ny w være w' o la ny Q være epsilontillukningen til δ(q1, s) δ(q2, s) δ(qn, s) der Q={q1, q2,, qn} Ellers: forkast

4 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' 'klappet' VS -> 'trodde' 'visste' 'fortalte' C -> 'at' Spørsmål 2.1 (10%) Er språket beskrevet av G endelig? Nei Vi ser at S NP VP NP VS CP NP VS C S NP VS C NP VS C S NP (VS C NP) n VI Kari ( fortalte at Ola) n sov for alle n Er språket beskrevet av G regulært? Begrunn svarene! Ja Ikke-terminalene NP, VI, VTV, VS, C forekommer bare som venstresider i regler der det er en enslig terminal på høyresiden. Hver av disse kan derfor betraktes som en forkortelse for en endelig gruppe terminaler. Da blir grammatikken høyrelinjær og språket regulært. (Å tegne en FSA eller å gi et regulært uttrykk virker like bra.)

5 Spørsmål 2.2 (10%) Vis hvordan en recursive descent parser (RD-parser) vil anerkjenne setningen: Kari fortalte at barnet likte dyret Du behøver bare vise de trekkene som fører til en vellykket anerkjenning og ikke de trekkene som ikke fører frem. Forklar hvilke datastrukturer du bruker. Datastruturen består av to sekvenser. Den første er en sekvens av symboler. Det kan være både terminaler og ikke-terminaler. Denne sekvensen kaller vi "Frontier". Det er det det gjenstår å finne. Den andre sekvensen er bare terminaler. Det er resten av input. Det som ikke er anslysert. Da går anerkjenningen slik Frontier Restinput Utført aksjon S Kari fortalte at barnet likte dyret NP VP Kari fortalte at barnet likte dyret S NP VP Kari VP Kari fortalte at barnet likte dyret NP Kari VP fortalte at barnet likte dyret Match VS CP fortalte at barnet likte dyret VP VS CP fortalte CP fortalte at barnet likte dyret VS fortalte CP at barnet likte dyret match C S at barnet likte dyret CP C S at S at barnet likte dyret C at S barnet likte dyret match NP VP barnet likte dyret S NP VP barnet VP barnet likte dyret NP barnet VP likte dyret match VTV NP likte dyret VP VTV NP likte NP likte dyret VTV likte NP dyret match dyret dyret NP dyret # # match suksess

6 Spørsmål 2.3 (10%) Vi lurer på om følgende sekvens av ord er en grammatisk setning i grammatikken G: Kari fortalte Ola at barnet sov Vis hvordan en chart-parser kan besvare dette spørsmålet ved å konstruere et fullstendig chart for ordsekvensen. Her skal en skrive opp agenda og tegne chartet. Litt avhengig av strategi kan det f.eks. se ut som:. Kari.fortal. Ola. at.barnet. sov. [------]..... [0:1] 'Kari'. [------].... [1:2] 'fortalte'.. [------]... [2:3] 'Ola'... [------].. [3:4] 'at'.... [------]. [4:5] 'barnet'..... [------] [5:6] 'sov' [------]..... [0:1] NP -> 'Kari' * [------>..... [0:1] S -> NP * VP. [------].... [1:2] VS -> 'fortalte' *. [------>.... [1:2] VP -> VS * CP.. [------]... [2:3] NP -> 'Ola' *.. [------>... [2:3] S -> NP * VP... [------].. [3:4] C -> 'at' *... [------>.. [3:4] CP -> C * S.... [------]. [4:5] NP -> 'barnet' *.... [------>. [4:5] S -> NP * VP..... [------] [5:6] VI -> 'sov' *..... [------] [5:6] VP -> VI *.... [-------------] [4:6] S -> NP VP *... [--------------------] [3:6] CP -> C S *

7 Oppgave 3 Spørsmål 3.1 (10%) Vi skal lage en trekkbasert grammatikk ("feature-based grammar") (også omtalt som unifikasjonsgrammatikk) for et lite fragment av engelsk. Leksikon skal inneholde noen egennavn, f.eks. Kim, Lee, Sandy noen intransitive verb, f.eks. sing, dance, sleep noen transitve verb, f.eks. admire, respect, see Verbene skal forekomme både i infinitt form (sing, sleep) og i fortidsform (sang, slept), og reglene skal beskrive enkle setninger i fortidsform, som Kim danced Sandy saw Lee I tillegg skal fragmentet inneholde de to verbene promise og persuade og setningsmønstrene Kim promised to dance Kim promised Sandy to dance Kim persuaded Sandy to dance Disse mønstrene er rekursive og fragmentet skal inneholde setninger som Kim persuaded Sandy to persuade Lee to promise Kim to dance Lag en trekkbasert grammatikk som oppfyller dette. % start S[+FIN] S[FIN=?f] -> NP VP[FIN=?f] VP[FIN=?f] -> IV[FIN=?f] VP[FIN=?f] -> TV[FIN=?f] NP VP[FIN=?f] -> PV[FIN=?f] VCOMP VP[FIN=?f] -> PPV[FIN=?f] NP VCOMP VCOMP -> 'to' VP[-FIN] NP -> 'kim' 'lee' 'sandy' IV[-FIN] -> 'run' 'dance' IV[+FIN] -> 'ran' 'danced' TV[-FIN] -> 'admire' 'respect' TV[+FIN] -> 'admired' 'respected' PV[-FIN] -> 'promise' PV[+FIN] -> 'promised' PPV[-FIN] -> 'promise' PPV[+FIN] -> 'promised' PPV[-FIN] -> 'persuade' PPV[+FIN] -> 'persuaded'

8 Spørsmål 3.2 (10%) Tegn opp treet grammatikken din tilskriver setningen: Sandy persuaded Lee to promise to dance Ta med alle trekk på nodene i treet.

9 Oppgave 4 Spørsmål 4.1 (10%) Vi tar utgangspunkt i følgende lille fcfg-grammatikk med semantikktrekk % start S S[SEM=<?vpsem(?npsem)>] -> NP[SEM=?npsem] VP[SEM=?vpsem] NP[SEM=?npsem] -> PN[SEM=?npsem] VP[SEM=?vpsem] -> IV[SEM=?vpsem] PN[SEM=<ola>] -> 'Ola' PN[SEM=<kari>] -> 'Kari' IV[SEM=<\x. sov(x)>] -> 'sov' IV[SEM=<\x.smilte(x)>] -> 'smilte' Denne grammatikken vil analysere noen svært enkle setninger og tilordne dem en logisk-semantisk representasjon. For eksempel vil Kari sov analyseres og tilordnes sov(kari). Utvid grammatikken med et par transitive og et par ditransitive verb slik at Kari likte Ola får analysen: likte(kari, ola), og Kari ga Ola Skriket får analysen: ga(kari, Ola, Skriket) Utvid også fragmente med konjunksjon og diskjunksjon slik at Kari likte Ola og Ola smilte får analysen: likte(kari, ola) & smilte(ola) og Kari likte Ola og Ola smilte eller Kari smilte får to analyser: likte(kari, ola) & (smilte(ola) smilte(kari)) (likte(kari, ola) & (smilte(ola)) smilte(kari) VP[SEM=<?vpsem(?npsem)>] -> TV[SEM=?vpsem] NP[SEM=?npsem] VP[SEM=<?vpsem(?o1sem)(?o2sem)>] -> DTV[SEM=?vpsem] NP[SEM=?o1sem] NP[SEM=?o2sem] TV[SEM=<\y x.beundret(x,y)>] -> 'beundret' TV[SEM=<\y x.likte(x,y)>] -> 'likte' DTV[SEM=<\y z x.ga(x, y, z)>] -> 'ga' DTV[SEM=<\y z x.overrakte(x,yz)>] -> 'overrakte' PN[SEM=<skriket>] -> 'Skriket' S[SEM=<?s1sem &?s2sem>] -> S[SEM=?s1sem] 'og' S[SEM=?s2sem] S[SEM=<?s1sem?s2sem>] -> S[SEM=?s1sem] 'eller' S[SEM=?s2sem]

10 Spørsmål 4.2 (10%) Omarbeid reglene og utvid fragmentet med flere regler slik at grammatikken også kan takle kvantifiserte nomenfraser og slik at, for eksempel Kari ga Ola et bilde får analysen exists x.(bilde(x) & ga(kari, Ola, x)) % start S S[SEM=<?npsem(?vpsem)>] -> NP[SEM=?npsem] VP[SEM=?vpsem] S[SEM=<?s1sem &?s2sem>] -> S[SEM=?s1sem] 'og' S[SEM=?s2sem] S[SEM=<?s1sem?s2sem>] -> S[SEM=?s1sem] 'eller' S[SEM=?s2sem] NP[SEM=<\X.X(?npsem)>] -> PN[SEM=?npsem] NP[SEM=<?dsem(?nsem)>] -> Det[SEM=?dsem] Nom[SEM=?nsem ] VP[SEM=?vpsem] -> IV[SEM=?vpsem] VP[SEM=<\s.?npsem(\o.?tvsem(s,o))>] -> TV[SEM=?tvsem] NP[SEM=?npsem] VP[SEM=<\s.?np1(\o1.(?np2(\o2.?tvsem(s,o1,o2))))>] -> DTV[SEM=?tvsem] NP[SEM=?np1] NP[SEM=?np2] Nom[SEM=?nsem] -> N[SEM=?nsem] PN[SEM=<ola>] -> 'Ola' PN[SEM=<kari>] -> 'Kari' IV[SEM=<sov>] -> 'sov' IV[SEM=<smilte>] -> 'smilte' TV[SEM=<likte>] -> 'likte' TV[SEM=<beundret>] -> 'beundret' DTV[SEM=<ga>] -> 'ga' DTV[SEM=<overrakte>] -> 'overrakte' Det[SEM=<\P Q.exists x.(p(x) & Q(x))>] -> 'et' Det[SEM=<\P Q.all x.(p(x) -> Q(x))>] -> 'ethvert' N[SEM=<hus>] -> 'hus' N[SEM=<barn>] -> 'barn' N[SEM=<dyr>] -> 'dyr' N[SEM=<bilde>] -> 'bilde' SLUTT