Matematik för språkteknologer

Relevanta dokument
Datorlingvistisk grammatik

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Lite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer

Kontextfria grammatiker

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

Tekniker för storskalig parsning: Grundbegrepp

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Grundläggande textanalys, VT2012

Föreläsning 2 5/6/08. Reguljära uttryck 1. Reguljära uttryck. Konkatenering och Kleene star. Några operationer på språk

b) S Ø aa, A Ø aa» bb, B Ø aa» bc, C Ø ac» bc» 2. Låt L vara språket över 8a< som nedanstående NFA accepterar.

DAB760: Språk och logik

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

10. Mängder och språk

Matematik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Författare: Marco Kuhlmann 2013

729G09 Språkvetenskaplig databehandling

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Vad är syntax? Olika språksyn

729G09 Språkvetenskaplig databehandling

Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm

PROV I MATEMATIK Automatateori och formella språk DV1 4p

Föreläsning 7: Syntaxanalys

7, Diskreta strukturer

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Ord, lexem, ordformer (repetition) Ord och morfem (repetition) Fraser/konstituenter (repetition) Grammatisk analys i språkteknologin

Inlämningsuppgift MiniPlotter

Kontextfri grammatik (CFG)

FL 6: Definite Clause Grammars (kap. 7)

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Partiell parsning Parsning som sökning

K2 Något om modeller, kompakthetssatsen

Labb 1 - Textbearbetning med reguljära uttryck. Formella språk. Definitioner. Chomskyhierarkin. Formella språk. Formella språk

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

Alfabeten, strängar och språk. String

MÄLARDALENS HÖGSKOLA. CD5560 Formella språk, automater och beräkningsteori. Användarmanual. för simulatorn JFLAP

Matematik för språkteknologer

Objektorienterad modellering och diskreta strukturer. 13. Problem. Sven Gestegård Robertz. Datavetenskap, LTH

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

PCP-satsen på kombinatoriskt manér

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Tekniker för storskalig parsning

1 Inledning. 1.1 Programförklaring. 1.2 Innehållet. 1.3 Beteckningskonventioner - 1 -

7, Diskreta strukturer

Frasstrukturgrammatik

Vi skalla främst utnyttja omskrivning av en matris för att löas ett system av differentialekvaioner. 2? Det är komplicerat att

Modellering med kontextfri grammatik Kontextfri grammatik - definition En enkel kontextfri grammatik Klasser av formella språk

Uppsala universitet Institutionen för lingvistik och filologi. Grundbegrepp: Mängder och element Delmängder

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Automater. Matematik för språkteknologer. Mattias Nilsson

SPRÅKTEKNOLOGIPROGRAMMET

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Formell Verifiering. Hur vet man att ett system fungerar korrekt? Lisa Kaati

9. Predikatlogik och mängdlära

Definition. Mängden av reguljära uttryck på alfabetet Σ definieras av. om α och β är reguljära uttryck så är (α β) ett reguljärt uttryck

Våra vanligaste fördelningar

Explorativ övning 5 MATEMATISK INDUKTION

Om semantisk följd och bevis

Matematiska metoder för språkvetare, 7,5 hp

SPRÅKTEKNOLOGIPROGRAMMET

Vektorgeometri för gymnasister

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Olika språksyn. Vad är syntax?

6 Formella språk. Matematik för språkteknologer (5LN445) UPPSALA UNIVERSITET

SPRÅKTEKNOLOGIPROGRAMMET (STP)

Grammatik för språkteknologer

Explorativ övning 5 MATEMATISK INDUKTION

Hur man skriver matematik

Föreläsning 6: Induktion

Grundläggande logik och modellteori

KTH Matematik B.Ek Lösningar tentamen 5B1928 Logik för D (och IT), 29 augusti 2007

11. Reguljära uttryck och grammatiker

DD1350 Logik för dataloger

TDDA94 LINGVISTIK, 3 poäng tisdag 19 december 2000

Hur bestämmer man vilka fonem ett språk har? Fonologi. Kommutationstest. Hur bestämmer man vilka fonem ett språk har?

