INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Like dokumenter
INF2820 Datalingvistikk V2012. Jan Tore Lønning

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

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

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

INF2820 Datalingvistikk V2016. Jan Tore Lønning

Skanning del I INF /01/15 1

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

INF2080 Logikk og beregninger

INF 2820 V2016: Obligatorisk innleverinsoppgave 1

Skanning del I. Kapittel 2 INF 3110/ INF

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

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

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

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

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

En repetisjon hrj høst 2009

INF2820 Datalingvistikk V forelesning, 30.1 Jan Tore Lønning

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

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

Turingmaskiner en kortfattet introduksjon. Christian F Heide

INF2820 Datalingvistikk V Gang 9.3 Jan Tore Lønning

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

Dagens tema: Regulære språk og uttrykk

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

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

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

IN1140: Introduksjon til språkteknologi. Forelesning #4

INF 2820 V2018: Innleveringsoppgave 1

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Turingmaskiner en kortfattet introduksjon. Christian F Heide

INF2820 Datalingvistikk V Gang Jan Tore Lønning

MA3301 Beregnbarhets- og kompleksitetsteori Høsten

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

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

Løsningsforslag til obligatorisk oppgave 3 INF1800 Logikk og beregnbarhet, høsten 2009

INF2080 Logikk og beregninger

HMM-tagging INF4820 H2008. Jan Tore Lønning. 30. september. Institutt for Informatikk Universitetet i Oslo

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk

Viktige begrep i kapittel 1.

Avgjørbarhet / Uavgjørbarhet

Ukeoppgaver fra kapittel 10 & Induksjonsbevis

MAT1030 Forelesning 25

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann

MAT1030 Forelesning 22

TMA4140 Diskret Matematikk Høst 2016

Grafteori. MAT1030 Diskret matematikk. Induksjonsbevis

MAT1030 Diskret matematikk

MAT1030 Diskret Matematikk

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene.

Introduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf

MAT1030 Diskret matematikk

Transkript:

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 innretning som leser tapen: Den kan bare bevege tapen i en retning. Den har en begrenset hukommelse: et endelig antall forskjellige tilstander den kan være i Tilstanden er bestemt av: forrige tilstand+siste symbol den har lest 3 1/19/2017

Navn Brukes om hverandre: Finite state automaton - FSA Finite automaton FA Finite state machine - FSM Kan betraktes som Notasjoner for å beskrive språk Notasjon for en automat som leser en tape og skifter tilstand for hvert symbol den leser 1/19/2017 Speech and Language Processing - Jurafsky and Martin 4

En FSA for breking Denne automaten har fem tilstander: q 0, q 1, q 2, q 3, q 4 Den har en begynnertilstand: q 0 (markert med pil) Den har en sluttilstand markert med ring: q 4 Den har fem transisjoner (=kanter i grafen) Hver kant er merket med et symbol fra et alfabet A, der {a, b,!} A 5 1/19/2017

En FSA for breking - tolkning Begynn i tilstand: q 0 Hvis du ser en b så: Flytt en plass Skift til tilstand: q 1 Hvis du er i tilstand q 1 og ser en a, så flytt en plass og skift til tilstand q 2. Men hvis du er i tilstand q 2 og ser en a, så flytt en plass og skift til tilstand q 3. Osv. (Hvis du er i en tilstand og ser et symbol som ikke har en kant, så stopp! ) Den beskriver det samme språket som baaa*! 6 1/19/2017

Figure 2.15

Eksempel Anta at A={a,b,c} Denne beskriver alle ord som inneholder nøyaktig 3 b-er. Oppgave: Hvordan kan den endres til å beskrive alle ord som inneholder 3n antall b-er der n er et naturlig tall? 19. januar 2017 8

Eksempel Anta at A={a,b,c} Denne beskriver alle ord som inneholder nøyaktig 3 b-er. Oppgave: Hvordan kan den endres til å beskrive alle ord som inneholder 3n antall b-er der n er et naturlig tall? 19. januar 2017 9

Formell definisjon En (deterministisk) endelig maskin består av 1. En endelig mengde av tilstander: Q= {q 0, q 1,, q N 1 } 2. Et endelig alfabet av symboler: 3. En begynnertilstand: q 0 Q (J&M bruker konvensjonen at q 0 er begynnertilstand) 4. En mengde av sluttilstander F Q (Denne kan være tom) 5. En transisjonsfunksjon som til hver q Qog a gir en tilstand q = (q,a) i Q (I symboler ) :Q Q 10 1/19/2017

