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

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

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

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

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

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V2016. 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 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2018 Forelesning 3, 29. jan. Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 3, 30.1 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V2012

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

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V2011. 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 V2015. Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V Gang 4.5 Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

INF 2820 V2016: Innleveringsoppgave 3 del 1

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

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

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

INF 2820 V2016: Innleveringsoppgave 3 hele

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

INF INF1820. Arne Skjærholt. Negende les INF1820. Arne Skjærholt. Negende les

INF2820 Datalingvistikk V gang, 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

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

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

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

INF2820 Datalingvistikk V Gang 23.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

UNIVERSITETET I OSLO

INF2820 Datalingvistikk V Gang 6.4 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.4 Jan Tore Lønning

Eksamen INF2820 Datalingvistikk, H2018, Løsningsforslag

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 4, 6.2 Jan Tore Lønning

INF2820 Datalingvistikk V2018 Forelesning 4, 5.2 Jan Tore Lønning

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

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

Dagens Tema: Grammatikker Kap. 3 i K. C. Louden

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

Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

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

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

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

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

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

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

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

Slides til 12.1 Formelt språk og formell grammatikk

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

INF3110 Programmeringsspråk

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

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

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

Skanning del I INF /01/15 1

UNIVERSITETET I OSLO

Transkript:

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 ved naturlige språk Kontekstfrie grammatikker Forholdet mellom kontekstfrie og regulære språk 2

Forrige uke 1. Implementasjon av DFA-anerkjenning 2. Implementasjon av NFA-anerkjenning: 1. Naiv, forgreninger 2. Smart Implementasjonteknisk (INF2810) Rekursiv implementasjon av (1) halerekursiv svarer til løkke (linjær) Rekursiv implementasjon av (2.1) Ikke halerekursiv 3

En raskere algoritme En konfigurasjon består av: En mengde tilstander Resten av strengen Start: Q0 = E({q0}) (E er epsillontillukning) Oppdatering Gitt konfigurasjon: w n = s w Q n ={q1,, qk} La ny konfigurasjon være w n+1 = w Q n+1 =E(δN(q1,s) δn(q2,s) δn(qk,s)) Akseptering Konfigurasjonen w n = ε Q n ={q1,, qk} Aksepterer hvis minst en av q1,, qk er en sluttilstand. 4

Smart NFA-anerkjenning i Python def drec(tape, dfa): index = 0 state = dfa.start while True: if index == len(tape): if state in dfa.finals: return "accept" else: return "reject" elif not (state, tape[index]) in \ dfa.edge.keys(): return "reject" else: state = dfa.edge[(state,tape[index])] index += 1 def nrec(tape, nfa): index = 0 states = [nfa.start] while True: if index == len(tape): successtates = [s for s in states if s in nfa.finals] return len(successtates)> 0 elif len(states) == 0: return False else: states = set([e[2] for e in nfa.edges if e[0] in states and tape[index] == e[1] ]) index += 1 DFA NFA 5

Egenskaper Svarer til underveis å bygge de delene vi trenger av DFA-ene som svarer til denne NFA-en. Algoritmen er linjær i w =n. Men kvadratisk i antall tilstander, m: O(n m**2) Terminerer 6

Ta med hjem: Gitt en NFA: N som beskriver et språk L=L(N) Da finnes det en DFA: D som beskriver samme språk, L=L(D) Skal vi implementere N, kan vi enten konstruere D Eller prosessere direkte med N (som om det var D) Uansett er prosedyren Ikke flertydig Deterministisk Tidsforbruket er linjært i input 7

I dag Oppsummering av endelige tilstandsteknikker Regulære uttrykk: teoretiske og praktiske Begrensninger ved regulære språk Noen egenskaper ved naturlige språk Kontekstfrie grammatikker Forholdet mellom kontekstfrie og regulære språk 8

Regulære uttrykk to tilnærminger Teoretisk Sett på så langt Oprinnelig (1950-tallet, Kleene) J&M seksj 2.3 Tilstreber: Minst mulig notasjon for å definere klassen Formelt veldefinert Praktisk RegEx Unix (grep/egrep), Perl, Emacs, Tilstreber effektiv i bruk Spesialsymboler, div. forkortelser. MEN: kan inneholde muligheter som går ut over de regulære språkene! 9