Introduktion till statistik för statsvetare

Konvergens och Kontinuitet

Ord och morfologi. Morfologi

Matematik för språkteknologer

Likhetstecknets innebörd

Grundläggande logik och modellteori (5DV102)

Anhållan om ändrad ersättning för vissa HST

Semantik och pragmatik (Serie 3)

Svar och lösningar, Modul 1.

11. Reguljära uttryck och grammatiker

Likhetstecknets innebörd

Fonologi. Kommutationstest. Minimala par. Hur bestämmer man vilka fonem ett språk har?

Induktion, mängder och bevis för Introduktionskursen på I

ARITMETIK 3. Stockholms universitet Matematiska institutionen Avd matematik Torbjörn Tambour

Tryckfel i K. Vännman, Matematisk Statistik, upplaga 2:13

Johan Karlsson Johka490. Statistical machine translation JOHAN KARLSSON

Grammatik i Samtal I. Mathias Broth Lingvistik (729G08) ht -12

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Grundläggande logik och modellteori

Lite om bevis i matematiken

Tentamen i TDDC75 Diskreta strukturer , lösningsförslag

Övning 5 - Tillämpad datalogi 2013

Algoritmer, datastrukturer och komplexitet

Hur man skriver matematik

SF1901: Sannolikhetslära och statistik

Markovprocesser SF1904

Matematiska definitioner i gymnasie- & universitetsläromedel

Reglerteknik AK Tentamen

Transkript:

1 / 21 Matematik för språkteknologer 3.3 Kontext-fria grammatiker (CFG) Mats Dahllöf Institutionen för lingvistik och filologi Februari 2014

2 / 21 Dagens saker Kontext-fria grammatiker (CFG). CFG kan definiera alla de språk som reguljära uttryck/ändliga automater kan definiera. CFG är mer kraftfulla än reguljära uttryck/ändliga automater. CFG har många tillämpningar både inom språkvetenskap och datavetenskap, både för naturliga och artificiella språk.

3 / 21 Kontextfri grammatik formellt En kontextfri grammatik (CFG) är en 4-tupel (V,Σ,R,), där V är en ändlig mängd. De icke-terminala symbolerna. Σ är en ändlig mängd. De terminala symbolerna. Σ och V är disjunkta. R är en ändlig relation mellan V och (V Σ). (R regler.) Relationssymbol. V är startsymbol.

4 / 21 CFG enkelt exempel G = (V,Σ,R,), där V = {} Σ = {a,b} R = { λ, ab} = Mer om denna snart.

5 / 21 CFG annat exempel G = (V,Σ,R,), där V = {JJ,NN,NP,,VB,VP}. Σ = {matematiska, studenter, texter, älskar} R = { NP NN, JJ matematiska, NP JJ NN, NN studenter, NP VP, NN texter, VP VP NP, VB älskar } =.

6 / 21 Härledning från G NP VP NN VB NP studenter älskar JJ NN matematiska texter

7 / 21 Reglerna för omskrivning Givet en CFG G = (V,Σ,R,) trängen kan härledas. Om en sträng β som innehåller åtminstone en icketerminal symbol A kan härledas och A γ ingår i R, så kan vi härleda strängen där en förekomst av A i β ersatts med γ. G definierar det språk som består av alla strängar över Σ som kan härledas. (På vägen härleder vi typiskt andra strängar över (V Σ).)

8 / 21 En härledning motsvarande trädet NP VP NN VP studenter VP studenter VB NP studenter älskar NP studenter älskar JJ NN studenter älskar matematiska NN studenter älskar matematiska texter Fångar aspekter av ordning som inte ett träd gör.

9 / 21 En annan härledning NP VP NP VB NP NP VB JJ NN NP VB JJ texter NP VB matematiska texter NP älskar matematiska texter NN älskar matematiska texter studenter älskar matematiska texter killnad?

10 / 21 Grammatik för {a n b n n 0} CFG G = (V,Σ,R,) V = {} Σ = {a,b} R = { λ, ab} = lutsats: pråket {a n b n n 0} kan definieras av en CFG. Med andra ord: Det är ett kontextfritt språk.