Tre ulike notasjoner for en FSA Diagram Tabell Formelt som i definisjonen: 1. Q= {q 0, q 1, q 2, q 3,q 4 } 2. = {a, b,!} 3. Begynnertilstand: q 0 4. Sluttilstander F = {q 4 } 5. Transisjonsfunksjon : (q 0,b)= q 1 (q 1,a)= q 2 (q 2,a)= q 3 Osv. 1/19/2017 Speech and Language Processing - Jurafsky and Martin 11

Strengt tatt - Figure 2.14+ Fra definisjonen skal det være en kant ut fra hver tilstand for hvert symbol. Vi kan legge til en ekstra tilstand, men bryr oss ikke alltid om å tegne den. Alfabet ={a,b,!} a b!

Hva mener vi med «språk»? 19. januar 2017 13

Naturlige språk Et språk består av Ord: ball Setninger: Kari kastet en ball En setning kan sees på som en sekvens av ord For å kjenne setningen, må vi vite: Hvilke ord er i språket? Hvilke sekvenser av ord er setninger? F.eks. ikke *kastet kastet ball Kari en Formell språkteori er et forsøk på å modellere dette 19. januar 2017 14

Formelle språk Et formelt språk består av: En endelig mengde A Ø En delmengde L A* Merk A* er alle mulige strenger over A er den tomme strengen (skrives også og ). Ø er det tomme språket Ø { } Eksempel 1 A = {a, b, c} A* = {, a, b, c, aa, ab, ac, ba,, cccc, } L ={x A* x inneholder nøyaktig to a er} Eksempel 2 A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} L ={x A* x begynner ikke med 0} {0} 19. januar 2017 15

FSA og språk En FSA beskriver et (formelt) språk Som nettverk: Et ord er i språket hvis vi kan gå fra begynnertilstanden til en sluttilstand og ved hver kant fjerner vi et symbol fra ordet. Sjekk om følgende er i språket: baaaa! baaaa baaabaa! 16 1/19/2017

Naturlige språk som formelle språk Formelt språk: Definert av regler/grammatikk Naturlig språk: Definert av bruk Vi bruker formelle språk som modeller for naturlige språk Eksempel 4 A = {a, b, c,, æ, ø, å} A* = {, a, b, c, aa, ab, ac, ba,, cccc,, datalingvistikk, } L = mengden av de bokstavstrengene vi ser på som norske ord. Eksempel 3 A = mengden av alle former av alle ord i Bokmålsordboka A* = mengden av alle sekvenser av slike ord L = mengden av de strengene fra A* vi anser som grammatiske norske setninger Eksempel 5 A = {a, b, c,, æ, ø, å, \blank, \.} L = mengden av de strengene vi ser på som norske setninger. 19. januar 2017 17

Recognition Simply a process of starting in the start state Examining the current input Consulting the table Going to a new state and updating the tape pointer. Until you run out of tape. 1/19/2017 Speech and Language Processing - Jurafsky and Martin 18

Key Points Deterministic means that at each point in processing there is always one unique thing to do (no choices). D-recognize is a simple table-driven interpreter The algorithm is universal for all unambiguous regular languages. To change the machine, you simply change the table. Tidsforbruk: Proporsjonalt med lengden av strengen Lagerforbruk: Konstant 1/19/2017 Speech and Language Processing - Jurafsky and Martin 19

Endelige tilstandsspråk Et språk som anerkjennes av en FSA kaller vi et endelig tilstandsspråk Ikke alle språk er FSA-språk, f.eks. ikke a n b n Vi skal se etter hvert at et språk er et FSA-språk hvis og bare hvis det er regulært. Nå: Hvis språket <A, L> er et FSA språk, så er komplementspråket <A, A* L> også FSA Bevis: Neste side 20

Metode Vi starter med en deterministisk FSA M1 for L 19. januar 2017 21

Trinn1 Vi legger til: En «trap state» hvis det ikke finnes For alle tilstander og symboler i A hvor det ikke er en kant, legger vi kant som peker til «trap state». Kall denne automaten M2. 19. januar 2017 22

Metode M3 Vi bytter ut hvilke tilstander som er sluttilstander Siden ethvert uttrykk vil føre oss fra begynnertilstanden til nøyaktig en tilstand i M3 (og i M2), vil M3 anerkjenne («recognize») et uttrykk hvis og bare hvis M2 (og M1) ikke gjøre det. 19. januar 2017 23

Hva har vi lært? Definisjon av deterministiske endelige tilstandsautomater Hvordan disse definerer et språk Hvordan vi kan konstruere en DFA for komplementet til en språk definert av en DFA Algoritme for anerkjenning med DFA går i linjær tid 19. januar 2017 24