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

Like dokumenter
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 V2012. Jan Tore Lønning

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning

INF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning

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

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

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

INF2820 Datalingvistikk V2015. Jan Tore Lønning

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

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

INF2820 Datalingvistikk V2016. Jan Tore Lønning

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

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

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

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2820 Datalingvistikk V2014. 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 V2011. Jan Tore Lønning & Stephan Oepen

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

INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

INF2820 Datalingvistikk V2012

INF2820 Datalingvistikk V Gang Jan Tore Lønning

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

INF2820 Datalingvistikk V gang, Jan Tore Lønning

1/18/2011. Forelesninger. I dag: Obligatoriske oppgaver. Gruppeundervisning. 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 V Gang 4.5 Jan Tore Lønning

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

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

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

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

INF2820 V2017 Oppgavesett 6 Gruppe 7.3

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

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

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

INF2820 Datalingvistikk V Gang 6.3 Jan Tore Lønning

Skanning del I INF /01/15 1

INF2820 Datalingvistikk V Gang Jan Tore Lønning

UNIVERSITETET I OSLO

INF INF1820. Arne Skjærholt. Terza lezione INF1820. Arne Skjærholt. Terza lezione

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

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

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

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

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V Gang Jan Tore Lønning

INF3110 Programmeringsspråk

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

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

Skanning del I. Kapittel 2 INF 3110/ INF

Dagens tema: Regulære språk og uttrykk

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

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

Hva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:

INF2820 Datalingvistikk V Gang 27.2 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 16.3 Jan Tore Lønning

INF5820 Natural Language Processing - NLP. H2009 Jan Tore Lønning

INF2080 Logikk og beregninger

INF 2820 V2018: Innleveringsoppgave 1

Scanning - I Kap. 2. Hva scanneren gjør

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

INF2820 Datalingvistikk V Gang 2.3 Jan Tore Lønning

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

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

UNIVERSITETET I OSLO

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

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

Notat for oblig 2, INF3/4130 h07

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

TMA4140 Diskret Matematikk Høst 2016

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

Oppgaver til INF 5110, kapittel 5

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Anatomien til en kompilator - I

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

Transkript:

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

Regulære språk Følgende er ekvivalente: a) L kan beskrives med et regulært uttrykk. b) Det fins en NFA som anerkjenner L. c) Det fins en DFA som anerkjenenr L. Ekvivalensen av (b) og (c) sist. Fra (a) til (b) forholdsvis greit å se. Fra (b/c) til (a) er litt vanskeligere å vise Litt notasjon: Hvis R er et regulært uttrykk, er L(R) språket beskrevet av R. Hvis M er en FSA, så er L(M) språket anerkjent av M. 31. januar 2011 4

Fra regulært uttrykk til NFA til til til JFLAP-algoritme litt annerledes: legger til flere ε-kanter 31. januar 2011 5

Fra FSA til RE Hvorfor ikke bare reversere forrige algoritme? Kryssende løkker! 31. januar 2011 6

Legg til ny start og sluttilstand Fjern 1 og 1 tilstand 31. januar 2011 7

Ved fjerning av tilstand k: For alle tilstander i og j: new(i,j) := old(i,j) + old(i,k) old(k,k)*old(k,j) 31. januar 2011 8

Fra DFA til RE: 1. Lag ny begynner- og sluttilstand 2. 3. Fjern i tur og orden alle indre tilstander. Ved fjerning av tilstand k: For alle gjenværende tilstander i og j: new(i,j) := old(i,j) + old(i,k) old(k,k)* old(k,j) til Ikke nødvendig å kunne konstruksjonen. Men vite at det er mulig! 31. januar 2011 9

EGENSKAPER VED REGULÆRE SPRÅK 31. januar 2011 10

Konsekvenser Hvis L er regulært, så er A*-L regulært. Legg til trap state. Reverser aksepterende tilstander Hvis L og M er regulære, så er L M regulært. L M = A*-((A*-L) (A*-M)) 31. januar 2011 11

Språk som ikke er regulære Notasjon: w = n er antall symboler i strengen w. Gitt en DFA over alfabetet A, kalt M. Anta at L(M) er uendelig. 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. (Pumpelemmaet for regulære språk). 31. januar 2011 12

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 } 31. januar 2011 13

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

Chomsky&Miller (1963): 31. januar 2011 15

PROSESSERING MED NFA 31. januar 2011 16

Søkerom 31. januar 2011 17

Breddeførst søk JFLAP Parallellsøk er noe tilsvarende 31. januar 2011 18

Dybdeførst søk m/ Backtracking Jurafsky og Martin 31. januar 2011 19

Jurafsky og Martins algoritme Strengt tatt: nøytral mht. Dybde-først vs bredde-først 31. januar 2011 20

Egenskaper ved algoritmene Både dybde-først m/backtracking breddeførst vil i verste fall ha eksponentielt tidsforbruk proporsjonalt med k n, der n= w, lengden av input k 2 er maks antall kanter fra en node merket med samme symbol Med epsillontransisjoner Kan risikere ikke terminerer! Men vi vet jo at hvis vi først lager DFA får vi linjært tidsforbruk! 31. januar 2011 21

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

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. Terminerer 31. januar 2011 23

REGULÆRE UTTRYKK I PRAKSIS 31. januar 2011 24

Regulære uttrykk to tilnærminger Teoretisk Sett på så langt Oprinnelig (1950-tallet) J&M seksj 2.3 Tilstreber: Minst mulig notasjon for å definere klassen Formelt meget 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! 31. januar 2011 25

Regular Expressions and Text Searching Everybody does it Emacs, vi, perl, grep, etc.. Regular expressions are a compact textual representation of a set of strings representing a language. 1/31/2011 Speech and Language Processing - Jurafsky and Martin 26

Example Find all the instances of the word the in a text. /the/ /[tt]he/ /\b[tt]he\b/ 1/31/2011 Speech and Language Processing - Jurafsky and Martin 27

Errors The process we just went through was based on two fixing kinds of errors Matching strings that we should not have matched (there, then, other) False positives (Type I) Not matching things that we should have matched (The) False negatives (Type II) 1/31/2011 Speech and Language Processing - Jurafsky and Martin 28

Errors We ll be telling the same story for many tasks, all semester. Reducing the error rate for an application often involves two antagonistic efforts: Increasing accuracy, or precision, (minimizing false positives) Increasing coverage, or recall, (minimizing false negatives). 1/31/2011 Speech and Language Processing - Jurafsky and Martin 29

Forkortelser 31. januar 2011 30

Generalisert * 31. januar 2011 31

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 31. januar 2011 32