INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 30.3 Jan Tore Lønning

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 5.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 20.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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 19.3 del 1 Jan Tore Lønning

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

3/8/2011. I dag. Dynamic Programming. Example. Example FORMELLE EGENSKAPER VED SPRÅK (KAP. 16) Jan Tore Lønning & Stephan Oepen

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

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

2/20/2012. I dag. Parsing. Recursive descent parser SÆRLIG TABELLPARSING. Venstre- og høyreavledning. Jan Tore Lønning

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

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

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang 20.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning

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

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

MAKE MAKE Arkitekter AS Maridalsveien Oslo Tlf Org.nr

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

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

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

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

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

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

Obligatorisk oppgave 4, INF2820, 2014

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF 2820 V2018: Innleveringsoppgave 3

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

UNIVERSITETET I OSLO

INF2820 Datalingvistikk V2014. Jan Tore Lønning

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

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

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

INF2820 Datalingvistikk V2015. Forelesning 4, 9.2 Jan Tore Lønning

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

INF2820-V2018 Oppgavesett 10 Gruppe 18.4

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF5820. Language technological applications. H2010 Jan Tore Lønning

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

INF2820 Datalingvistikk V2016. Forelesning 4, 10.2 Jan Tore Lønning

INF2820 Datalingvistikk V2016. Forelesning 4, 10.2 Jan Tore Lønning

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

Slope-Intercept Formula

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang, del Jan Tore Lønning

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

INF2820 Datalingvistikk V2017 Forelesning 1.1, 16.1 Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Transkript:

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 («feature grammars») Begrensninger ved CFG Grammatikker med enkle trekk 10. mars 2015 2

Chomsky-normalform (CNF) CKY algoritmen forutsetter at grammatikken er på Chomsky-normalform En grammatikk er på Chomsky-normalform hvis alle reglene er på en av følgende former: A B C (ikketerminaler) A t (t en terminal) Enhver CFG G hvor ε L(G) er svakt ekvivalent til en G på CNF, dvs L(G)=L(G ) 10. mars 2015 3

Chomsky-normalform (CNF) Enhver CFG G hvor ε L(G) er svakt ekvivalent til en G på CNF Oppskrift: 1. Erstatt alle regler på formen A ε 2. Erstatt alle regler på formen A B for B en ikke-terminal 3. For hver regel A β, der β > 1 og β inneholder en eller flere terminaler t 1,, t n : 1. Innfør nye ikke-terminaler T 1,, T n. 2. Erstatt t i med T i 3. Innfør reglene T i t i for i = 1,, n 4. For hver regel A B 1 B 2 B n, n > 2, : 1. Innfør nye ikke-terminaler C 1,, C n-1 og regler 2. A B 1 C 1 3. C i B i+1 C i+1 for i = 1,, n-1 10. mars 2015 4

De to første trinnene: 1. Erstatt alle regler på formen A ε unntatt evt. S ε: 1. Finn mengden E av alle ikke-terminaler A, s.a. A + ε 2. For hver regel B β: Legg til alle regler på formen B β, der β fremkommer ved å stryke en eller flere ikke-terminaler fra E. 3. Stryk alle regler på formen A ε 2. Erstatt alle regler på formen A B for B en ikke-terminal: 1. For enhver ikke-terminal B: For enhver A s.a. A B eller A + B: For enhver β s.a. B β: Innfør A β, hvis den ikke alt finnes 2. Fjern alle unære regler med ikke-terminal h.s. 10. mars 2015 5

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε 10. mars 2015 6

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c 10. mars 2015 7

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c Trinn 2 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. stryk 5. B a B c 6. strøket 7. S a 8. A a 9. A a b 10.B a c 11.A a B c 12.A a c 10. mars 2015 8

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c Trinn 2 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. strøket 5. B a B c 6. strøket 7. S a 8. A a 9. A a b 10.B a c 11.A a B c 12.A a c Trinn 3 I. S X A II. A X A III. A X A Y IV. strøket V. B X B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI. A X B Z XII. A X Z XIII. X a XIV. Y b XV. Z c 10. mars 2015 9

Eksempel Grammatikk 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. B ε Trinn 1 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. A B 5. B a B c 6. stryk 7. S a 8. A a 9. A a b 10.B a c Trinn 2 E = {A, B} 1. S a A 2. A a A 3. A a A b 4. stryk 5. B a B c 6. strøket 7. S a 8. A a 9. A a b 10.B a c 11.A a B c 12.A a c Trinn 3 I. S X A II. A X A III. A X A Y IV. strøket V. B X B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI. A X B Z XII. A X Z XIII. X a XIV. Y b XV. Z c Trinn 4 I. S X A II. A X A III. IV. V. A X P P A Y strøket B X Q Q B Z VI. strøket VII. S a VIII. A a IX. A X Y X. B X Z XI. A X R R B Z XII. A Y Z XIII. X a XIV. Y b XV. Z c 10. mars 2015 10

