INF2820 V2017 Oppgavesett 5 Gruppe 21.2
|
|
- Frøydis Andersen
- 5 år siden
- Visninger:
Transkript
1 INF2820 V2017 Oppgavesett 5 Gruppe 21.2 Denne uka er det først noen teoretiske oppgaver. Deretter er det en del praktiske arbeidsoppgaver som vil forberede deg til arbeidet med innleveringsoppgavesett 2. Eksamen INF2820, 2013, oppgave 1 Oppgave 2 Egenskaper ved kontekstfrie språk Vi har tidligere sett at klassen av regulære språk har en del pene egenskaper. Fra definisjonen av regulære språk følger det at viss L1 og L2 begge er regulære, så er også L1 L2, unionen av L1 og L2, regulært. Vi kunne så bevise at også snittet av L1 og L2, i symboler L1 L2, er regulært, og at komplementet til L1 er regulært. Vi skal nå undersøke hvilke av disse egenskapene som gjelder for klassen av kontekstfrie språk. La L1 = {a n b n c* n > 0} og la L2={a*b n c n n > 0}. a. Vis at L1 er kontekstfritt og at L2 er kontekstfritt. b. Vis at språket L3=L1 L2 er kontekstfritt. c. Gitt to kontekstfrie grammatikker, G1 og G2. Gi en generell oppskrift for å lage en kontekstfri grammatikk for språket som er unionen av språkene generert av de to grammatikkene, L = L(G1) L(G2). Mao. vis at unionen av to kontekstfrie språk er kontekstfritt. d. Men det er ikke slik at L1 L2 behøver å være kontekstfritt, selv om både L1 og L2 er det. På forelesningen skal vi se at språket der A = {a, b, c}, L = {a n b n c n n > 0} ikke er kontekstfritt. Vis at L = L1 L2. Da har vi funnet to kontekstfrie språk som har et snittspråk som ikke er kontekstfritt. e. Det er heller ikke slik at komplementet til et kontekstfritt språk behøver å være kontekstfritt. La L4 være komplementet til L, mao L4={ w A* w a n b n c n for alle n > 0}. Vis at L4 er kontekstfritt. (Hint. L4 er unionen av flere kontekstfrie språk: Alle uttrykk som ikke er på formen a*b*c*, de som er på formen a n b k c m der m n, osv.) Dermed har vi funnet et kontekstfritt språk, L4, som har et komplement, L, som ikke er kontekstfritt. Klasser i Python Mange av de praktiske oppgavene i dette emnet er i Python og NLTK. Siden Python er et objektorientert språk og NLTK gjør stor bruk av klasser, trenger alle å gjøre seg litt kjent med hvordan klasser i Python virker og spesielt med noen av klassene NLTK bruker. De av dere som tok INF1001(H2016) eller IN1000 (H2017), bør være godt kjent med Pythons klasser, og for dere som er vant med klasser i Java, bør det ikke være vanskelig å lese Python-klasser. Du finner en innføring i Pythons bruk av klasser i kap. 15 i 1
2 På den andre siden legger ikke NLTK opp til at vi selv skal lage klasser og NLTK-boka inneholder ikke eksempler som konstruerer klasser. I løsning av oppgavene står du fritt i valget mellom å bruke klasser med metoder eller, som NLTK-boka, skrive prosedyrer som tar klasser som parametere. Oppgave 3: Kontekstfrie grammatikker (CFG) i NLTK: klassen Grammar Deretter bør du arbeide deg gjennom seksjonene I NLTK-boka. Når du ser på dette, er det to distinksjoner du bør holde klart for deg. Den ene er forskjellen mellom en *grammatikk* og en *parser*. En grammatikk er en deklarativ innretning for å beskrive et språk, der vi enten kan se på språket som en mengde strenger eller som en mengde trær. En parser, derimot, er en prosedyre for å analysere strenger, avgjøre om de er i språket og tilskrive dem struktur. Det er flere forskjellige parsingstrategier for kontekstfrie språk, som vi ser på på forelesningene. Den andre distinksjonen er forskjellen mellom en *grammatikk* og det *Python-objektet* vi bruker for å representere grammatikken. Når vi implementerer grammatikker, er det mange ulike måter vi kan representere dem. NLTK har valgt et bestemt format, som vi vil bruke. Tilsvarende for parsere er det forskjeller mellom selve algoritmen og den spesifikke implementasjonen vi gir av den. OBS: I det følgende bør du bruke nettutgaven av NLTK-boka. Noen kommandoer er endret siden den trykte utgaven kom ut. a) Etter at du har ladet grammar1 i begynnelsen av seksjon 8.3 er det tid for å stoppe opp og inspisere hva slags objekt grammar1 er. Prøv følgende kommandoer: >>> grammar1 >>> type(grammar1) >>> print(grammar1) Den første sier ikke så veldig mye. Den andre sier hva slags type objekt grammar1 er. I en klassedefinisjon kan vi definere hva som skal skje når vi skriver "print(<object>)" ("<objekt>" skiftes med navnet på et objekt.) De som har definert klassen Grammar har bestemt at dette var det som er mest viktig for oss å vite om klassen. Du kan også prøve >>> help(grammar1) som antagelig forteller deg mer enn du ønsker å vite. Men det kan være nyttig å kjenne denne *help*- kommandoen. Du kan få bruk for den senere og i flere sammenhenger. b) Et Grammar-objekt har også noen metoder for å få kontakt med dens indre hemmeligheter. Prøv >>> grammar1.start() >>> grammar1.productions() Det er også flere andre metoder du kan utforske. Skriv >>> grammar1. 2
3 og fortsett med tab (for auto-completion) (i ipython eller idle). Du kan få bruk for noen av disse metodene senere. c) Vær klar over at ting ikke alltid er slik de ser ut ved første øyekast. Det kan være mer som skjuler seg i et objekt. Hva slags objekt tror du grammar1.start() er? Skriv det til prompt og se hva du får. >>> grammar1.start() Prøv deretter >>> type(grammar1.start()) >>> s = grammar1.start() >>> s.symbol() >>> type(s) >>> type(s.symbol()) d) Inspiser deretter grammar1.productions(). Hva slags type objekt er det? Plukk ut to regler fra "productions": en med en enslig terminal på høyresiden, en med mer enn et symbol, f.eks. >>> rule0 = grammar1.productions()[0] Hva slags objekt er en regel? Prøv tab-komplementering for å se hvilke attributter og metoder en regel har. Du får tilgang til venstre- og høyreside av en regel med: >>> rule0.lhs() >>> rule0.rhs() Hva slags objekt er venstresiden av en regel og hva slags objekt er høyresiden og hvert av elementene på høyresiden? Oppgave 4: NLTK-klassen Tree a) En av NLTK-klassene vi vil støte på flere ganger inkludert i innleveringssett 3 er klassen Tree. Vi skal gjøre oss litt mer kjent med klassen. Først trenger vi noen trær. En mulighet for å fremskaffe dem er å bruke en grammatikk og en parser. Vi kan følge seksjon 8.1 I NLTK-boka (Seksjon 1 på nettet når du åpner kapittel 8 i nettversjonen). Vi skriver inn groucho_grammar og som i boka lager vi parser og eksempelsetning >>> sent = ['I', 'shot', 'an', 'elephant', 'in', 'my', 'pajamas'] >>> parser = nltk.chartparser(groucho_grammar) Så kan vi ta vare på alle trær for setningen ved >>> trees = [t for t in parser.parse(sent)] Vi kan så se litt mer på resultatet ved kommandoer som >>> trees >>> print(trees) >>> type(trees) 3
4 b) trees er en liste, og det er kanskje ikke så mye å få ut av dette. Det kan være bedre å plukke ut ett av trærne >>> tre = trees[0] Så kan vi bruke vanlige metoder for å inspisere treet. >>> tre >>> type(tre) >>> print(tre) c) NLTKs Tree-klasse inneholder flere metoder for å lage pene trær. Prøv >>> tre.draw() (Den siste virker på IFIs maskiner, men kan være avhengig av at du har installert utvidelser i tillegg til Python på din egen maskin.) d) Når en setning har flere analyser, kan vi være interessert i å se alle og sammenlikne dem. Det går greit med print og med Tree-klasses pretty_print, f.eks. >>> for t in trees: print(t) Eller vi kan gå utenom å lage listen av alle trær før vi tegner dem, i dette tilfellet, bare ta: >>> for t in parser.parse(sent): print(t) Men hvis vi prøver dette med draw(), vil den tegne ett vindu for hvert tre i rekkefølge ikke på likt. Prøv: >>> for t in trees: t.draw() NLTK inneholder også en mulighet for å få flere trær tegnet i ett vindu. Prøv >>> from nltk.draw.tree import draw_trees >>> draw_trees(*trees) Bruken av * er her generell Python-syntaks for å levere en liste av argumenter. I dette tilfellet blir siste linje ekvivalent med >>> draw_trees(trees[0], trees[1]) e) Vi er interessert i den indre strukturen til trær. Et tre består av en toppnode, en merkelapp på denne og en ordnet liste av døtre, som selv er trær eller bladnoder. For å få tak i merkelappen bruker vi i denne versjonen av NLTK metoden label. >>> tre.label() >>> type(tre.label()) Døtrene er ordnet i en liste og kan nås som elementene i en vanlig liste. Prøv: >>> tre[0] >>> type(tre[0]) >>> print(tre[0]) >>> tre[1] 4
5 >>> type(tre[1]) >>> print(tre[1]) >>> print(tre[-1]) >>> print(tre[-2]) (At vi får tak i disse subtrærne med indekser direkte til treet som i tre[i], og ikke må skrive noe slikt som tre.daughters[i] skyldes at klassen Tree er definert som en underklasse av listeklassen. Og så er det lagt til en del flere attributer og metoder på toppen, som f.eks. label.) Dette gir også muligheten til å gå rekursivt nedover i treet, prøv tre[1][0], tre[1][1], tre[1][1][0], tre[1][1][1][0][0], etc. Vi kan også bruke en enklere notasjon for dette, sammenlikn >>> tre[1][1][0] >>> tre[(1, 1, 0)] >>> tre[1,1,0] Hva tror du >>> tre[()] gir? f) For å skrive inn trær er det to metoder. Standardmetoden er å oppgi label og listen av døtre Tree(<label>, <liste av døtre>) Prøv. >>> from nltk import Tree >>> tre3 = Tree('S', [Tree('NP', ['John']), Tree('VP', ['slept'])]) Men det er også en metode som kan lese en streng og gjøre om til et tre. (Obs denne har skiftet navn fra den trykte boka) >>> tre4 = Tree.fromstring('(S (NP John) (VP smile))') Prøv de to metodene og inspiser resultatet f.eks. ved pretty_print() og ved å be om tre3[1] og tre4[1]. g) Siden klassen Tree er en underklasse av klassen List har vi også tilgang til en del standardmetoder for å fjerne og legge til subtrær til en liste. Prøv >>> tre.pop() >>> tre.append(tre('(vp (V shot) (NP (Det an) (N elephant)))')) 5
6 Oppgave 5: om setningsstruktur og trær NLTK oppgave 8.9.3: Lag først parentesstrukturen ( the bracketed structure ) med penn og papir. Bruk så Tree-klassen for å generere trærne og pretty_print og draw-metodene for å inspisere det nærmere. Oppgave 6: Begynnende parsing a) Eksperimenter med nltk.app.rdparser() Prøv å parse setninger hvor du selv styrer prosessen. La deretter applikasjonen slev styre ("step"). Eksperimenter med endring av grammatikkreglene (jfr. oppg. 9 i seksj 8.9 i NLTK-boka). b) Eksperimenter tilsvarende med nltk.app.srparser(). - SLUTT 6
INF2820 V2017 Oppgavesett 5 arbeidsoppgaver
INF2820 V2017 Oppgavesett 5 arbeidsoppgaver Dette er oppgaver du kan arbeide med på egen hånd. Du kan også arbeide med dem i gruppa 28.2 (hvis du har innleveringsoppgave 2 under kontroll) og spørre gruppelæreren
DetaljerINF2820 V2017 Oppgavesett 6 Gruppe 7.3
INF2820 V2017 Oppgavesett 6 Gruppe 7.3 Oppgave 1: Lag en kontekstfri grammatikk som beskriver samme språk som nettverket under. S a S S c S S b A1 A1 a S A1 c S A1 b A2 A2 c S A2 a S A2 b A3 A3 a A3 A3
DetaljerINF2820 Datalingvistikk V Gang Jan Tore Lønning
INF2820 Datalingvistikk V2015 6. Gang - 23.2 Jan Tore Lønning PARSING DEL 1 2 I dag Høyre- og venstreavledninger Recursive-descent parser (top-down) Begynne Shift-reduce parser (bottom-up) 25. februar
DetaljerINF2820 Datalingvistikk V Gang Jan Tore Lønning
INF2820 Datalingvistikk V2015 5. Gang - 16.2 Jan Tore Lønning I dag Kontekstfrie grammatikker, avledninger og trær (delvis repetisjon) Kontekstfrie grammatikker og regulære språk Kontekstfrie grammatikker
DetaljerINF 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:
DetaljerINF2820 Datalingvistikk V Gang Jan Tore Lønning
INF2820 Datalingvistikk V2016 5. Gang - 17.2 Jan Tore Lønning I dag Kontekstfrie grammatikker, avledninger og trær Kontekstfrie grammatikker og regulære språk Kontekstfrie grammatikker for naturlige språk
DetaljerINF2820 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
DetaljerINF 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
DetaljerINF 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
DetaljerINF2820 Datalingvistikk V2012
INF2820 Datalingvistikk V2012 Jan Tore Lønning KONTEKSTFRIE GRAMMATIKKER OG PARSING 24. februar 2012 2 1 I dag Kontekstfrie grammatikker, avledninger og trær (delvis repetisjon) Parsing: ovenifra og ned
DetaljerINF2820 Datalingvistikk V2012. Jan Tore Lønning
INF2820 Datalingvistikk V2012 Jan Tore Lønning KONTEKSTFRIE GRAMMATIKKER OG PARSING 23. februar 2012 2 I dag Kontekstfrie grammatikker, avledninger og trær (delvis repetisjon) Parsing: ovenifra og ned
Detaljer2/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
DetaljerINF 2820 V2016: Obligatorisk innleveringsoppgave 3
INF 2820 V2016: Obligatorisk innleveringsoppgave 3 Besvarelsene skal leveres i devilry innen torsdag 21.4 kl 18.00 Filene det vises til finner du i o /projects/nlp/inf2820/cfg Oppgave 1: Shift-reduce-effektivisering
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF2820 Datalingvistikk Eksamensdag: 6. juni 2014 Tid for eksamen: 1430-1830 Oppgavesettet er på 5 side(r) Vedlegg: 0
DetaljerINF2820 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
DetaljerINF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen
INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen FORMELLE OG NATURLIGE SPRÅK KONTEKSTFRIE GRAMMATIKKER 7. februar 2011 2 Naturlige språk som formelle språk Et formelt språk består av: En
DetaljerINF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning
INF2820 Datalingvistikk V2017 9. Gang 13.3 Jan Tore Lønning I dag chart-parsing Fortsatt fra sist: Chart-parsing: hovedideer BU chart-parsing: algoritmen NLTKs ChartParser Enkel Python-implementasjon av
DetaljerINF2820 Datalingvistikk V Gang Jan Tore Lønning
INF2820 Datalingvistikk V2016 6. Gang - 24.2 Jan Tore Lønning PARSING DEL 1 2 I dag Hva er parsing? Høyre- og venstreavledninger Recursive-Descent parser (top-down) Shift-Reduce parser (bottom-up) Pythonimplementasjon:
DetaljerINF2820 Datalingvistikk V Gang 19.3 del 1 Jan Tore Lønning
INF2820 Datalingvistikk V2018 10. Gang 19.3 del 1 Jan Tore Lønning I dag: to deler A. Active chart-parsing Fortsatt fra sist B. Tekstklassifisering 2 CHART-PARSING 3 I dag chart-parsing Chart-parsing:
DetaljerINF 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
DetaljerINF2820 Datalingvistikk V gang, Jan Tore Lønning
INF2820 Datalingvistikk V2014 15. gang, 8.5.2014 Jan Tore Lønning Språk og grammatikk Språk (formelt): En endelig mengde A Ø En undermengde L A* Grammatikk: En endelig innretning som definerer L Klasser
DetaljerINF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning
INF2820 Datalingvistikk V2016 11. Gang 6.4 Jan Tore Lønning Sist Med anbefalt lesing og rekkefølge Grammatiske trekk («features») NLTK boka, seksj 9.1 Trekkstrukturer («feature structures») J&M, seksj
Detaljer3/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 CHARTPARSING (SEKSJ 13.4) FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) 8. mars 2011 2 I dag Oppsummering fra sist: Dynamisk programmering CKY-algoritmen
DetaljerINF2820-V2018 Oppgavesett 10 Gruppe 18.4
INF2820-V2018 Oppgavesett 10 Gruppe 18.4 Chart-parsing med papir og penn Denne oppgaven tjener flere formål: Få bedre grep på chart-parsing See hvordan en chart-parser behandler venstrerekursjon Praktisk
DetaljerINF2820 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
DetaljerINF2820 Datalingvistikk V Gang Jan Tore Lønning
INF2820 Datalingvistikk V2018 6. Gang - 19.2 Jan Tore Lønning I dag Kontekstfrie grammatikker og naturlige språk Grammatikker og trær i NLTK Kontekstfrie grammatikker, avledninger og trær Hva er parsing?
DetaljerOppgave 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'
DetaljerINF5830, 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
Detaljer2/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 KONTEKSTFRIE GRAMMATIKKER OG PARSING 22. februar 2011 2 Høyre- og venstreavledninger Til hvert tre svarer det mange avledninger. For kontekstfrie
DetaljerINF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning
INF2820 Datalingvistikk V2016 11. Gang 6.4 Jan Tore Lønning Sist Med anbefalt lesing og rekkefølge Grammatiske trekk («features») NLTK boka, seksj 9.1 Trekkstrukturer («feature structures») J&M, seksj
Detaljer3/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
DetaljerINF2820 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
DetaljerINF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning
INF2820 Datalingvistikk V2015 10. Gang 23.3 Jan Tore Lønning I dag Trekkbaserte grammatikker, delvis repetisjon Formelle egenskaper: Alternative format for slike grammatikker Tolkning av grammatikkreglene
DetaljerINF2820 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
Detaljer2/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 Begrensninger ved regulære Regulære er ikke ideelle modeller for naturlige, dvs Verken regulære uttrykk eller NFA er ideelle for å beskrive naturlige fordi:
DetaljerINF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen
INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen KONTEKSTFRIE GRAMMATIKKER OG PARSING 22. februar 2011 2 I dag Avledninger og normalformer Parsing: ovenifra og ned (top-down) Parsing: nedenifra
DetaljerRepetisjon. 1 binærtall. INF3110 Programmeringsspråk. Sist så vi ulike notasjoner for syntaks: Jernbanediagrammer. BNF-grammatikker.
INF3 Programmeringsspråk INF3 Programmeringsspråk Dagens tema Syntaks (Komp 47, kap 3 (og noe 4)) Repetisjon Regulære språk i klassisk NF Regulære språk i utvidet NF Regulære språk i jerbanediagrammer
DetaljerINF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning
INF2820 Datalingvistikk V2018 7. Gang 26.2 Jan Tore Lønning I dag Fra sist: Høyre- og venstreavledninger Recursive-descent parser (top-down) Shift-reduce parser (bottom-up) Pythonimplementasjon: Shift-Reduce
DetaljerINF2820 Datalingvistikk V2012. Jan Tore Lønning
INF2820 Datalingvistikk V2012 Jan Tore Lønning BEGRENSNINGER VED REGULÆRE SPRÅK OG KONTEKSTFRIE GRAMMATIKKER 2 I dag 1. Begrensninger ved regulære språk 2. Noen egenskaper ved naturlige språk 3. Kontekstfrie
DetaljerINF3110 Programmeringsspråk
INF3 Programmeringsspråk Dagens tema Syntaks (Komp 47, kap 3 (og noe 4)) Repetisjon Regulære språk i klassisk BNF Regulære språk i utvidet BNF Regulære språk i jerbanediagrammer Regulære språk og automater
DetaljerINF2820 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-parsingalgoritmen Algoritmen uttrykt
DetaljerINF2820 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
DetaljerSpø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
DetaljerINF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning
INF2820 Datalingvistikk V2017 8. Gang 6.3 Jan Tore Lønning I dag CKY-algoritmen fortsatt fra sist Python-implementasjon av CKY Chomsky Normal Form (CNF) Chart-parsing BU-algoritme for chart-parsing 3.
DetaljerINF 2820 V2018: Innleveringsoppgave 1
INF 2820 V2018: Innleveringsoppgave 1 Besvarelsene skal leveres i devilry innen fredag 9.2 kl 18.00 Det blir 5 sett med innleveringsoppgaver. Hvert sett gir inntil 100 poeng. Til sammen kan en få inntil
DetaljerINF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning
INF2820 Datalingvistikk V2017 7. Gang 27.2 Jan Tore Lønning I dag Fra sist: Høyre- og venstreavledninger Recursive-descent parser (top-down) Shift-reduce parser (bottom-up) Pythonimplementasjon: Shift-Reduce
DetaljerINF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning
INF2820 Datalingvistikk V2018 9. Gang 13.3 Jan Tore Lønning I dag to deler A. Trekkstrukturgramatikker Fortsatt fra sist B. Chart-parsing Fortsetter parsing fra for to uker siden 2 TREKKSTRUKTUR- GRAMMATIKKER
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 5. juni 2013 Tid for eksamen : 14.30-18.30 Oppgavesettet er på : Vedlegg :
DetaljerINF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning
INF2820 Datalingvistikk V2015 14. Gang 4.5 Jan Tore Lønning CHART PARSING 2 I dag Svakheter ved tidligere parsere RD og SR: ineffektivitet CKY: CNF Chart parsing,,dotted items og fundamentalregelen Algoritmer:
DetaljerINF 2820 V2016: Obligatorisk innleverinsoppgave 1
INF 2820 V2016: Obligatorisk innleverinsoppgave 1 OBS Korrigert eksemplene oppgave 2, 8.2 Besvarelsene skal leveres i devilry innen torsdag 18.2 kl 18.00 Filene det vises til finner du på /projects/nlp/inf2820/fsa
DetaljerINF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning
INF2820 Datalingvistikk V2015 7. Gang 2.3 Jan Tore Lønning PARSING DEL 2 2 I dag Recursive-descent parser, kort repetisjon Shift-reduce parser (bottom-up) Algoritme for anerkjenning Eksempelimplementasjon
DetaljerOppgave 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
DetaljerINF1820 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
DetaljerINF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning
INF2820 Datalingvistikk V2015 9. Gang 16.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
DetaljerINF2820 Datalingvistikk V gang, Jan Tore Lønning
INF2820 Datalingvistikk V2014 8. gang, 6.3.2014 Jan Tore Lønning I dag Chart parsing Implementasjon CKY og Chart: Parsing vs anerkjenning 2 Chart alternativ datastruktur (S, [0, 1]) (VP, [0,1]) (Det, [1,2])
DetaljerOppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Eksempel
MAT1030 Diskret matematikk Forelesning 26: Trær Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot Dag Normann Matematisk Institutt, Universitetet i Oslo barn barn
DetaljerObligatorisk 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
DetaljerKap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed).
Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/2-2008 Legger ut en oppgave til kap. 4 (se beskjed). tein Krogdahl Ifi, UiO Merk: Av de foilene som ble delt ut på papir på
DetaljerSist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot. barn
Forelesning 26 Trær Dag Normann - 28. april 2008 Oppsummering Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot barn barn barnebarn barnebarn barn blad Her er noen
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 26: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 28. april 2008 Oppsummering Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk
DetaljerINF 2820 V2018: Innleveringsoppgave 2
INF 2820 V2018: Innleveringsoppgave 2 Besvarelsene skal leveres i devilry innen fredag 2.3 kl 18.00 Det blir 5 sett med innleveringsoppgaver. Hvert sett gir inntil 100 poeng. Til sammen kan en få inntil
DetaljerSyntax/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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 2. juni 2010 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 5 sider (pluss
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 6. juni 2006 Tid for eksamen : 09.00-12.00 Oppgavesettet er på : 5 sider Vedlegg : Intet Tillatte
DetaljerOppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar
Oppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar Fra boka: 5.3, 5.4, 5.11, 5.12, 5.13. Oppgave 2 fra Eksamen 2006 (se undervisningsplanen 2008). Utvid grammatikken
Detaljer1/26/2012 LITT PYTHON. INF2820 Datalingvistikk V2012. Hvorfor Pyhton. Python syntaks. Python er objektorientert. Python datatyper.
INF2820 Datalingvistikk V2012 Jan Tore Lønning LITT PYTHON 2 Hvorfor Pyhton Python syntaks NLTK Natural Language Tool Kit: Omgivelser for å eksperimentere med datalingvistikk Diverse datalingvistiske algoritmer
DetaljerOppgaver til INF 5110, kapittel 5, med svarforslag Gjennomgått torsdag 26. febr Dette er versjon fra 28/7
Oppgaver til INF 5110, kapittel 5, med svarforslag Gjennomgått torsdag 26. febr. 2008. Dette er versjon fra 28/7 OPPGAVER: Fra boka: 5.3, 5.4, 5.11, 5.12, 5.13. Oppgave 2 fra Eksamen 2006. Utvid grammatikken
DetaljerINF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning
INF2820 Datalingvistikk V2015 11. Gang 13.4 Jan Tore Lønning I dag Unifikasjonsgrammatikker Repetisjon og overblikk: Formalisme Lingvistisk anvendelse Utvidelse av lingvistisk anvendelse NLTKs implementering
DetaljerOppgaver til INF 5110, kapittel 5
Oppgaver til INF 5110, kapittel 5 Fra boka: 5.3 Vi har sett litt på denne på en forelesning 5.11 Vi har tidligere sett på: -> ) a 5.18 Forsøk også sette alternativet -> til slutt Utvid grammatikken på
DetaljerINF2820 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
DetaljerINF2820 Datalingvistikk V2016. Jan Tore Lønning
INF2820 Datalingvistikk V2016 Jan Tore Lønning I dag Automater og regulære uttrykk Litt Python Implementasjon av DFA i Python Naiv NFA-algoritme Smart NFA-algoritme Pythonimplementasjon av smart NFA 1.
DetaljerKap. 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
DetaljerKap. 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 og IN 110 Algoritmer og datastrukturer Eksamensdag: 14. mai 1996 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 4. juni 2008 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 7 sider Vedlegg
DetaljerSyntaksanalyse. 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
DetaljerINF INF1820. Arne Skjærholt. Negende les INF1820. Arne Skjærholt. Negende les
Arne Skjærholt egende les Arne Skjærholt egende les σύνταξις Syntaks, fra gresk for oppstilling, er studiet av hvordan vi bygger opp setninger fra ord. Pāṇini (ca. 400 år f.kr.) er den første som formulerer
DetaljerINF2820 Datalingvistikk V gang, Jan Tore Lønning
INF2820 Datalingvistikk V2014 12. gang, 3.4.2014 Jan Tore Lønning I dag Trekkbaserte grammatikker (unifikasjonsgrammatikker) for naturlige språk NLTKs implementering av slike Litt om lingvistiske modeller
DetaljerINF2820 Datalingvistikk V2014. Forelesning 4, 6.2 Jan Tore Lønning
INF2820 Datalingvistikk V2014 Forelesning 4, 6.2 Jan Tore Lønning I dag Oppsummering av endelige tilstandsteknikker Regulære uttrykk: teoretiske og praktiske Begrensninger ved regulære språk Noen egenskaper
DetaljerINF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning
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
DetaljerObligatorisk oppgave 1 i INF 4130, høsten 2008
Obligatorisk oppgave 1 i INF 4130, høsten 2008 Leveringsfrist 3. oktober Institutt for informatikk Krav til innleverte oppgaver ved Institutt for informatikk (Ifi) Ved alle pålagte innleveringer av oppgaver
DetaljerINF2810: Funksjonell Programmering. Trær og mengder
INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Trær og mengder Erik Velldal Universitetet i Oslo 19. februar 2015 Tema Forrige uke Høyereordens prosedyrer lambda, let og lokale variabler
DetaljerHvor er vi nå - kap. 3 (+4,5)? Forenklet skisse av hva en parser gjør PARSER. Kontekstfrie grammatikker og syntaksanalyse (parsering)
Hvor er vi nå - kap. 3 (+4,5)? Kontekstfrie grammatikker og syntaksanalyse (parsering) INF5110 - kap.3 i Louden + hjelpenotat (se hjemmesida) Arne Maus Ifi, UiO v2006 program Pre - processor Makroer Betinget
DetaljerINF2820 Datalingvistikk V2012. Jan Tore Lønning
INF2820 Datalingvistikk V2012 Jan Tore Lønning LITT PYTHON 2 Hvorfor Pyhton NLTK Natural Language Tool Kit: Omgivelser for å eksperimentere med datalingvistikk Diverse datalingvistiske algoritmer Inkluderte
DetaljerINF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1:
INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) Del 1 21/2-2014 Stein Krogdahl Ifi, UiO ngående Oblig 1: Blir lagt ut tirsdag/onsdag neste uke Oblig-ansvarlig Henning Berg orienterer 28/2
DetaljerDagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)
Dagens tema Syntaks (kapittel 2.1 + Komp. 47, kap. 1 og 2) 1/19 Forelesning 6 1.10.2003 Litt om kompilering og interpretering En kompilator oversetter et program til et annet språk, for eksempel maskinspråk.
DetaljerEksamen i IN 110, 18. mai 1993 Side 2 Del 1 (15%) Vi skal se på prioritetskøer av heltall, der vi hele tiden er interessert i å få ut den minste verdi
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 18. mai 1993 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: IN 110 Algoritmer
Detaljer2/24/2012. Dynamic Programming. I dag. Example. Example PARSING. Jan Tore Lønning
INF2820 Datalingvistikk V2012 Jan Tore Lønning TABELLPARSING OG CHART- PARSING 24. februar 2012 2 I dag Mellomspill: Chomsky Normal Form Tabellparsing: CKY-algoritmen Innlede Chart-Parsing Dynamic Programming
DetaljerHva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:
Hva er syntaks? En overskrift i en norsk avis: Fanger krabber så lenge de orker Dagens tema Grundig repetisjon og utdyping: Er det i C lov å skrive for (;;) { while () { Syntaks kontra semantikk for å
DetaljerLitt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk
Litt om kompilering og interpretering Dagens tema Syntaks (kapittel 2. + Komp. 47, kap. og 2) En kompilator oversetter et program til et annet språk, for eksempel maskinspråk. Et program interpreteres
DetaljerDefinisjon. I et binært tre har hver node enten 0, 1 eller 2 barn
Binære trær Definisjon I et binært tre har hver node enten 0, 1 eller 2 barn Rekursiv definisjon: Et binært tre er enten tomt, eller: Består av en rotnode og to binære trær som kalles venstre subtre og
DetaljerIN1010 Objektorientert programmering Våren 2019
IN1010 Objektorientert programmering IN1010 Objektorientert programmering Våren 2019 Stein Gjessing Hva skjer de første to ukene? Forelesninger de to første ukene i dag 1. time: Info om IN1010 i dag 2.
DetaljerKap. 5, Del 3: INF5110, fra 1/3-2011
Kap. 5, Del 3: LR(1)- og LALR(1)-grammatikker INF5110, fra 1/3-2011 Bakerst: Oppgaver til kap 5 (svar kommer til gjennomgåelsen) gåe Nytt 2/3: Nå også oppgave 2 fra eksamen 2006 Stein Krogdahl, Ifi, UiO
DetaljerINF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning
INF2820 Datalingvistikk V2014 3. forelesning, 30.1 Jan Tore Lønning Idag Noen ord om Python Implementasjon av DFA J&Ms algoritme Oversatt til Python Rekursiv vs. Iterativ implementasjon Naiv NFA-algoritme
DetaljerDagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk
Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk Regulære uttrykk og automataer Ulike typer språk Ulike representasjoner av regulære språk Endelige tilstandsmaskiner (FSM-er) Deterministiske
DetaljerOppgave 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
DetaljerINF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker
INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 29. januar 2013 Stein Krogdahl, Ifi, UiO NB: Ikke undervisning fredag 1. februar! Oppgaver som gjennomgås 5. februar
DetaljerMed Svarforslag UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. 3 sider (side 6, 7 og 8, rives ut, fylles ut og leveres)
Eksamen i : Med Svarforslag UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 3. juni 2009 Tid for eksamen : 14.30-17.30 Oppgavesettet er
DetaljerDagens tema: Regulære språk og uttrykk
IN 2 Programmeringsspråk Dagens tema: Regulære språk og uttrykk Ulike typer språk (Kompendium 47: 23) Hvorfor er regulære uttrykk så interessante? Ulike representasjoner av regulære språk (Kompendium 47:
Detaljer