INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

Størrelse: px
Begynne med side:

Download "INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning"

Transkript

1 INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

2 I dag chart-parsing Fortsatt fra sist: Chart-parsing: hovedideer BU chart-parsing: algoritmen NLTKs ChartParser Enkel Python-implementasjon av BUChart TD chart-parsing CKY og Chart: Parsing vs anerkjenning 2

3 Chart-parsing: hovedideer Dotted items, aktive kanter Active chart - datastruktur Fundamentalregelen Bruk av en agenda 3

4 «Dotted items»/kanter Representerer deler av fraser VP V NP PP [2, 5] En del av VP. Fra posisjon 2 til 5 VP VNP PP [2, 9] En hel VP frase med antydet struktur VP V NP PP [2, 2] Predikterer starten på en VP I posisjon 2 4

5 Active Chart datastruktur NP Det Nom Nom Nom PP NP Det Nom PP P NP Det Nom, N P NP, PN 0 book 1 the 2 flight 3 through 4 Houston 5 NP Det Nom Nom Nom PP PP P NP NP Det Nom Nom Nom PP PP P NP Partielt snapshot 10. mars

6 Fundamentalregelen NP Det Nom Nom Nom PP 0 book 1 the 2 flight 3 through 4 Houston 5 NP Det Nom Fra (A B, [i,k] ) + (B, [k, j] ) Lag (A B, [i,j] ) 10. mars

7 Active chart-parsing Kombinere 3 typer operasjoner: 1. Lese ordene i setningen inn i chartet 2. Bruke fundamentalregelen når nye kanter legges til chartet 3. Innføre aktive kanter i chartet Ulike strategier for Hvordan aktive kanter innføres Rekkefølgen oppgavene utføres Og dermed: Hvilke aktive kanter som er nødvendige March 10,

8 Aktiv chart-parsing Agenda Chart Når vi legger en kan til chartet kan det skape flere nye kanter som skal legges til chartet: Hver av de kan skape flere nye kanter: Osv. For å holde orden på dette bruker vi en ekstra datastruktur: Agenda Alle nye kanter legges i Agenda Vi flytter en og en kant fra Agenda til Chart Dette gir nye kanter. De legges i Agenda March 10,

9 Active chart-algoritmen,bottom-up Gitt en sekvens av ord w 1 w 2 w n 1. For hver w i og regel på formen A w i for en eller annen A: Legg kanten (A w i, [i-1, i]) til Agenda 2. Fjern en kant e fra Agenda Hvis e ikke er i Chart: Legg e til Chart, og 2. Lag nye kanter med fundamentalregelen og legg til Agenda 3. Hvis e er inaktiv: Lag nye aktive kanter og legg til agenda Gjenta til Agenda er tom 9

10 2. Nye kanter med fundamentalregelen Når vi legger kanten e til chartet Hvis e er inaktiv, dvs. på formen (A, [i, k]) Finn alle kanter i chartet på formen (B A, [m, i]) for en eller annen m, B, og : Legg (B A, [m, k]) til Agenda Hvis e er aktiv, dvs. på formen (B A, [m, i]) Finn alle kanter i chartet på formen (A, [i, k]) for en eller annen k, og : Legg (B A,[m, k]) til Agenda 10

11 3. Nye aktive kanter Når vi legger kanten e til chartet Hvis e er inaktiv, dvs. på formen (B, [m,n]) Finn alle A, s.a. A B er en regel og Legg kanten (A B, [m, m]) til agendaen. (Straegi BU0) Det var alt 11

12 Fotnote: Nye aktive kanter Vi la til aktive kanter ved (strategi BU0, NLTK): Hvis e er inaktiv, dvs. på formen (B, [m,n]) Finn alle A, s.a. A B er en regel og Legg kanten (A B, [m, m]) til agendaen. Alternativt kan en i stedet ved (strategi BU1, J&M): Hvis e er inaktiv, dvs. på formen (B, [m,n]) Finn alle A, s.a. A B er en regel og Legg kanten (A B, [m, n]) til agendaen. Begge deler virker og er fullstendige 12