11 / 21 Exempelträd (4 st) a b a b a b a b a b a b λ λ λ λ {a n b n n 0} = {λ,ab,aabb,aaabbb,aaaabbbb,...}

12 / 21 Varje reguljärt språk är ett CF språk Varje reguljärt uttryck motsvarar en ekvivalent ändlig automat. (Förra gången.) Reguljärt uttryck och ändlig automater ekvivalenta. (Vi har sett halva beviset.) Nu: Varje ändlig automat motsvarar en ekvivalent CFG. edan: Men inte vice versa. Klassen CF språk är större än klassen reguljära språk.

13 / 21 Varje reguljärt språk är ett CF språk En automat A kan översättas till en CFG G så här: G s icketerminaler = A s tillstånd. G s startsymbol = A s starttillstånd. En regel s as i G för varje a-övergång från s till s i A. En regel s s i G för varje λ-övergång från s till s i A. En regel s λ i G för varje accepterande tillstånd s i A.

14 / 21 Automaten för ordformerna hos apa a start s 0 a s 1 p s 2 s 3 n s s s 4 s 5 a o s 6 s s 8 r s 7 n

15 / 21 Motsvarande CFG Grammatiken har 9 icketerminaler, s 0,...,s 8. tartsymbolen är s 0. Reglerna i grammatiken ser ut så här: s 0 as 1 s 1 ps 2 s 2 as 3 s 2 os 6 s 3 ss 4 s 3 ns 5 s 5 ss 4 s 6 rs 7 s 7 ss 4 s 7 ns 8 s 8 as 5 s 3 λ s 4 λ s 5 λ s 7 λ

16 / 21 Härledningsexempel s 0 as 1 aps 2 apos 6 apors 7 (aporλ = apor) aporns 8 apornas 5 (apornaλ = aporna) apornass 4 apornasλ = apornas Σ Σ Σ

17 / 21 Några CF språk är inte reguljära pråket {a n b n n 0} är (som vi såg) ett kontextfritt språk. pråket {a n b n n 0} kan inte definieras av en ändlig automat. Bevis via pumpning.

18 / 21 Pumplemma Om en automat accepterar en viss sträng z. och z p, där p är antalet tillstånd i automaten, så måste det finnas en cykel i automaten och vi kan dela in z i tre delar u,v,w v start u w och denna cykel kan tas flera gånger även uvvw, uvvvw, uvvvvw... måste accepteras.

19 / 21 Bevis pråket {a n b n n 0} kan inte definieras av en ändlig automat. Indirekt bevis: vi antar att det finns en ändlig automat M som accepterar {a n b n n 0}. Detta har orimliga konsekvenser. Vi kallar antalet tillstånd i M för p. Vi beaktar en sträng z = a k b k, där 2k p. Pumplemmat kan tillämpas: Om z = a k b k = uvw, så accepterar automaten även uvvw. Men uvvw {a n b n n 0}.

20 / 21 uvvw {a n b n n 0} varför? Om z = a k b k = uvw, så accepterar automaten även uvvw, enligt pumplemmat. Tre möjliga fall: Om v {a}, så innehåller uvvw fler a än b. Om v {b}, så innehåller uvvw fler b än a. Annars v = a x b y, x > 0, och y > 0, och då innehåller uvvw en sekvens b av omgiven av a. I alla tre fall: uvvw {a n b n n 0}. Överordnad slutsats: {a n b n n 0} är ett CF språk som inte kan definieras av en ändlig automat.

21 / 21 ammanfattning Ändlig-automat-språk och reguljära språk är samma klass av språk. (Förra gången.) Alla reguljära språk är också CF språk. Det finns CF språk som inte är reguljära. (CF språk är alltså en överordnad klass.) (Ingår i Chomskyhierarkin med fyra typer av språk: reguljära är typ 3 och CF typ 2. Och motsvarande fyra typer av grammatiker och fyra typer av automater.)