Sample L1 Grammar 3/10/2015 Speech and Language Processing - Jurafsky and Martin 11

CNF Conversion 3/10/2015 Speech and Language Processing - Jurafsky and Martin 12

I dag Avslutte parsing i denne omgang Chomsky Normal Form (CNF) Algoritme for omforming CKY Algoritme Implementasjon Begynne trekkgramatikker («feature grammars») Begrensninger ved CFG 10. mars 2015 13 Grammatikker med enkle trekk

CKY-parsing Hovedide: 1. For hvert segment [i, j] av ord i input, bestem hvilke ikke-terminaler som disse ordene kan avledes fra 2. Bottom-up 3. Kortere segmenter før lengre segmenter 14

Example 3/10/2015 Speech and Language Processing - Jurafsky and Martin 15

Example 3/10/2015 Speech and Language Processing - Jurafsky and Martin 16

Example Det kan være vilkårlig mange kategorier i en celle. NLTK har en mangelfull implementasjon av wfst der en celle bare har rom for ett symbol 3/10/2015 Speech and Language Processing - Jurafsky and Martin 17

CKY Algorithm 3/10/2015 Speech and Language Processing - Jurafsky and Martin 18

CKY-implementasjon (følger pseudok.) def cky(words, cfg): tabl = [[set([]) for j in range(len(words)+1) ] for i in range(len(words))] for j in range(len(words)): tabl[j][j+1] = set([p.lhs() for p in cfg.productions() if p.rhs() == (words[j],)]) for i in range(j-1,-1,-1): for k in range(i+1, j+1, 1): tabl[i][j+1] = tabl[i][j+1].union( [p.lhs() for p in grammar.productions() if (p.rhs()[0] in tabl[i][k] and p.rhs()[1] in tabl[k][j+1])]) return tabl 19

CKY-implementasjon (mer prosedyrell) def cky(words, cfg): tabl = [[[] for j in range(len(words)+1) ] for i in range(len(words))] for j in range(len(words)): tabl[j][j+1] = [p.lhs() for p in cfg.productions() if p.rhs() == (words[j],)] for i in range(j-1,-1,-1): for k in range(i+1, j+1, 1): for p in grammar.productions(): if (p.rhs()[0] in tabl[i][k] and p.rhs()[1] in tabl[k][j+1]): if not p.lhs() in tabl[i][j+1]: tabl[i][j+1].append(p.lhs()) return tabl 20

Begrensninger i CKY 1. Grammatikken må være på CNF 2. Det foreslås strukturer som holder lokalt, men ikke globalt: Løsninger baserer seg på å kombinere TD og BU Hjelp for begge problemene å innføre dotted items og chart-parsing senere i semesteret 10. mars 2015 21

I dag Avslutte parsing i denne omgang Chomsky Normal Form (CNF) Algoritme for omforming CKY Algoritme Implementasjon Begynne trekkgramatikker («feature grammars») Begrensninger ved CFG Grammatikker med enkle trekk 10. mars 2015 22

To typer begrensninger 1. Det finnes (formelle) språk som ikke kan beskrives av noen CFG 2. CFG er ikke alltid hensiktsmessige 23

1.Formelle språk som ikke er CFG Eksempler: a n b n c n a n b m c n d m ww Hvorfor? Skal ikke se på bevis Intuisjon: Tenk SR-parser Den kan bare se toppen av stacken Dette gir f.eks. forskjellen mellom ww R og ww Senere se på: Er naturlige språk CFG-språk? 24

2. Er CFG hensiktsmessige for å beskrive naturlige språk? Eksempel 1: samsvar («agreement») Eksempel 2: VP og subkategorisering Se mer i J&M Seksj. 12.3 25

Agreement (no: samsvar) By agreement, we have in mind constraints that hold among various constituents that take part in a rule or set of rules For example, in English, determiners and the head nouns in NPs have to agree in their number. This flight Those flights *This flights *Those flight Speech and Language Processing - Jurafsky and Martin 26 3/10/2015

Verb Phrases English VPs consist of a head verb along with 0 or more following constituents which we ll call arguments. Speech and Language Processing - Jurafsky and Martin 27 3/10/2015

Subcategorization But, even though there are many valid VP rules in English, not all verbs are allowed to participate in all those VP rules. We can subcategorize the verbs in a language according to the sets of VP rules that they participate in. This is a modern take on the traditional notion of transitive/intransitive. Modern grammars may have 100s or such classes. Speech and Language Processing - Jurafsky and Martin 28 3/10/2015

Subcategorization Sneeze: John sneezed Find: Please find [a flight to NY] NP Give: Give [me] NP [a cheaper fare] NP Help: Can you help [me] NP [with a flight] PP Prefer: I prefer [to leave earlier] TO-VP Told: I was told [United has a flight] S Speech and Language Processing - Jurafsky and Martin 29 3/10/2015