Forskjeller til teoretiske RE Vi beskriver ikke et språk men søker etter substrenger av et språk Ankere ^ begynnelsen av linjen $ slutten av linjen Går ut over rene RE Muligheten til å referere tilbake til hele grupper: Går utover regulære språk Kan ikke uten videre bruke DFA som algoritme 10

Implementasjon av regex Hvis ekte regulært uttrykk: Gjør om til NFA Enten omform denne igjen til DFA eller bruk den smarte NFA-algoritmens Hvis regex går utover regulære uttrykk brukes andre algoritmer (Ikke se på her.) 11

I dag Oppsummering av endelige tilstandsteknikker Regulære uttrykk: teoretiske og praktiske Begrensninger ved regulære språk Noen egenskaper ved naturlige språk Kontekstfrie grammatikker Forholdet mellom kontekstfrie og regulære språk 12

Fins det språk som ikke er regulære? Eksempler, A = {a,b,c} Regulære L = {w w > 10 000 000} L = {w w inneholder sekvensen abc} L = {w w inneholder 118 a-er} Ikke-regulære L={w w w A*} L={w w R w A*} L={a n b n } 12. februar 2014 13

Formelle språk som ikke er regulære Anta at L er et uendelig regulært språk over A. Da fins et tall n>0 s.a. enhver streng w A* lengre enn n, kan deles i tre: w=xyz, hvor y >0 og w er i L hvis og bare hvis xy k z er i L for alle k>0. Pumpelemma for regulære språk Anta at M er en DFA over alfabetet A, som anerkjenner L, dvs L=L(M) M har et visst antall tilstander n. La w L(M) og w >n. Når M leser w, må det finnes en tilstand s som w er innom to forskjellige steder i w. ( pigeon hole principle ), mao: w kan skrives på formen xyz der y >0 og M er i samme tilstand etter xy som etter x (og etter xyy ) Da må xy n z L(M) for alle n. 14

Er naturlige språk regulære som Et Kari kjente en mann så løp barn by fra Kan vi beskrive syntaksen til setninger i naturlige språk med regulære uttrykk/fsa? Antatt ikke pga center embedding (Chomsky, Syntactic structures, 1957)

Center embedding Regulært Barnet smilte. Barnet, som eide hunden, smilte. Barnet, som eide hunden, som elsket katta, smilte. Barnet, som eide hunden, som elsket katta, som jagde musa, smilte. NP, (som TV NP,)* VP Ikke regulært Musa rømte. Musa, som katta jagde, rømte. Musa, som katta, som hunden elsket, jagde, rømte. Musa, som katta, som hunden, som barnet eide, elsket, jagde, rømte. NP (, som NP,) n (TV,) n VP Kan dette gjentas for alle n? 16

Chomsky&Miller (1963): 17

Begrensninger ved regulære språk Regulære språk er ikke ideelle modeller for naturlige språk fordi: 1. Det er ikke sikkert naturlige språk er regulære 2. Mindre mønstre forekommer flere steder og må skrives ut fullt hvert sted, e.g. DET (ADJ)* N V DET (ADJ)* N DET (ADJ)* N 3. Naturlige språk har en hierarkisk struktur som ikke fanges opp 18

I dag Oppsummering av endelige tilstandsteknikker Regulære uttrykk: teoretiske og praktiske Begrensninger ved regulære språk Noen egenskaper ved naturlige språk Kontekstfrie grammatikker Forholdet mellom kontekstfrie og regulære språk 19

Naturlige språk som formelle språk Et formelt språk består av: En endelig mengde A Ø En delmengde L A* Begrensninger: Bare to nivåer: Symboler Strenger Ingen indre struktur Naturlige språk, alt. 1 Hvert norsk ord oppfattes om et symbol Setninger er strenger av ord Men hva med: Ordenes indre struktur Setninger mer enn strenger har struktur Naturlige språk, alt. 2 Hver lyd (eller bokstav) oppfattes som et symbol Setninger er strenger av lyder/bokstaver Men hva med: At det fins ord mellom lyder og setninger Setninger har struktur 12. februar 2014 20