13 Eksempel Parse: gi jenta fisk Gjorde denne i detalj sist Alt unntatt siste kant Neste side: NLTK Samme kanter som sist Litt annen rekkefølge S VP VP IV VP TV NP VP DTV NP NP NP N IV fisk sov TV fisk kjøp DTV gi N jenta fisk 10. mars

14 I dag chart-parsing Fortsatt fra sist: Chart-parsing: hovedideer BU chart-parsing: algoritmen NLTKs ChartParser Enkel Python-implementasjon av BUChart TD chart-parsing CKY og Chart: Parsing vs anerkjenning 14

15 . gi. jenta. fisk. [ ].. [0:1] DTV > 'gi' * >... [0:0] VP > * DTV NP NP [ >.. [0:1] VP > DTV * NP NP. [ ]. [1:2] N > 'jenta' *. >.. [1:1] NP > * N. [ ]. [1:2] NP > N * [ >. [0:2] VP > DTV NP * NP.. [ ] [2:3] IV > 'fisk' *.. [ ] [2:3] TV > 'fisk' *.. [ ] [2:3] N > 'fisk' *.. >. [2:2] NP > * N.. [ ] [2:3] NP > N * [===================================] [0:3] VP > DTV NP NP * >... [0:0] S > * VP [===================================] [0:3] S > VP *.. >. [2:2] VP > * TV NP.. [ > [2:3] VP > TV * NP.. >. [2:2] VP > * IV.. [ ] [2:3] VP > IV *.. >. [2:2] S > * VP 10. mars [ ] [2:3] S > VP * 15

16 . gi. jenta. fisk. [ ].. [0:1] 'gi'. [ ]. [1:2] 'jenta'.. [ ] [2:3] 'fisk' >... [0:0] DTV > * 'gi' [ ].. [0:1] DTV > 'gi' * >... [0:0] VP > * DTV NP NP [ >.. [0:1] VP > DTV * NP NP. >.. [1:1] N > * 'jenta'. [ ]. [1:2] N > 'jenta' *. >.. [1:1] NP > * N. [ ]. [1:2] NP > N * [ >. [0:2] VP > DTV NP * NP.. >. [2:2] IV > * 'fisk'.. >. [2:2] TV > * 'fisk'.. >. [2:2] N > * 'fisk'.. [ ] [2:3] IV > 'fisk' *.. [ ] [2:3] TV > 'fisk' *.. [ ] [2:3] N > 'fisk' *.. >. [2:2] NP > * N.. [ ] [2:3] NP > N * [===================================] [0:3] VP > DTV NP NP * >... [0:0] S > * VP [===================================] [0:3] S > VP *.. >. [2:2] VP > * TV NP.. [ > [2:3] VP > TV * NP.. >. [2:2] VP > * IV.. [ ] [2:3] VP > IV *.. >. [2:2] S > * VP.. [ ] [2:3] S > VP * (Fullstendig NLTK Egentlig følger NLTK samme rekkefølge, men legger inn ordene først uten å slå opp i leksikon. Tillater dermed høyresider med både terminaler og ikketerminaler Men chartet blir større). 10. mars

17 Fotnote: Nye aktive kanter Vi la til aktive kanter ved (strategi BU0, NLTK): Hvis e er inaktiv, dvs. på formen (B, [m,n]) Finn alle A, s.a. A B er en regel og Legg kanten (A B, [m, m]) til agendaen. Alternativt kan en i stedet ved (strategi BU1, J&M): Hvis e er inaktiv, dvs. på formen (B, [m,n]) Finn alle A, s.a. A B er en regel og Legg kanten (A B, [m, n]) til agendaen. Begge deler virker og er fullstendige 17

18 BU1: 14 kanter, (mot BU0: 21 kanter) In [73]: for t in parser_1_1.parse(sent): t.pretty_print(). gi. jenta. fisk. [ ].. [0:1] DTV > 'gi' * [ >.. [0:1] VP > DTV * NP NP. [ ]. [1:2] N > 'jenta' *. [ ]. [1:2] NP > N * [ >. [0:2] VP > DTV NP * NP.. [ ] [2:3] IV > 'fisk' *.. [ ] [2:3] TV > 'fisk' *.. [ ] [2:3] N > 'fisk' *.. [ ] [2:3] NP > N * [===================================] [0:3] VP > DTV NP NP * [===================================] [0:3] S > VP *.. [ > [2:3] VP > TV * NP.. [ ] [2:3] VP > IV *.. [ ] [2:3] S > VP * 10. mars

19 BU chart-parser: egenskaper Behersker: Unære regler Mer enn to symboler på høyresiden i en regel Takler ikke: Tomme høyresider (det vil kreve endringer i algoritmen) NLTKs implementasjon ser ut til å ha tatt høyde for det 10. mars

20 NLTKs chart-parser Lag parser fra grammatikk gi: parser_1_0 = nltk.chartparser(gi) Bruk, f.eks. for t in parser_1_2.parse(sent): t.pretty_print() Det er to nivåer av trace. De må angis når vi konstruerer parser parser_1_1 = nltk.chartparser(gi, trace=1) parser_1_2 = nltk.chartparser(gi, trace=2) Vi har også mulighet til å påvirke parsingstrategien parser_0_1 = nltk.chartparser(gi, nltk.chart.bu_strategy, trace = 1) parser_t_1 = nltk.chartparser(gi, nltk.chart.td_strategy) 20

21 I dag chart-parsing Fortsatt fra sist: Chart-parsing: hovedideer BU chart-parsing: algoritmen NLTKs ChartParser Enkel Python-implementasjon av BUChart TD chart-parsing CKY og Chart: Parsing vs anerkjenning 21

22 Struktur En kant representeres som: <edge> = (<dotted item>,<span>) <dotted item> = (<lhs>,<rhs found>,<rhs to find>) <span> = (<begin>,<end>) Eksempler: (S NP VP, [0,0]) som ((S,[],[NP, VP]),(0,0)) (S NP VP, [0,3]) som ((S,[NP],[VP]),(0,3)) (S -> NP VP, [0,5]) som ((S,[NP, VP],[]),(0,5)) 22

23 Implementasjon: initialisering def make_chart(words, grammar): agenda = [] chart = [] for i in range(len(words)): for p in grammar.productions(): if len(p.rhs()) == 1 and p.rhs()[0] == words[i]: agenda.append(((p.lhs(),list(p.rhs()),[]), (i, i+1))) 23

24 Add to chart while agenda: edge = agenda.pop() if edge not in chart: chart.append(edge) ((mother, found, to_find),(start, end)) = edge if to_find: # active edge, forward fundamental rule pivot = to_find[0] for edge2 in chart: ((moth2, found2, to_find2),(st2, end2)) = edge2 if moth2 == pivot and to_find2==[] and end==st2: newfound = found[:]+[pivot] agenda.append(((mother, newfound,to_find[1:]), (start, end2))) 24

25 Backwards fundamental rule ((mother, found, to_find),(start, end)) = edge if to_find: # active edge, forward fundamental rule else: # inactive edge, backward fundamental rule for edge2 in chart: ((mother2, found2, to_find2),(start2, end2)) = edge2 if to_find2 and to_find2[0]==mother and end2==start: newfound = found2[:]+[mother] agenda.append(((mother2, newfound, to_find2[1:]), (start2, end))) 25

26 New active edges ((mother, found, to_find),(start, end)) = edge if to_find: # active edge, forward fundamental rule else: # inactive edge, backward fundamental rule for edge2 in chart: ((mother2, found2, to_find2),(start2, end2)) = edge2 if to_find2 and to_find2[0]==mother and end2==start: newfound = found2[:]+[mother] agenda.append(((mother2, newfound, to_find2[1:]), (start2, end))) # new active edges for p in grammar.productions(): if p.rhs()[0] == mother: agenda.append(((p.lhs(), [], list(p.rhs())), (start, start))) 26

27 I dag chart-parsing Fortsatt fra sist: Chart-parsing: hovedideer BU chart-parsing: algoritmen NLTKs ChartParser Enkel Python-implementasjon av BUChart TD chart-parsing CKY og Chart: Parsing vs anerkjenning 27

28 Top down active chart-parsing Som ved Bottom UP kombinere 3 typer operasjoner: 1. Lese ordene i setningen inn i chartet 2. Bruke fundamentalregelen når nye kanter legges til chartet 3. Innføre aktive kanter i chartet Og vi bruker agenda på samme måte Forskjellen ligger i punkt 3: Innføring av aktive kanter Punkt 2: bruk av fundamentalregelen blir helt lik Punkt 1: kan gjøres likt eller forskjellig March 10,

29 Top-down active chart-algoritmen Ved intialisering legger vi kanten ( S, [0, 0]) til Agenda Når en aktiv kant (A B, [m, n] ) legges inn i chartet: Finn alle regler som har formen (B ) for en eller annen, og legg kanten (B, [n, n]) til agendaen. (Ikke innfør nye aktive kanter fra regler når inaktive kanter legges til agenda) 29

30 Eksempel Parse: gi jenta fisk S VP VP IV VP TV NP VP DTV NP NP NP N IV fisk sov TV fisk kjøp DTV gi N jenta fisk 10. mars

31 . gi. jenta. fisk. [ ].. [0:1] 'gi'. [ ]. [1:2] 'jenta'.. [ ] [2:3] 'fisk' >... [0:0] S > * VP >... [0:0] VP > * IV >... [0:0] VP > * TV NP >... [0:0] VP > * DTV NP NP >... [0:0] DTV > * 'gi' [ ].. [0:1] DTV > 'gi' * [ >.. [0:1] VP > DTV * NP NP. >.. [1:1] NP > * N. >.. [1:1] N > * 'jenta'. [ ]. [1:2] N > 'jenta' *. [ ]. [1:2] NP > N * [ >. [0:2] VP > DTV NP * NP.. >. [2:2] NP > * N.. >. [2:2] N > * 'fisk'.. [ ] [2:3] N > 'fisk' *.. [ ] [2:3] NP > N * [===================================] [0:3] VP > DTV NP NP * 10. mars [===================================] 2017 [0:3] S > VP * 31

32 . gi. jenta. fisk. [ ].. [0:1] 'gi'. [ ]. [1:2] 'jenta'.. [ ] [2:3] 'fisk' >... [0:0] S > * VP >... [0:0] VP > * IV >... [0:0] VP > * TV NP >... [0:0] VP > * DTV NP NP >... [0:0] DTV > * 'gi' [ ].. [0:1] DTV > 'gi' * [ >.. [0:1] VP > DTV * NP NP. >.. [1:1] NP > * N. >.. [1:1] N > * 'jenta'. [ ]. [1:2] N > 'jenta' *. [ ]. [1:2] NP > N * [ >. [0:2] VP > DTV NP * NP.. >. [2:2] NP > * N.. >. [2:2] N > * 'fisk'.. [ ] [2:3] N > 'fisk' *.. [ ] [2:3] NP > N * [===================================] [0:3] VP > DTV NP NP * 10. mars [===================================] 2017 [0:3] S > VP * 32

33 Fotnote til TD En ren TD-strategi slår ikke opp kategorier for ordene ved initalisering Den foreslår ord TD Da vil en kunne ha regler som blander terminaler og ikke-terminaler på høyresiden i en regel Fint i teorien ekstremt langsomt i praksis Bedre å anta at grammatikken er på standardform og behandle ordene BU (NLTKs TD ser ut som ren TD,men vi ser at det er hypoteser den ikke foreslår, eks N. fisk ) 33

34 Fordeler med Top-Down? Både BU og TD behersker: Å gi riktig svar på om ordene er en setning Unære regler Mer enn to symboler på høyresiden i en regel Høyrerekursive regler TD: Vil ofte foreslå færre kanter som ikke fører frem enn BU-strategien Har ikke problemer med tomme høyresider 10. mars

35 Earleys algoritme (Som presentert av J&M) Tilsvarer en chart-parser med: TDinnføring av aktive/inkomplette kanter Streng venstre mot høyre Egen rutine for leksikalske oppslag (=Scanner) Dermed behøver en bare bruke fundamentalregelen når en legger til inaktive/komplette kanter (og ser mot venstre) (=Completer) (De aktive ser mot høyre og vil ikke se noen inaktive kanter) Når en legger til aktive kanter, må en lage nye aktive kanter (=Predictor) 10. mars

36 Fotnote til Earleys algoritme Som presentert av J&M Fig har en løkke som begynner for each state in chart[i] do og som modifiserer chart[i] Dette kan kreve litt omskrivning ved programmering 10. mars

37 I dag chart-parsing Fortsatt fra sist: Chart-parsing: hovedideer BU chart-parsing: algoritmen NLTKs ChartParser Enkel Python-implementasjon av BUChart TD chart-parsing CKY og Chart: Parsing vs anerkjenning 37

38 CKY Parsing og Chart parsing Er dette egentlig en parser? Strengt tatt: Nei! Det er en anerkjenner Hvordan kan vi lage en parser som følger denne algoritmen? 3/10/2017 Speech and Language Processing - Jurafsky and Martin 38

39 Alternativ Alt 1: Bygg trær underveis og legg dem i chartet S S S S a Med en flertydig grammatikk kan chartet/tabellen vokse eksponensielt 39

40 Eksempel (0) a (1) a (2) a (3) a (4) 0) (Sa) (S(Sa)(Sa)) (S(S(Sa)(Sa))(Sa)) (S(S(S(Sa)(Sa))(Sa))(Sa)) (S(Sa)(S(Sa)(Sa))) (S(S(Sa)(S(Sa)(Sa)))(Sa)) (S(S(Sa)(Sa))(S(Sa)(Sa))) (S(Sa)(S(S(Sa)(Sa))(Sa))) (S(Sa)(S(Sa)(S(Sa)(Sa)))) 1) (Sa) (S(Sa)(Sa)) (S(S(Sa)(Sa))(Sa)) (S(Sa)(S(Sa)(Sa))) 2) (Sa) (S(Sa)(Sa)) 3) (Sa) March 10,

41 Et bedre alternativ Ikke bygg hele trær Men inkluder i strukturen informasjon som gjør det mulig å konstruere alle trær. (Merk: Hvis vi vil skrive ut alle trær får vi uansett en eksponensiell algoritme fordi antallet trær til en streng kan være eksponensielt i lengden av inputt.) 41

42 Eksempel (0) a (1) a (2) a (3) a (4) 0) (1,S,'a') (3,S,[(1,2)]) (6,S,[(1,5),(3,4)]) (10,S,[(1,9),(3,8),(6,7)]) 1) (2,S,'a') (5,S,[(2,4)]) (9,S,[(2,8),(5,7)]) 2) (4,S,'a') (8,S,[(4,7)]) 3) (7,S,'a') 42

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

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-parsingalgoritmen Algoritmen uttrykt

Detaljer

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

INF2820 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:

Detaljer

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 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])

Detaljer

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

INF2820 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:

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

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

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

Detaljer

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

INF2820 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

Detaljer

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/8/2011. I dag. Dynamic Programming. Example. Example FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) Jan Tore Lønning & Stephan Oepen

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning INF2820 Datalingvistikk V2014 9. gang, 13.3.2014 Jan Tore Lønning I dag Chart parsing Implementasjon (Earley s algoritme) Parsing vs anerkjenning For CKY og chart Trekkbaserte ( feature-based )grammatikker

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

Detaljer

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

2/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

Detaljer

INF2820-V2018 Oppgavesett 10 Gruppe 18.4

INF2820-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

Detaljer

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

INF2820 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

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

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning INF2820 Datalingvistikk V2014 7. gang, 27.2 Jan Tore Lønning I dag Mellomspill: Chomsky Normal Form Tabellparsing: CKY-algoritmen Innlede Chart-Parsing 20. februar 2014 2 Chomsky-normalform (CNF) En grammatikk

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

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 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

Detaljer

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 TABELLPARSING 1. mars 2011 2 I dag Oppsummering fra sist: Recursive-descent og Shift-reduce parser Svakheter med disse Tabellparsing: Dynamisk

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

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 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) 1. mars 2016 2 Dynamisk programmering I en beregning kan det inngå delberegninger

Detaljer

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V2012

INF2820 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

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 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

Detaljer

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 KONTEKSTFRIE GRAMMATIKKER OG PARSING 22. februar 2011 2 I dag Avledninger og normalformer Parsing: ovenifra og ned (top-down) Parsing: nedenifra

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 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:

Detaljer

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

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 KONTEKSTFRIE GRAMMATIKKER OG PARSING 22. februar 2011 2 Høyre- og venstreavledninger Til hvert tre svarer det mange avledninger. For kontekstfrie

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

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning INF2820 Datalingvistikk V2016 9. Gang 16.3 Jan Tore Lønning I dag Kort repetisjon: Hoedideer i chart-parsing CKY og chart: anerkjenning vs parsing Formell språkteori: Chomsky-hierarkiet Er naturlige språk

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning INF2820 Datalingvistikk V2012 Jan Tore Lønning MER OM PARSING, SÆRLIG TABELLPARSING 20. februar 2012 2 I dag Oppsummering og utfylling fra sist: Recursive-descent parser (top-down) Shift-reduce parser

Detaljer

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 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?

Detaljer

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

INF 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

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 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

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

INF2820 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

Detaljer

2/20/2012. I dag. Parsing. Recursive descent parser SÆRLIG TABELLPARSING. Venstre- og høyreavledning. 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 V2012 Jan Tore Lønning MER OM PARING, ÆRLIG TABELLPARING 20. februar 2012 2 hift-reduce parser (bottom-up) vakheter ved disse 20. februar 2012 3 Parsing Gitt en grammatikk G og

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

UNIVERSITETET I OSLO

UNIVERSITETET 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

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

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning INF2820 Datalingvistikk V2015 8. Gang 9.3 Jan Tore Lønning I dag Avslutte parsing i denne omgang Chomsky Normal Form (CNF) Algoritme for omforming CKY Algoritme Implementasjon Begynne trekkgramatikker

Detaljer

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

INF2820 V2017 Oppgavesett 5 Gruppe 21.2 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

Detaljer

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

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

Detaljer

INF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 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

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

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag 1 2 Tre1: Tre 2: Tre 3: 3 Det kan være lurt å bytte ut regel NP > NP og NP med NP > NP C NP C > og Grammatikk G blander terminaler og ikketerminaler

Detaljer

INF2820 Datalingvistikk V Gang 20.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 20.3 Jan Tore Lønning INF2820 Datalingvistikk V2017 10. Gang 20.3 Jan Tore Lønning I dag grammatikker med trek og unifikasjon Fortsatt:) CKY og Chart: Parsing vs anerkjenning Grammatikker med trekk Tolkning av grammatikkene,