Possible CFG Solution Possible solution for agreement. Can use the same trick for all the verb/vp classes. SgS -> SgNP SgVP PlS -> PlNp PlVP SgNP -> SgDet SgNom PlNP -> PlDet PlNom PlVP -> PlV NP SgVP ->SgV Np 3/10/2015 Speech and Language Processing - Jurafsky and Martin 30

Hvorfor ikke? F.eks. NLTK ch.9, ex. 8 S NP_SG VP_SG S NP_PL VP_PL NP_SG Det_SG N_SG NP_PL Det_PL N_PL VP_SG V_SG VP_PL V_PL Det_SG 'this' Det_PL 'these' N_SG 'dog' N_PL 'dogs' V_SG 'runs' V_PL 'run' Problem Eksplosjon av regler NP DET N 16 regler i tysk (4 kasus*(3 genus i sg + pl) NPs: 1., 2., 3. person Manglende generalisering: De 16 reglene har mye felles March 10, 2015 31

I dag Avslutte parsing i denne omgang Chomsky Normal Form (CNF) Algoritme for omforming CKY Algoritme Implementasjon Begynne trekkgramatikker («feature grammars») Begrensninger ved CFG Grammatikker med enkle trekk 10. mars 2015 32

Trekk ( features ) trinn for trinn NLTK ch.9, ex. 8 S NP_SG VP_SG S NP_PL VP_PL NP_SG Det_SG N_SG NP_PL Det_PL N_PL VP_SG V_SG VP_PL V_PL Det_SG 'this' Det_PL 'these' N_SG 'dog' N_PL 'dogs' V_SG 'runs' V_PL 'run' Kategorier og trekk S NP[NUM=sg] VP[NUM=sg] S NP[NUM=pl] VP[NUM=pl] NP[NUM=sg] Det[NUM=sg] N[NUM=sg] NP[NUM=pl] Det[NUM=pl] N[NUM=pl] VP[NUM=sg] V[NUM=sg] VP[NUM=pl] V[NUM=pl] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run' March 10, 2015 33

Trekk trinn for trinn 2 Kategorier og trekk S NP[NUM=sg] VP[NUM=sg] S NP[NUM=pl] VP[NUM=pl] NP[NUM=sg] Det[NUM=sg] N[NUM=sg] NP[NUM=pl] Det[NUM=pl] N[NUM=pl] VP[NUM=sg] V[NUM=sg] VP[NUM=pl] V[NUM=pl] Saml sammen likheter S NP[NUM=?x] VP[NUM=?x] NP[NUM=?x] Det[NUM=?x] N[NUM=?x] VP[NUM=?x] V[NUM=?x] Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run' Det[NUM=sg] 'this' Det[NUM=pl] 'these' N[NUM=sg] 'dog' N[NUM=pl] 'dogs' V[NUM=sg] 'runs' V[NUM=pl] 'run' March 10, 2015 34

Intuitiv tolkning CFG S NP VP Med trekk S NP[NUM=?x] VP[NUM=?x] Hvis words[i,j] er en NP og words[j,k] er en VP Så kan words[i,k] være en S Hvis words[i,j] er en NP og words[j,k] er en VP og NP sin NUM = VP sin NUM Så kan words[i,k] være en S March 10, 2015 35

Mot en formalisering Formelt: Kan en kategori ha flere enn ett trekk? Hvilke verdier kan et trekk ta? Hva er de mulige grammatikkreglene? Hvordan skal vi tolke grammatikkreglene? Anvendelser: Hvordan skal en grammatikk med trekk for et gitt fenomen formuleres naturlig? Hva mer kan trekk brukes til? Generaliseringer Grammatikker for språk som ikke er kontekstfrie Semantiske representasjoner Komputasjonelt: Hvordan kan trekkgrammatikker parses? March 10, 2015 36

Flere enn ett trekk i en kat., eks: tysk S NP[CASE=nom, NUM=?x, PERS=?y] VP[NUM=?x, PERS=y?] NP[CASE=?z,NUM=?x, PERS=3rd] Det[CASE=?z,NUM=?x, GEN=?u] N[CASE=?z,NUM=?x, GEN=?u] VP[NUM=?x] V[SUBC= dtv, NUM=?x] NP[CASE=dat] NP[CASE=acc] Det[NUM=sg, CASE=nom, GEN=mask] 'der' 37

Flere enn ett trekk i en kat., eks: tysk S NP[CASE=nom, NUM=?x, PERS=?y] VP[NUM=?x, PERS=?y] NP[CASE=?z,NUM=?x, PERS=3rd] Det[CASE=?z,NUM=?x, GEN=?u] N[CASE=?z,NUM=?x, GEN=?u] VP[NUM=?x] V[SUBC= dtv, NUM=?x] NP[CASE=dat] NP[CASE=acc] Det[NUM=sg, CASE=nom, GEN=mask] 'der' 38