Ordklasser/ Part of speech N V N Jenta spiste eplet N V jenta, gutten, potetene, sola,.. spiste, så, likte, kastet, (Forenklet:) Ord av samme klasse kan erstatte hverandre: Gutten spiste eplet. Jenta så potetene. Ord av forskjellige klasser kan ikke alltid erstatte hverandre: *Gutten jenta potetene. *Spiste så potetene. 12. februar 2014 21

Noen ordklasser Klasse Underklasser (føyes til senere) Eksempler V verb kastet, spiser, løper, er, N A nomen, substantiv, noun adjektiv Fellesnavn, common noun, CN Egennavn, proper name jenta, gutter, barna, potetene, Per, Kari, Michelle, Bill, P preposisjon på, under, ved, Det Bestemmer, determiner Pronomen en, enhver, noen, ingen, jeg, du, oss, min, 12. februar 2014 22

Bøyning/infleksjon Entall N, substantiv Flertall Ubestemt Bestemt Ubestemt Bestemt gutt gutten gutter guttene jente jenta jenter jentene barn barnet barn barna V, verb infinitiv presens preteritum perfektum imperativ Adjektiv, avledning kaste kaster kastet kasta bygge bygger bygde bygget kastet kasta bygd bygget Abstrakt trekk Ubest+flertall preteritum Skille Realisering -er, -, -et, -de, -et, Substantiv, avledning kast kastende kasting bygg byggende bygging gå går gikk gått gå gående gåing 12. februar 2014 23

Ordform - trekk En fullform av et ord vil ha en del trekk ( features ) Noen av disse er inherente og felles for alle former av et leksem: Kjønn/ gender for substantiv Jente/jenta/jenter/jentene er femininum Transitivitet(stype) for verb Kaste/kaster/kastet/kast tar nomen-komplementet Vite/vet/visste/visst tar komplementsetning (at ) Andre er spesifikke for formen av ordet, Jfr. forrige foil Kjønn for adjektiv Begge typer er avgjørende for hvor ordet kan forekomme: Ei jente *et jente *ei jenta 12. februar 2014 24

Fraser NP Jenta Den lille hunden Hunden fra Moss Du V spiste likte så VP NP eplet et stort, grønt eple eplet som Per hadde kjøpt det Frase: sekvens av ord som hører sammen, her: NP, VP Forskjellige fraser av samme kategori oppfører seg ganske likt Fraser kan delvis identifiseres ved at de kan Koordineres: Du og barna dine, stjal en bil og stakk misplasseres Hvis noe opptrer på en unormal plass er det gjerne en frase 12. februar 2014 25

Frasestruktur En setning er hierarkisk ordnet i fraser 12. februar 2014 26

I dag Oppsummering av endelige tilstandsteknikker Regulære uttrykk: teoretiske og praktiske Begrensninger ved regulære språk Noen egenskaper ved naturlige språk Kontekstfrie grammatikker Forholdet mellom kontekstfrie og regulære språk 27

Context-Free Grammars Terminals We ll take these to be words (for now) Non-Terminals The constituents in a language Like noun phrase, verb phrase and sentence Rules Rules are equations that consist of a single nonterminal on the left and any number of terminals and non-terminals on the right. 2/12/2014 Speech and Language Processing - Jurafsky and Martin 28

som Kari kjente en mann Et barn så løp by Kontekstfrie frasestruktur-grammatikker (CF P-SG) S NP VP NP DET N VP IV VP TV NP NP NP som VP NP NP PP PP P NP NP kari ola N barn by mann fra På BNF (Backus-Naur Form) S ::= NP VP NP ::= DET N NP som VP NP PP kari ola VP ::= IV TV NP PP ::= P NP N ::= barn by mann

Eksempelgrammatikk L0 12. februar 2014 30