Detaljer

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 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

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

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

Detaljer

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

1/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

Detaljer

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

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 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

Detaljer

Oppgave 1 (samlet 40%)

Oppgave 1 (samlet 40%) 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

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

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

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning ENDELIGE TILSTANDSMASKINER OG REGULÆRE SPRÅK 19. januar 2017 2 Fysisk modell En tape delt opp i ruter. I hver rute står det et symbol. En

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning INF2820 Datalingvistikk V2015 Jan Tore Lønning ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 26. januar 2015 2 ENDELIGE AUTOMATER «FINITE STATE AUTOMATA» (FSA) 26. januar 2015

Detaljer

2/6/2012. Begrensninger ved regulære språk. INF2820 Datalingvistikk V2012. Formelle språk som ikke er regulære KONTEKSTFRIE GRAMMATIKKER.

2/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:

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 3: INF5110, fra 1/3-2011

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

Detaljer

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

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

Detaljer

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

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO INF5110 12/2-2013 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO Dagens temaer: Noen foiler igjen fra forrige gang SLR(1), LR(1)- og LALR(1)-grammatikker NB: Oppgaver til kap 4 og 5 er lagt ut på undervisningsplanen

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

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

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 ottom up parsering (nedenfra-og-opp) Kap. 5 del 1 Intro til parsering nedenfra-og-opp samt LR(0) og LR(1) grammatikker INF5110 v2006 rne Maus, Ifi UiO t 1 t 2 t 3 t 7 t 4 t 5 t 6 LR-parsering og grammatikker

