Grundläggande textanalys, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv12/gta/ (Tack till ofia Gustafson-Capkovâ för material.)
Repetition 2
Exempel parvspråket parvspråket består av ett godtyckligt antal pip sammanbundet med - och avslutas med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljära uttrycket för sparvspråket ut? 3
Exempel parvspråket parvspråket består av ett godtyckligt antal pip sammanbundet med - och avslutas med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljära uttrycket för sparvspråket ut? Lösning: Ordet börjar med: pip 4
Exempel parvspråket parvspråket består av ett godtyckligt antal pip sammanbundet med - och avslutas med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljära uttrycket för sparvspråket ut? Lösning: Ordet börjar med: pip Ordet fortsätter med 0 eller flera -pip : pip(-pip)* 5
Exempel parvspråket parvspråket består av ett godtyckligt antal pip sammanbundet med - och avslutas med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljära uttrycket för sparvspråket ut? Lösning: Ordet börjar med: pip Ordet fortsätter med 0 eller flera -pip : pip(-pip)* Ordet avslutas med! : pip(-pip)*! var: pip(-pip)*! 6
Exempel parvspråket Hur ser den deterministiska finita automaten för sparvspråket ut? Lösning: Automaten ska tillåta: pip p I i P p T 7
Exempel parvspråket Hur ser den deterministiska finita automaten för sparvspråket ut? Lösning: Automaten ska tillåta: pip Automaten ska tillåta: pip(-pip)* p I i P p T - 8
Exempel parvspråket Hur ser den deterministiska finita automaten för sparvspråket ut? Lösning: Automaten ska tillåta: pip Automaten ska tillåta: pip(-pip)* Automaten ska acceptera: pip(-pip)*! p I i P p T -! F 9
Exempel parvspråket Hur ser typ3-grammatiken för sparvspråket ut? Lösning: pi I ip P pt T - T! 10
Exempel parvspråket Hur ser typ3-grammatiken för sparvspråket ut? Lösning: pi I ip P pt T - T! Om vi vill tillåta piip piip-pip!, osv. Hur ska grammatiken se ut då? 11
Exempel parvspråket Hur ser typ3-grammatiken för sparvspråket ut? Lösning: pi I ip I ii P pt T - T! Lägg till den här regeln 12
Idag - Chomsky hierarki - Icke-deterministiska automater - ökning i automater - The pumpning lemma (sv. Pumpsatsen) - Tvånivåmorfologi 13
Chomsky hierarki 14
Chomsky hierarki - typ 3 reguljärt språk ändlig automat Regler: A xa A x 15
Chomsky hierarki - typ 2 ammanhangsfritt språk Regel: A β där : β är en godtycklig sträng Α måste innehålla någon icke-terminal 16
Chomsky hierarki - typ 2 ammanhangsfritt språk Ex: () ( ) pushdown automat (, ε / ( ), ( /ε 1 ), (/ ε 2 ε, ε/ε 3 a, b / c - betyder att om man läser a och hittar b på stacken(minnet) så ersätter man b med c 17
Chomsky hierarki - typ 2 ammanhangsfritt språk Ex: () ( ) pushdown automat (, ε / ( ), ( /ε 1 ), (/ ε 2 ε, ε/ε 3 indata: (()) stack: 18
Chomsky hierarki - typ 2 ammanhangsfritt språk Ex: () ( ) pushdown automat (, ε / ( ), ( /ε 1 ), (/ ε 2 ε, ε/ε 3 indata: (()) stack: ( 19
Chomsky hierarki - typ 2 ammanhangsfritt språk Ex: () ( ) pushdown automat (, ε / ( ), ( /ε 1 ), (/ ε 2 ε, ε/ε 3 indata: (()) stack: (( 20
Chomsky hierarki - typ 2 ammanhangsfritt språk pushdown automat (, ε / ( ), ( /ε 1 ), ( / ε 2 ε, ε/ε 3 indata: (()) stack: ( 21
Chomsky hierarki - typ 2 ammanhangsfritt språk pushdown automat (, ε / ( ), ( /ε 1 ), ( / ε 2 ε, ε/ε 3 indata: (()) stack: 22
Chomsky hierarki - typ 2 ammanhangsfritt språk pushdown automat (, ε / ( ), ( /ε 1 ), ( / ε 2 ε, ε/ε 3 indata: (()) stack: 23
Chomsky hierarki - typ1 ammanhangskänslig grammatik. α β där : α, och β är godtyckliga α måste innehålla någon icke-terminal - β måste ha minst samma längd som α Motsvarande automat är en turingmaskin med begränsad storlek på indatan. 24
Chomsky hierarki - typ0 Restriktionsfria språk Regel: α β Där : α, och β är godtyckliga α måste innehålla någon icke-terminal Exempel: ε abnc bna abn bnb bbn bnc bc Genererar: {abc, aabbcc,...} Motsvarande automat är en turingmaskin 25
Chomsky hierarki (presenterades 1959) Enkelt pråk Grammatik maskin Exempel regulärt regulär ändlig automat m* sammanhangsfritt sammanhangsfri pushdown automat m n u n sammanhangskänsligt sammanhangskänslig linjär-bunden automat m n u n! n Rekusiv enumerbart orestriktiv turingmaskin vilken funktion som helst Komplext 26
Icke deterministiska finita automater 27
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: a 1 2 b 3 a 4 c indata: ab 28
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: a 1 2 b 3 a 4 c indata: a b Vi väljer övergången 1 a 2. 29
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: a 1 2 b 3 a 4 c indata: ab Vi hamnar i finalståndet s3 och strängen ab accepteras av automaten. 30
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Vad händer om vi väljer 1 a 4? a 1 2 b 3 a 4 c Indata: ab 31
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Vad händer om vi väljer 1 a 4? a 1 2 b 3 a 4 c Indata: a b Vi väljer övergången 1 a 4 32
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Vad händer om vi väljer 1 a 4? a 1 2 b 3 a 4 c Indata: a b Vi har ingen övergång som innehåller b så nu har vi hamnat i en återvändsgränd. Vad gör vi nu? 33
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Vad händer om vi väljer 1 a 4? a 1 2 b 3 a 4 c Indata: a b Vi har ingen övergång som innehåller b så nu har vi hamnat i en återvändsgränd. Vad gör vi nu? Vi inför en backup. 34
Icke deterministiska finita automater Backup - När vi kommit till ett tillstånd där vi kan välja vilken övergång vi ska använda, sparar vi följande information: - vilket tillstånd vi är i när vi kan göra ett val, - vilken symbol vi läser från indata-tapen. 35
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: ac Backup: 36
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: a c Backup: <1, a> 37
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: a c Backup: <1, a> Vi kan inte läsa c så vi backar i automaten. 38
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: a c Backup: <1, a> Vi kan inte läsa c så vi backar i automaten. Enligt <1, a> ska vi backa till 1 39
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: ac Backup: <1, a> Vi kan inte läsa c så vi backar i automaten. Enligt <1, a> ska vi backa till 1 och låta a vara läst. 40
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: a c Backup: <4, a> Nu testar vi övergången 1 a 4 istället. 41
Icke deterministiska finita automater En automat där en symbol kan leda till mer än ett tillstånd. Exempel: Med backup a 1 2 b 3 a 4 c Indata: ac Backup: <4, a> Det gick och automaten accepterar ac 42
ökning i automater - depth-first-search Tekniken vi använde för att vandra i automaten kallas för depth-first-search. Depth-first-search innebär följande: - Följ en väg så långt du kan i automaten - Om du fastnat i automaten och inte befinner dig i ett finaltillstånd så backar du i automaten och prövar en annan väg. 43
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. 44
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata: ab 45
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : a b Backup: 2, 4 // Lägg till tillstånden 2, 4 46
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : a b Backup: 4 //Välj att gå till det första tillståndet, 2, i // backup 47
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : ab Backup: 4, 3 //Lägg till tillståndet 3 i backup 48
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : a b Backup: 3 //Välj att gå till det första tillståndet, 4, i // backup 49
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : a b Backup: 3 //Vi kan inte läsa c så vi lägger därför inte till // något tillstånd 50
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : a b Backup: //Välj att gå till det första tillståndet, 3, i // backup 51
ökning i automater- breadt-first-search En annan teknik man kan använda för att söka i en auomat kallas för breadth-first-search och den innebär följande: - para alla övergångar du kan komma till - När du läst färdigt innehållet i tapen undersöker du följande: om du befinner dig i ett finaltillstånd så accepterar automaten indatan annars inte. Exempel: a 1 2 b 3 a 4 c Indata : ab Backup: 52
ökning svagheter Med depth-first-search kan vi hamna i en oändlig loop. 53
ökning svagheter Breadth-first-search kan vara minneskrävande om automaten har många övergångar och vi behöver spara undan alla möjligheter. Exempel: T a a a a U X Y 54
ökning svagheter För att angripa problemen med oändlig loop och krävande minneshantering har man arbetat med olika algoritmer. Till exempel: - Dynamisk programmering - Första gången nånting beräknas, sparar man undan resultatet så att det kan hämtas vid ett senare tillfälle - Virterbi-algoritmen 55
Finita automater - Fakta - Deterministiska och icke-deterministiska finita automater har samma komplexitet - Varje icke-deterministisk finit automat kan skrivas om till en deterministiska automat - En icke-deterministisk finit automat är ofta färre tillstånd än en än en deterministisk automat och är därför ofta enklare. 56
Pumping Lemma 57
Hur vet man att ett språk är reguljärt? - Ett reguljärt språk har begränsat minne och man kan inte till exempel beskriva språk som detta: {mu, mmuu, mmmuuu,...} m n u n dvs, där n > 0 Hur kan vi då avgöra att reguljärt språk? m n u n inte är ett 58
Hur vet man att ett språk är reguljärt? - Ett reguljärt språk har begränsat minne och man kan inte till exempel beskriva språk som detta: {mu, mmuu, mmmuuu,...} m n u n dvs, där n > 0 Hur kan vi då avgöra att reguljärt språk? m n u n inte är ett Jo, med hjälp av The pumping lemma (sv. pumpsatsen). 59
The pumping lemma Låt L vara ett reguljärt språk som innehåller oändligt många strängar. Då finns strängarna x,y och z där: y ϵ -, dvs y är skilt från den tomma strängen x y n z L -, för n > 0 - Vi kan pumpa y N gånger utan att ramla ut ur språket Automaten för L ser ut så här: y 3 x 1 2 z 60
The pumping lemma Vad händer när man pumpar? y x 1 2 3 z pumpa en gång : xyz 61
The pumping lemma Vad händer när man pumpar? y x 1 2 3 z pumpa en gång pumpa två gånger : xyz : xyyz 62
The pumping lemma Vad händer när man pumpar? y x 1 2 3 z pumpa en gång pumpa två gånger pumpa tre gånger : xyz : xyyz : xyyyz 63
The pumping lemma Vad händer när man pumpar? y x 1 2 3 z pumpa en gång pumpa två gånger pumpa tre gånger pumpa n gånger : xyz : xyyz : xyyyz : x yy...y z n 64
The pumping lemma Vad händer när man pumpar? y x 1 2 3 z pumpa en gång : xyz pumpa två gånger : xyyz pumpa tre gånger : xyyyz pumpa n gånger : x yy...y z = x y n z n 65
The pumping lemma Man kan ersätta x, y och z med andra strängar. Exempel: x=ϵ y=bb z=ab ϵ bb ab 1 2 3 66
The pumping lemma Man kan ersätta x, y och z med andra strängar. Exempel: x=ϵ y=bb z=ab ϵ pumpa 0 gånger: ab bb ab 1 2 3 67
The pumping lemma Man kan ersätta x, y och z med andra strängar. Exempel: x=ϵ y=bb z=ab ϵ pumpa 0 gånger: ab pumpa 1 gång : bbab bb ab 1 2 3 68
The pumping lemma Man kan ersätta x, y och z med andra strängar. Exempel: x=ϵ y=bb z=ab ϵ pumpa 0 gånger: ab pumpa 1 gång : bbab pumpa 2 gånger: bbbbab bb ab 1 2 3 69
The pumping lemma Man kan ersätta x, y och z med andra strängar. Exempel: x=ϵ y=bb z=ab ϵ bb pumpa 0 gånger: ab pumpa 1 gång : bbab pumpa 2 gånger: bbbbab pumpa 3 gånger: bbbbbbab ab 1 2 3 70
The pumping lemma Man kan ersätta x, y och z med andra strängar. Exempel: x=ϵ y=bb z=ab ϵ bb ab 1 2 3 pumpa 0 gånger: ab pumpa 1 gång : bbab pumpa 2 gånger: bbbbab pumpa 3 gånger: bbbbbbab... Automaten accepterar språket (bb)*ab 71
The pumping lemma - Tillämpning Exempel: Är m n u n där n>0 reguljärt? 72
The pumping lemma - Tillämpning Exempel: Är m n u n där n>0 reguljärt? Vi tittar på följande sträng: mm...muu...u n n 73
The pumping lemma - Tillämpning Exempel: Är m n u n där n>0 reguljärt? Vi tittar på följande sträng: mm...muu...u n n Fall1: pumpa m m n u n Om är reguljärt, då kan vi pumpa antalet m N gånger utan att vi ramlar ut ur språket. Detta medför dock att vi får en sträng med olika många m och u, vilket innebär att vi ramlar ut ur. m n u n 74
The pumping lemma - Tillämpning Exempel: Är m n u n där n>0 reguljärt? Vi tittar på följande sträng: mm...muu...u n n Fall2: pumpa u m n u n Om är reguljärt, då kan vi pumpa antalet u N gånger utan att vi ramlar ut ur språket. Detta medför dock att vi får en sträng med olika många m och u, vilket innebär att vi ramlar ut ur. m n u n 75
The pumping lemma - Tillämpning Exempel: Är m n u n där n>0 reguljärt? Vi tittar på följande sträng: mm...muu...u n n Fall3: pumpa både m och u m n u n Om är reguljärt, då kan vi pumpa antalet m och u N gånger utan att vi ramlar ut ur språket. Men vi kan inte kontrollera att vi pumpat m och u lika många gånger vi ramlar ut ur språket. 76
Men naturliga språk? m n u n Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? 77
Men naturliga språk? m n u n Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? var: Det avgör att engelska och svenska inte är ett reguljärt språk. eftersom det beskriver depentenser (beroenden) mellan olika delar av en sats. 78
Men naturliga språk? Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? var: Det avgör att engelska och svenska inte är ett reguljärt språk. eftersom det beskriver depentenser (beroenden) mellan olika delar av en sats. Exempel: m n u n The cat 1 died 1 79
Men naturliga språk? Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? var: Det avgör att engelska och svenska inte är ett reguljärt språk. eftersom det beskriver depentenser (beroenden) mellan olika delar av en sats. Exempel: m n u n The cat 1 died 1 The cat 1 the dog 2 chased 2 died 1 80
Men naturliga språk? Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? var: Det avgör att engelska och svenska inte är ett reguljärt språk. eftersom det beskriver depentenser (beroenden) mellan olika delar av en sats. Exempel: m n u n The cat 1 died 1 The cat 1 the dog 2 chased 2 died 1 The cat 1 the dog 2 the rat 3 bit 3 chased 2 died 1 81
Men naturliga språk? Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? var: Det avgör att engelska och svenska inte är ett reguljärt språk. eftersom det beskriver depentenser (beroenden) mellan olika delar av en sats. Exempel: m n u n The cat 1 died 1 The cat 1 the dog 2 chased 2 died 1 The cat 1 the dog 2 the rat 3 bit 3 chased 2 died 1 (The N ) n (verb) n 82
Men naturliga språk? Men om inte är ett reguljärt språk, vad säger det då om naturliga språk som engelska och svenska? var: Det avgör att engelska och svenska inte är ett reguljärt språk. eftersom det beskriver depentenser (beroenden) mellan olika delar av en sats. Exempel: m n u n The cat 1 died 1 The cat 1 the dog 2 chased 2 died 1 The cat 1 the dog 2 the rat 3 bit 3 chased 2 died 1 (The N ) n (verb) n (The N ) n (transitivt verv) n 1 (transitivt verb) 1 83
pråklig komplexitet m n u n - pråket kan beskrivas med kontextfria regler: mu m u reglerna kallas för typ 2- grammatik, dvs grammatiken är mer komplex än typ 3- grammatik 84
pråklig komplexitet m n u n - pråket kan beskrivas med kontextfria regler: mu m u reglerna kallas för typ 2- grammatik, dvs grammatiken är mer komplex än typ 3- grammatik - Kan man beskriva naturliga språk med kontextfria regler, eller behöver man en kontextkänslig grammatik, typ 1- grammatik? 85
pråklig komplexitet m n u n - pråket kan beskrivas med kontextfria regler: mu m u reglerna kallas för typ 2- grammatik, dvs grammatiken är mer komplex än typ 3- grammatik - Kan man beskriva naturliga språk med kontextfria regler, eller behöver man en kontextkänslig grammatik, typ 1- grammatik? Det kan bli problem med kontextfria regler, men det enda exempel som citeras i litteraturen är från en schweizertysk dialekt, sid 572 i Jurafsky och Martin. Det språket kan beskrivas som a n b m c n d m 86
Tvånivåmorfologi 87
Tvånivåmorfologi - Översikt Tvånivåmorfologi är en morfologisk parsning där man arbetar med följande: - ett lexikon som innehåller följande: rotmorfem affix (prefix, suffix, etc) specifikation som beskriver i vilken ordning rotmorfem och affix förekommer 88
Tvånivåmorfologi - Översikt Tvånivåmorfologi är en morfologisk parsning där man arbetar med följande: - ett lexikon som innehåller följande: rotmorfem affix (prefix, suffix, etc) specifikation som beskriver i vilken ordning rotmorfem och affix förekommer - en regelkomponent som innehåller morfologiska och ortografiska regler, till exempel hur man bildar en pluralisform från ett visst rotmorfem 89
Tvånivåmorfologi och transduktorer En transduktor kopplar samman två olika strängar: - en ytnivå. - en lexikal nivå - I tvåmorfologi består nivåerna av följande: - ytnivå som motsvarar grafordet - den lexikala nivån motsvarar grundform + morfologisk analys Exempel: ytnivå : cats lexikal nivå: cat + N + Pl 90
Transduktorer vs Automater - I en automat har vi ett alfabet, men I en transduktor har vi istället följande alfabet: Σ = är en ändlig mängd, alfabetet för indata = är en ändlig mängd, alfabetet för utdata 91
Transduktorer vs Automater - I en automat har vi ett alfabet, men I en transduktor har vi istället följande alfabet: Σ = är en ändlig mängd, alfabetet för indata = är en ändlig mängd, alfabetet för utdata - Varje övergång i en automat har en symbol, i en transduktor har varje övergång två symboler. Exempel: Istället för att skriva: <,x,t> kriver vi : <,x:y,t> där x är en symbol från Σ Och y är en symbol från 92
Transduktor: Lexikal nivå mellannivå f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N +Pl ^s# lexical nivå: fox+n+g mellannivå : 93
Transduktor: Lexikal nivå mellannivå f f x 1 f 2 f 3 x 4 ε 5 6 +g # +N +Pl ^s# lexical nivå: f ox+n+g mellannivå: f 94
Transduktor: Lexikal nivå mellannivå f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N +Pl ^s# lexical nivå: fo x+n+g mellannivå: fo 95
Transduktor: Lexikal nivå mellannivå f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N +Pl ^s# lexical nivå: fox +N+g mellannivå: fox 96
Transduktor: Lexikal nivå mellannivå f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N +Pl ^s# lexical nivå: fox+n +g mellannivå: fox 97
Transduktor: Lexikal nivå mellannivå f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N +Pl ^s# lexical nivå: fox+n+g mellannivå: fox# 98
Transduktor: Lexikal nivå mellannivå Transduktorn ger oss följande resultat: Lexical nivå fox+n+g fox+n+pl mellannivå fox# fox^s# # - talar om när strängen är slut ^ - talar om när nästa morfem börjar 99
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: fox^s# ytnivå : 100
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: f ox^s# ytnivå : f 101
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: fo x^s# ytnivå : fo 102
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: fox ^s# ytnivå : fox 103
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: fox^ s# ytnivå : fox 104
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: fox^s # ytnivå : foxs 105
Transduktor: mellannivå ytnivå f o x 1 f 2 o 3 x 4 ε 5 6 ^ s s 7 # ε # ε mellannivå: fox^s# ytnivå : foxs 106
Transduktor: mellannivå ytnivå Transduktorn ger oss följande resultat: mellannivå fox# fox^s# ytnivå fox foxs # - talar om när strängen är slut ^ - talar om när nästa morfem börjar 107
Transduktor: mellannivå ytnivå Vi fick följande resultat: mellannivå fox# fox^s# ytnivå fox foxs foxs är felstavat. # - talar om när strängen är slut ^ - talar om när nästa morfem börjar 108
Transduktor: mellannivå ytnivå Vi fick följande resultat: mellannivå fox# fox^s# ytnivå fox foxs foxs är felstavat. Orsaken till att foxs är felstavat beror på att det inte alltid räcker att endast sätta ihop morfem till ett ord. 109
Transduktor: mellannivå ytnivå Vi fick följande resultat: mellannivå fox# fox^s# ytnivå fox foxs foxs är felstavat. Orsaken till att foxs är felstavat beror på att det inte alltid räcker att endast sätta ihop morfem till ett ord. För att korrigera fox behöver vi en transduktor som lägger till e efter x. 110
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε ε : e 1 2 3 4 6 a:a b:b r: r t:t w:w y:y # : # # : # 111
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fox^s# ytnivå : 112
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : f ox^s# ytnivå : f 113
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fo x^s# ytnivå : fo 114
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fox ^s# ytnivå : fox 115
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fox^ s# ytnivå : fox 116
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fox^ s# ytnivå : foxe 117
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fox^s # ytnivå : foxes 118
Transduktor: E-insättning (förenklad) a:a b:b r: r t:t w:w y:y s:s x:x z:z ^ : ε 5 s:s # : # ^ : ε 1 2 3 4 ε : e 6 a:a b:b r: r t:t w:w y:y # : # # : # mellannivå : fox^s# ytnivå : foxes# 119
Transduktor: E-insättning (förenklad) Vi fick följande resultat: mellannivå fox^s# ytnivå foxes# För att ta bort # kan man antingen göra det i samma transduktor eller använda en transduktor som tar bort #. 120
Transduktor: E-insättning (förenklad) Vi fick följande resultat: mellannivå fox^s# ytnivå foxes# För att ta bort # kan man antingen göra det i samma transduktor eller använda en transduktor som tar bort #. E-insättning är ett exempel på en ortografisk regel. 121
Ortografiska regler En ortografisk regler används när man behöver korrigera tavningen i ett ord. Exempel på regler: E-insättning Lägger till ett e sist i morfem som slutar p -s, x, z, -ch, -sh och före +s. Exempel: fox +s foxes E-borttagning tyst e som tas bort före -ing och -ed Exempel: make+ing making Konsonantdubblering dubblerar en konstant före -ing/-ed Exempel: beg+ing begging Y-ersättning ersätter y med ie före -s -i, -ed Exempel: try+s tries K-insättning lägger till k på verb som slutar med vokal + c. Exempel: panic panicked 122
Kaskadkoppling Vi har nu följande transduktorer: - Lexikal mellannivå f o 1 f 2 o 3 x 4 ε 5 6 +g # - E-insättning. Exempel: fox^s# foxes# x +N +Pl ^s# Kan vi sätta ihop dem till en transduktor? 123
Kaskadkoppling Vi har nu följande transduktorer: - Lexikal mellannivå f o 1 f 2 o 3 x 4 ε 5 6 +g # - E-insättning. Exempel: fox^s# foxes# x +N +Pl ^s# Kan vi sätta ihop dem till en transduktor? Ja, det kan vi. Tekniken kallas för kaskadkoppling. 124
Kaskadkoppling Lexikal nivå fox+n+pl f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N ^s# Mellannivå: fox^s# E-insättning Ytnivå: foxes 125
Kaskadkoppling Lexikal nivå fox+n+pl f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N ^s# Mellannivå: fox^s# Först körs den här transduktor. E-insättning Ytnivå: foxes 126
Kaskadkoppling Lexical nivå fox+n+pl f o x 1 f 2 o 3 x 4 ε 5 6 +g # +N ^s# Mellannivå: fox^s# Därefter körs den här. E-insättning Ytnivå: foxes 127
Kaskadkoppling -generellt Lexikal nivå En stor transduktor som kan hantera många strängar på lexikal nivå och som kan genera många strängar på mellannivå Mellannivå Många transduktorer för de ortografiska reglerna: Transduktor 1 Transduktor 2... Transduktor n Ytnivå 128
Tvånivåmorfologi ammanfattning - Tvånivåmorfologi är en morfologisk parsning baserat på transduktorer. Man arbetar med: - Ett lexikon som innehåller rotmorfem och affix samt regler för i vilken ordning dessa förkommer. 129
Tvånivåmorfologi ammanfattning - Tvånivåmorfologi är en morfologisk parsning baserat på transduktorer. Man arbetar med: - Ett lexikon som innehåller rotmorfem och affix samt regler för i vilken ordning dessa förkommer. - En regelkomponent som innehåller morfologiska och ortografiska regler (hur bildar man en pluralform från ett visst rotmorfem) 130
Tvånivåmorfologi ammanfattning - Tvånivåmorfologi är en morfologisk parsning baserat på transduktorer. Man arbetar med: - Ett lexikon som innehåller rotmorfem och affix samt regler för i vilken ordning dessa förkommer. - En regelkomponent som innehåller morfologiska och ortografiska regler (hur bildar man en pluralform från ett visst rotmorfem) - Via transduktorer kan med göra följande: - generera en ytform utifrån de ingående morfemen - acceptera en ytform och returnera den morfologiska analysen 131
Nästa gång - Preprocessing - Tokenisering - Meningssegmentering - Laboration 1 132