Leksikalske regler i L0 OBS L0 er ikke lingvistisk realistisk men illustrerer formalismen 12. februar 2014 31

Context-Free Grammars Det mest sentrale verktøyet i datalingvistikk 2/12/2014 Speech and Language Processing - Jurafsky and Martin 32

Hva betyr kontekstfri? Generell frasestrukturgrammatikk: venstresiden kan være en vilkårlig symbolstreng: α β Kontekstfri grammatikk = kontekstfri frasestrukturgrammatikk: Venstresiden består av én ikke-terminal A β 2/12/2014 Speech and Language Processing - Jurafsky and Martin 33

Konvensjoner Forenkling, kan skrive A β γ δ for A β A γ A δ 12. februar 2014 34

Avledning α β, leses: β kan direkte avledes fra α dersom: α har formen γ C δ for en ikke-terminal C det er en regel på formen C ψ og β = γ ψ δ α 1 * α m, leses: α m kan avledes fra α 1 dersom: det fins en sekvens α 1, α 2,, α m der m>1, og α i α i+1 En kontekstfri grammatikk G generer språket L(G) = { w A* S * w} 12. februar 2014 35

Samme streng kan avledes på flere måter Er vi interessert i dette? Noen ganger Andre ganger ikke 12. februar 2014 36

Trær Et lokalt tre: En node som ikke er et blad Alle døtrene Rekkefølgen mellom døtrene Kantene mellom mor og datter En regel B s1, s2,, sn tillater ( license ) et lokalt tre hvis og bare hvis det har formen: B s1 s2.. sn 12. februar 2014 37

Trær En CFG G, generer et tre t hviss Toppen av t er merket med S Bladene er merket med terminaler Hvert lokalt tre er tillatt av en produksjonsregel T(G) for mengde av trær generert av G Utkomme ( yield ) av treet t er symbolene på bladene i riktig rekkefølge Forkortelse: hviss for hvis og bare hvis En streng w er avledbar fra G hviss w er utkomme til et tre i T(G). 12. februar 2014 38

Ekvivalens To grammatikker, G1 og G2, er (svakt) ekvivalente hvis og bare hvis L(G1)=L(G2) G1 og G2 er sterkt ekvivalente hvis T(G1)=T(G2) 12. februar 2014 39

I dag Oppsummering av endelige tilstandsteknikker Regulære uttrykk: teoretiske og praktiske Begrensninger ved regulære språk Noen egenskaper ved naturlige språk Kontekstfrie grammatikker Forholdet mellom kontekstfrie og regulære språk 40

Fra regulært til kontekstfritt S svarer til starttilstand En ikketerminal per tilstand: S, A1, A2, A3 En regel per transisjon: S a A1 A1 b A2 A2 b S A2 c A3 A3 c A1 En regel per sluttilstand A3 ε Ethvert regulært språk kan beskrives av en kontekstfri grammatikk 12. februar 2014 41

Kontekstfrie og regulære språk Alle regulære språk er kontekstfrie Det fins kontekstfrie språk som ikke er regulære. En CF grammatikk er høyrelinjær hviss: Høyresidene i reglene ikke inneholder mer enn en ikke-terminal. Og den må stå lengst til høyre Venstrelinjær defineres tilsvarende Konstruksjonen forrige slide: Ethvert regulært språk kan beskrives av en høyrelinjær grammatikk 12. februar 2014 42

Kontekstfrie og regulære språk Hvis L=L(G) og G er høyrelinjær så er L regulært. Hvis L=L(G) og G er venstrelinjær, så er L regulært. OBS, L=L(G) kan være regulær selv om G verken er høyre- eller venstrelinjær. Hvorfor? 12. februar 2014 43

Eksempel A = {a, b, c} S A S a A A b c A A c b A A a a B B b C C c C C a Lag DFA 12. februar 2014 44

Kontekstfrie og regulære språk Alle regulære språk er kontekstfrie Det fins kontekstfrie språk som ikke er regulære: L = {a n b n n > 1} S ab S asb 12. februar 2014 45