Detaljer

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning INF2820 Datalingvistikk V2016 Jan Tore Lønning ENDELIGE AUTOMATER «FINITE STATE AUTOMATA» (FSA) 25. januar 2016 2 Fysisk modell En tape delt opp i ruter. I hver rute står det et symbol. En innretning som

Detaljer

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning INF2820 Datalingvistikk V2016 Jan Tore Lønning ENDELIGE AUTOMATER «FINITE STATE AUTOMATA» (FSA) 3. februar 2016 2 Fysisk modell En tape delt opp i ruter. I hver rute står det et symbol. En innretning som

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

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 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal Oppgave 2 INF5110 oppgave 2 på eksamen v04 med teori rne Maus Ifi FirstMengder Def { terminal First () = { a finnes avledning * a α } Dessuten: Om er utnullbar, så er ε First() Eks. 4.9 eregning av First-mengde

Detaljer

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 ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 31. januar 2011 2 SAMMENHENGER FSA OG REGULÆRE UTTRYKK 31. januar

Detaljer

INF2820 Datalingvistikk V2016. Jan Tore Lønning

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

Detaljer

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

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning ENDELIGE TILSTANDSMASKINER OG REGULÆRE SPRÅK, DEL 2 19. januar 2017 2 Sist uke: FSA Brukes om hverandre: Finite state automaton - FSA

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning INF2820 Datalingvistikk V2015 Jan Tore Lønning Idag Automater og regulære uttrykk Litt Python Implementasjon av DFA i Python Naiv NFA-algoritme Smart NFA-algoritme Pythonimplementasjon 30. januar 2015

Detaljer

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

INF 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

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

INF5110 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 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

Detaljer

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF2820 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

Detaljer

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 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

Detaljer

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

INF2820 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

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 Oppgåvesettet er på 5 side(r) Vedlegg: 0

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

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

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009 Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009 Stein Krogdahl, Ifi, UiO Torsdag 26/2: Første time Kap. 5 (avslutning?) Andreas Svendsen kommer andre time, snakker om oblig 1 (spesielt

Detaljer

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Metoden ble formalisert av Richard Bellmann (RAND Corporation) på 5-tallet. Programmering i betydningen planlegge, ta beslutninger. (Har ikke noe med kode eller å skrive kode å gjøre.)

Detaljer

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

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 INF2820 Datalingvistikk V2011 Jan Tore Lønning & Stephan Oepen ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 31. januar 2011 2 Regulære språk Følgende er ekvivalente: a) L kan

Detaljer

INF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning

INF2820 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

Detaljer

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

INF2820 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

Detaljer

INF 2820 V2018: Innleveringsoppgave 2

INF 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

Detaljer

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning INF2820 Datalingvistikk V2014 Jan Tore Lønning ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 22. januar 2014 2 DFA deterministisk endelig maskin Q = {q0, q1, q2,, qn-1} Strengt

Detaljer