Grundläggnde textnlys, VT2012 evelin.ndersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelin/uv/uv12/gt/ (Tck till Sofi Gustfson-Cpkovâ för mteril.)
Idg - Kurspln - Kort historik - Ändlig utomter - Reguljär uttryck - Reguljär uttryck verktyg - Typ3-grmmtik - Exempel
Kurspln Förkunskpskrv - Introduktion till språkteknologi 7,5 hp - Introduktion till dtteknik för språkvetre 7,5 hp - Grmmtik för språkteknologer 7,5 hp 3
Kurspln Mål Efter vslutd kurs skll studenten för tt förtjän etyget Godkänd minst kunn: - redogör för egreppen tokenisering, meningssegmentering och morfologisk nlys (inklusive ordklsstggning); smt förklr ders etydelse och svårighetsgrd i språkteknologisk tillämpningr; - redogör för grundläggnde metoder för tokenisering, meningssegmentering och morfologisk nlys (inklusive ordklsstggning); - nvänd och utvärder system för tokenisering, meningssegmentering och morfologisk nlys (inklusive ordklsstggning); 4
Kurspln Mål Efter vslutd kurs skll studenten för tt förtjän etyget Godkänd minst kunn: - översiktligt redogör för de delområden som ingår i språkgrnskning, såsom stvnings-, grmmtik- och stilkontroll; - redogör för grundläggnde metoder för stvningskontroll; - utför experiment med tillgänglig progrmvr för stvningskontroll och utvärder resultten. 5
Kurspln Exmintion Lortioner: Lortion 1: Tokenisering och meningssegmentering Lortion 2: Ordklsstggning Lortion 3: Stvningskontroll Fördjupningsuppgift: Muntligt presenttion Skriftligt refert 6
Kurspln Betygskriterier Betyget G: Minst G på smtlig exmintionsmoment. Betyget VG: Utöver krven för G krävs följnde krv: - VG på fördjupningsuppgiften - VG på två lortioner 7
Kurspln Littertur [AA] Antti Arppe. 1999 Developing Grmmr Checker for Swedish Proceedings of Nodlid99 [GT] Gregory Grefenstette och Psi Tpninen. 1994 Wht is word, Wht is sentence? Prolems of Tokeniztion In Proceedings of COMPLEX'94, Budpest. [J&H] Dniel Jurfsky & Jmes H. Mrtin. 2008. An Introduction to Nturl Lnguge Processing Computtionl Linguistics, nd Speech Recognition. [OK01] Knutsson, Ol. 2001 Automtisk språkgrnskning v svensk text Licentitvhndling. KTH. Institutionen för numerisk nlys och dtlogi. Ytterligre littertur kn tillkomm! 8
Plnering Dtum Moment Exmintion 2/5 Introduktion 3/5 Automter 8/5 Preprocessing Lortion 1 14/5 Ordklsstggning Lortion 2 20/5 Dedline: lortion 1 och 2 21/5 Stvningskontroll 22/5 Stvningskontroll 23/5 Stvningskontroll Lortion 3 31/5 Seminrium Fördjupningsuppgift 3/6 Dedline: Lortion 3 och fördjupningsuppgift 9
Kort historik 10
Kort historik - Finit-stte-metoder tillhör de modeller som JM(sid 39) kllt för tillståndsmskiner. 11
Kort historik - Finit-stte-metoder tillhör de modeller som JM(sid 39) kllt för tillståndsmskiner. - De härstmmr från utomtteori som sers på Aln Turings rete om lgoritmisk eräkning (c 1936) 12
Kort historik - Finit-stte-metoder tillhör de modeller som JM(sid 39) kllt för tillståndsmskiner. - De härstmmr från utomtteori som sers på Aln Turings rete om lgoritmisk eräkning (c 1936) - Kleene(1951, 1956) gjorde grundläggnde rete med finit utomter och reguljär uttryck. 13
Kort historik - Finit-stte-metoder tillhör de modeller som JM(sid 39) kllt för tillståndsmskiner. - De härstmmr från utomtteori som sers på Aln Turings rete om lgoritmisk eräkning (c 1936) - Kleene(1951, 1956) gjorde grundläggnde rete med finit utomter och reguljär uttryck. - Chomsky(1956) etrktde följnde: - en finit-stte-mskin är ett sätt tt eskriv en grmmtik - ett reguljärt språk är ett språk som generers v en typ-3-grmmtik 14
Kort historik - Finit-stte-metoder tillhör de modeller som JM(sid 39) kllt för tillståndsmskiner. - De härstmmr från utomtteori som sers på Aln Turings rete om lgoritmisk eräkning (c 1936) - Kleene(1951, 1956) gjorde grundläggnde rete med finit utomter och reguljär uttryck. - Chomsky(1956) etrktde följnde: - en finit-stte-mskin är ett sätt tt eskriv en grmmtik - ett reguljärt språk är ett språk som generers v en typ-3-grmmtik - Modellern ledd till formel språkteori som även ehndlr de formell språkens komplexitet 15
Kort historik - 1980-tlet: finite-stte-mskiner lir populär inom dtorlingvistik på grund v ders egenskper: effektiv och roust hntering fungerr i linjär tid lämplig för de egränsningr mn hde på den tidens dtor (minnesutrymme och processors prestnd) 16
Kort historik - 1980-tlet: finite-stte-mskiner lir populär inom dtorlingvistik på grund v ders egenskper: effektiv och roust hntering fungerr i linjär tid lämplig för de egränsningr mn hde på den tidens dtor (minnesutrymme och processors prestnd) - Kpln och Ky (1981) och Koskenniemi(1983) Morfologisk och fonologisk nlys 17
Kort historik - 1980-tlet: finite-stte-mskiner lir populär inom dtorlingvistik på grund v ders egenskper: effektiv och roust hntering fungerr i linjär tid lämplig för de egränsningr mn hde på den tidens dtor (minnesutrymme och processors prestnd) - Kpln och Ky (1981) och Koskenniemi(1983) Morfologisk och fonologisk nlys - Church(1980) och Aney(1995) Syntx 18
Kort historik - 1980-tlet: finite-stte-mskiner lir populär inom dtorlingvistik på grund v ders egenskper: effektiv och roust hntering fungerr i linjär tid lämplig för de egränsningr mn hde på den tidens dtor (minnesutrymme och processors prestnd) - Kpln och Ky (1981) och Koskenniemi(1983) Morfologisk och fonologisk nlys - Church(1980) och Aney(1995) Syntx - Tillståndsmskiner kn kominers med snnolikheter och utgör grund I en HMM(hidden mrkov modell) 19
Finit-stte-mskiner idg - Användningsområden: - Textnlys, Tokenisering ryt upp en text dess ord och tecken segmentering ryt upp en text i dess meningr - fonologi och morfologi (oft med tvånivå-formlism) - prsning - Stvningskontroll, mskinöversättning 20
Finit utomter, reguljär uttryck och typ3-grmmtiker - finit utomter, reguljär uttryck och typ 3-grmmtiker är olik sätt tt eskriv en process. - Vi sk titt på hur dess delr ser ut och kopplingen melln dem. 21
Ändlig utomter 22
Exempel Vd är en utomt? S 1 S 2 S 3 S 4 S 2 S 1 S4 initiltillstånd tillstånd S 3 finltillstånd 23
Exempel Vd är en utomt? S 1 S 2 S 3 S 4 symoler trnsition / övergång loop 24
Exempel Vd är en utomt? S 1 2 3 S 4 S S 3 Provkör utomten på inputsträngen: 25
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 26
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 27
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 28
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 29
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 30
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 31
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 32
Exempel Vd är en utomt? indt: S 1 2 3 S 4 S S 3 33
Exempel Vd är en utomt? indt: S 1 2 3 S 4 Nu är indtn slut och vi lyckdes hmn i utomtens finltillstånd. Dett inneär tt strängen ccepters v utomten. S S 3 34
Exempel Vd är en utomt? S 1 2 3 S 4 Provkör utomten på indtn S S 3 35
Exempel Vd är en utomt? Indt: S 1 2 3 S 4 S S 3 36
Exempel Vd är en utomt? Indt: S 1 2 3 S 4 S S 3 37
Exempel Vd är en utomt? Indt: S 1 2 3 S 4 S S 3 38
Exempel Vd är en utomt? Indt: S 1 2 3 S 4 S S 3 39
Exempel Vd är en utomt? Indt: S 1 2 3 S 4 Nu är indtn slut och vi lyckdes inte hmn i utomtens finltillstånd. Dett inneär tt strängen inte ccepters v utomten. S S 3 40
Exempel Vd är en utomt? S 1 S 2 S 3 S 4 Accepternde strängr:,,,... Icke-ccepternde strängr:,,,,... 41
Deterministisk ändlig utomt Fkt S 1 initiltillstånd - finns endst en - utomtens strttillstånd S i S j tillstånd - det tillstånd utomten hmnt i under körning S f finltillstånd - utomtens måltillstånd - kn finns fler 42
Deterministisk ändlig utomt Fkt c d symoler - Det lfet vi retr med i utomten trnsition/övergång - förflyttning från ett tillstånd till ett nnt tillstånd smtidigt som en symol läses från indt loop - en symol läses från indt och vi är kvr i smm tillstånd 43
Automt lite mer formell eskrivning Q={S 1, S 2,..., S f } tillstånden ={,,c, d } lfet S 1 Q initiltillstånd F={S f }där F Q finltillstånd, kn finns fler δ= { S 1,, S 2, S 2,, S 2, S 2,, S f, S 1,, S 4, S 4,, S 4, S 4,, S 4 } δ klls för trnsitionsfunktion och eskriver övergångrn i utomten. S 1,, S 2 Exempel: Automten efinner sig i tillståndet till tillståndet. S 2 S 1, läser och går 44
Finit utomt Formell definition En deterministisk finit utomt är en 5-tupel <Q, Σ, δ, S, F> där Q = är en ändligt mängd, tillstånden Σ = är en ändlig mängd, lfetet S Q initiltillstånd F Q finltillstånd, kn vr fler δ = är en funktion från Q x Σ Q, trnsitionsfunktionen 45
Deterministisk ändlig utomt Fkt Accepterd indt När mn kört den givn indtn på utomten från initiltillståndet och lyckts komm frm till finltillståndet, då hr utomten ccepterd den givn indtn. Inte ccepterd indt När mn kört den givn indtn på utomten från initiltillståndet tills indtn är slut och mn inte hr nått frm till finltillståndet, då hr utomten inte ccepterd den givn indtn. 46
Ändlig utomter Fkt Deterministisk utomt En utomt där en symol leder till mximlt ett estämt tillstånd. Exempel: S 1 S 2 S 3 Icke deterministisk utomt En utomt där en symol kn led till mer än ett tillstånd. Exempel: S 1 S 2 S 3 47
Automter Tillämpning Exempel: Test tt dtum i texter är skriv på rätt sätt. Rätt dtum: 110915, 111015 Fel dtum: 111401, 110145 Kn vr intressnt i sökning, elektronisk formulär, etc 48
Deterministisk ändlig utomter Exempel: Skp en utomt som ccepterr ll strängr som estår v ett och ett vlfritt ntl :n före och efter. Lösning: S S 1 2 49
Deterministisk ändlig utomter Exempel: Skp en utomt som ccepterr ll strängr som estår v minst två ett vlfritt ntl :n. Lösning: S S 1 S 2 3 50
Deterministisk ändlig utomter Exempel: Skp en utomt som ccepterr ll strängr som innehåller ett vlfritt ntl :n men inte två i rd. 51
Deterministisk ändlig utomter Exempel: Skp en utomt som ccepterr ll strängr som innehåller ett vlfritt ntl :n men inte två i rd. S 1 S 2 S3 S 4 S5 52
Frivillig övningr: Skp utomter som ccepterr följnde indt: 1. All strängr som innehåller tre i rd och oändligt mång. 2. All strängr som inte innehåller tre i rd och oändligt mång. 3. All strängr som innehåller ett udd ntl och ett jämt ntl. 53
Frivillig övningr: Går det tt skp utomter för följnde: 1. All strängr som innehåller lik mång som 2. All strängr som som estår v och och är plindrom, till exempel:,, 54
Reguljär uttryck 55
Vd är reguljär uttryck? - Mycket viktig i språkteknologi och dtvetenskp - När esläktde med utomter - En sekvens med tecken mtchr eller mtchr inte ett reguljärt uttryck. Reguljär uttryck En sträng som tolks på ett speciellt sett Teckenklsser Reguljärt uttryck för enteckensträngr 56
Enkl reguljär uttryck (teckenklsser): [] mtchr tecknet Motsvrr denn utomt: S 1 S 2 57
Enkl reguljär uttryck (teckenklsser): [c] mtchr tecken och c Motsvrr denn utomt: S 1 2 c S 58
Enkl reguljär uttryck (teckenklsser): [-c] mtchr tecken, och c Motsvrr denn utomt: S S 1 2 c 59
Enkl reguljär uttryck (teckenklsser): [-za-z] mtchr tecken till och med z smt A till och med Z Frivillig övningr: - Rit utomten till [-za-z]. - Rit utomten till [-zåäöa-zåäö]. - Vd mtchr [-zåäöa-zåäö]? 60
Negernde reguljär uttryck (teckenklsser): [^] mtchr ll tecken utom S 1 2, c,... S S 3 61
Negernde reguljär uttryck (teckenklsser): [^c] mtchr ll tecken utom och c S 1 2, c, d, e,... S S 3 62
Negernde reguljär uttryck (teckenklsser): [^-c] mtchr ll tecken utom, och c S 1 2,, c d, e,... S S 3 63
Negernde reguljär uttryck (teckenklsser): [^-za-z] mtchr ll tecken utom till och med z smt A till och med Z Frivillig övning: Vd mtchr [^-zåäöa-zåäö]? 64
Opertioner Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S 1 2 3 S S 3 65
Opertioner - [][] Hur kn vi eskriv nednstående utomt med v ett reguljärt uttryck? S 1 2 3 S S 3 Lösning: [][] Metoden klls för konktinering dvs smmnfogning 66
Konktinering([][]): Givet två reguljär uttryck R 1 och R 2. R 1R 2 mtchr ll strängr som är smmnstt v två strängr där den först strängen mtchr R och den ndr strängen mtchr R. 1 Exempel: [1] [2] mtchr, 2, 1 och 12 2 67
Konktinering([][]): Exempel: [1] [2] mtchr, 2, 1 och 12 S 1 1 S S 4 2 S 2 3 2 S 5 68
Opertioner - * Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S 1 69
Opertioner - * Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? Lösning: []* S 1 Opertionen klls för kleeneslutning 70
Kleeneslutning(*): Givet ett reguljärt uttryck R. Det reguljär Uttrycket R* mtchr en smmnstt sträng Bestående v 0 eller fler strängr som mtchr R. Exempel: []* mtchr,,,,... Frivillig övningr: Vd mtchr []*? Rit utomten till []* 71
Opertioner - + Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S S 1 2 72
Opertioner - + Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S S 1 2 Lösning: ()+ Opertionen klls för plusopertor 73
Plusopertorn(+) Givet ett reguljärt uttryck R. R+ mtchr ll strängr som är smmnstt v en eller fler Strängr som mtchr R. (motsvrr RR*) Exempel: ()+ mtchr,,,... Frivillig övningr: Vd mtchr ()+? Rit utomten till ()+ 74
Opertioner - Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S 1 S 2 S 3 75
Opertioner - Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S 1 S 2 S 3 Lösning: ( ) Opertionen klls för union 76
union( ) Givet två reguljär uttryck R 1 och R 2. R 1 R 2 mtchr en sträng som ntingen mcthr R 1 eller R 2. Exempel: ((c) (d)) mtchr c eller d Frivillig övningr: Vd mtchr ((c de))* Rit utomten till ((c de))* 77
Opertioner -? Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S1 S 2 78
Opertioner -? Hur kn vi eskriv nednstående utomt med hjälp v ett reguljärt uttryck? S1 S 2 Lösning: (?) Opertionen klls för optionlitet 79
optionlitet(?) Givet det reguljär uttrycket R. R? Mtchr den tomm strängen eller smm sträng som mtch R. Exempel: (?) mtchr och Frivillig övningr: Vd mtchr (?c?) Rit utomten till (?c?) 80
Reguljär uttryck - Opertioner Opertor nmn [][] konktinering(smmnfog ning) * kleeneslutning + plusopertor union? optionlitet 81
Reguljär uttryck kn nvänds för tt identifer följnde: - Dtum - Prisngivelser - Telefonnummer - Frsmönster - Token - m.m. Hur skulle till exempel mönster för prisngivelser kunn se ut? 82
Hur skulle till exempel mönster för prisngivelser kunn se ut? - 550:75 Reguljärt uttryck: - 2500:- Reguljärt uttryck: - 25 kronor Reguljärt uttryck: 83
Hur skulle till exempel mönster för prisngivelser kunn se ut? - 550:75 Reguljärt uttryck: [1-9][0-9]*[:][0-9][0-9] - 2500:- Reguljärt uttryck: - 25 kronor Reguljärt uttryck: 84
Hur skulle till exempel mönster för prisngivelser kunn se ut? - 550:75 Reguljärt uttryck: [1-9][0-9]*[:][0-9][0-9] - 2500:- Reguljärt uttryck: [1-9][0-9]*(:-) - 25 kronor Reguljärt uttryck: 85
Hur skulle till exempel mönster för prisngivelser kunn se ut? - 550:75 Reguljärt uttryck: [1-9][0-9]*[:][0-9][0-9] - 2500:- Reguljärt uttryck: [1-9][0-9(:-) - 25 kronor Reguljärt uttryck: [1-9][0-9]*(kronor) 86
Reguljär språk - Fkt Definition: Ett reguljärt språk är ett språk med följnde egenskper: -, är ett språk - ϵ, är ett reguljärt språk(ϵ etyder tomm strängen) - Om L 1 och L 2 är reguljär språk så är även följnde språk reguljär: L 1 L 2 ={xy x L 1, y L 2 }, dvs konktineringen v L 1 och L 2 L 1 L 2, unionen v L 1 och L 2 * L 1 Kleene closure v L 1 dvs, L 1 uppreps 0 eller fler gånger 87
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: 88
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt: S1 S 2 S1 S 2 89
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt: S1 S 2 S1 S 2 90
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt: S1 S 2 S 3 91
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr: S1 S 2 S1 S 2 92
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr: S1 S 2 S1 S 2 93
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr: S1 S 2 S 3 94
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr - kleene: kleenestjärn(upprepning) v en given deterministisk finit utomt ger en ny utomt: S1 S 2 S 3 95
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr - kleene: kleenestjärn(upprepning) v en given deterministisk finit utomt ger en ny utomt: S1 S 2 S 3 96
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr - kleene: kleenestjärn(upprepning) v en given deterministisk finit utomt ger en ny utomt: S1 S 2 S 3 97
Reguljär uttryck vs Automter För vrje reguljärt uttryck kn mn skp en deterministisk finit utomt med följnde egenskper: - kontktinering: konktinering v två deterministisk finit utomter ger en ny deterministisk utomt - union: union v två deterministisk finit utomter ger en ny deterministisk utomt med två möjlig vägr - kleene: kleenestjärn(upprepning) v en given deterministisk finit utomt ger en ny utomt. 98
Reguljär uttryck Verktyg 99
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print - sknnr en fil rd för rd och returnerr de rder som som minst en mtchning till det givn reguljär uttrycket. Syntxen för egrep ser ut så här: egrep <flggor> '<reguljärt uttryck>' <fil> 100
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print - sknnr en fil rd för rd och returnerr de rder som som minst en mtchning till det givn reguljär uttrycket. Syntxen för egrep ser ut så här: egrep <flggor> '<reguljärt uttryck>' <fil> Exempel: egrep 'muu*!' eskriver språket {muu!, muuu!, muuuu!,...} 101
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print Exempel: egrep '[Ff]åglr' Mtchr llt som innehåller Fåglr eller fåglr 102
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print Exempel: egrep '[Ff]åglr' Mtchr llt som innehåller Fåglr eller fåglr egrep '[Ff]' Mtchr llt som innehåller F eller f 103
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print Exempel: egrep '[Ff]åglr' Mtchr llt som innehåller Fåglr eller fåglr egrep '[Ff]' Mtchr llt som innehåller F eller f egrep '[A-ZÅÄÖ]' Mtchr vilken versl som helst 104
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print Exempel: egrep '[Ff]åglr' Mtchr llt som innehåller Fåglr eller fåglr egrep '[Ff]' Mtchr llt som innehåller F eller f egrep '[A-ZÅÄÖ]' Mtchr vilken versl som helst egrep '[-zåäö]' Mtchr vilken gemen som helst 105
Reguljär uttryck Verktyg egrep = Extended Glol Regulr Expressions Print Exempel: egrep '[Ff]åglr' Mtchr llt som innehåller Fåglr eller fåglr egrep '[Ff]' Mtchr llt som innehåller F eller f egrep '[A-ZÅÄÖ]' Mtchr vilken versl som helst egrep '[-zåäö]' Mtchr vilken gemen som helst egrep '[0-9]' Mtchr vilket entl som helst 106
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr 107
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr egrep 'fåglr{3}' Mtchr fåglrrr 108
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr egrep 'fåglr{3}' Mtchr fåglrrr egrep '(mu)' Mtchr mu 109
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr egrep 'fåglr{3}' Mtchr fåglrrr egrep '(mu)' Mtchr mu egrep '(mu pip)' Mtchr mu eller pip 110
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr egrep 'fåglr{3}' Mtchr fåglrrr egrep '(mu)' Mtchr mu egrep '^' Mtchr rdörjn, det är med ndr ord viktigt hur mn nvänder krttecken 111
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr egrep 'fåglr{3}' Mtchr fåglrrr egrep '(mu)' Mtchr mu egrep '^' Mtchr rdörjn, det är med ndr ord viktigt hur mn nvänder krttecken egrep '$' Mtchr rdslut 112
Reguljär uttryck Verktyg Fler exempel: egrep 'fåglr{2}' Mtchr fåglrr egrep 'fåglr{3}' Mtchr fåglrrr egrep '(mu)' Mtchr mu egrep '^' Mtchr rdörjn, det är med ndr ord viktigt hur mn nvänder krttecken egrep '$' Mtchr rdslut egrep '^(0 1)$' Mtchr ll rder som örjr med 0 eller 1 och slutr med 113
Reguljär uttryck Verktyg sed strem editor - den läser in en ström (t.ex. en fil) och gör enkl trnsformtioner. Syntxen för sed ser ut så här: sed -e 's/mtch/ersätt/g' infil > utfil s - ersätt mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med g -glol, ersätt ll mtchningr med ersätt 114
Reguljär uttryck Verktyg sed strem editor - den läser in en ström (t.ex. en fil) och gör enkl trnsformtioner. Syntxen för sed ser ut så här: sed -e 's/mtch/ersätt/g' infil > utfil s - ersätt mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med g -glol, ersätt ll mtchningr med ersätt Exempel: sed 's/mu!/muu!/g' Ersätter ll förekomster v mu! med muu! 115
Reguljär uttryck Verktyg sed strem editor - den läser in en ström (t.ex. en fil) och gör enkl trnsformtioner. Syntxen för sed ser ut så här: sed -e 's/mtch/ersätt/g' infil > utfil s - ersätt mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med g -glol, ersätt ll mtchningr med ersätt Exempel: sed 's/mu*/muu/g' ersätter ll förekomster v mu,muu,muu,muuu,muuuu,... 116 med muu
Reguljär uttryck Verktyg sed strem editor - den läser in en ström (t.ex. en fil) och gör enkl trnsformtioner. Syntxen för sed ser ut så här: sed -e 's/mtch/ersätt/g' infil > utfil s - ersätt mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med g -glol, ersätt ll mtchningr med ersätt Exempel: sed 's/muu*/muu/g' ersätter ll förekomster v muu,muu,muuu,muuuu,... 117 med muu
Reguljär uttryck Verktyg tr trnsliterte - yter ut eller t ort tecken Syntxen för tr ser ut så här: tr <mtch> <ersätt> infil > utfil mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med 118
Reguljär uttryck Verktyg tr trnsliterte - yter ut eller t ort tecken Syntxen för tr ser ut så här: tr <mtch> <ersätt> infil > utfil mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med Exempel: tr ' ' '\n' Ersätter ll mellnslg med ett nyrdstecken, dvs orden hmnr på en ny rd. 119
Reguljär uttryck Verktyg tr trnsliterte - yter ut eller t ort tecken Syntxen för tr ser ut så här: tr <mtch> <ersätt> infil > utfil mtch - regulärt uttryckt som eskriver det mn vill ersätt ersätt - reguljärt uttryck som eskriver vd mn vill ersätt med Exempel: tr ' ' '\n' Ersätter ll mellnslg med ett nyrdstecken, dvs orden hmnr på en ny rd. tr -z A-Z Ersätter ll små okstäver med stor okstäver. 120
typ3-grmmtik 121
typ3-grmmtik Ett reguljärt språk eskrivs v en typ3-grmmtik, dvs med hjälp v följnde regler: A x A xb Där A och B är icke-terminler och x är en terminl. Exempel kospråket: S mu U uu U u 122
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? 123
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu ord= {} 124
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu mu U u mu ord= {mu} 125
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu ord= {mu} 126
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu mu U uu muu ord= {mu} 127
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu mu U uu muu muu U u muu ord= {mu, muu} 128
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu ord= {mu, muu} 129
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu mu U uu muu ord= {mu, muu} 130
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu mu U uu muu muu U uu muuu ord= {mu, muu} 131
typ3-grmmtik - Exempel Exempel kospråket: S mu U uu U u Vd händer när vi nvänder reglern? ord Regel Resultt S mu mu mu U uu muu muu U uu muuu muuu U u muuu ord= {mu, muu, muuu} 132
typ3-grmmtik - Översätt till utomt Exempel kospråket: S mu U uu U u Börj med tt rit initltillståndet: S 133
typ3-grmmtik - Översätt till utomt Exempel kospråket: S mu U uu U u Rit en m-övergång från S till U, nu hr vi ritt regeln S mu S m U 134
typ3-grmmtik - Översätt till utomt Exempel kospråket: S mu U uu U u Rit en u-loop från U till U, nu hr vi ritt regeln U uu u S m U 135
typ3-grmmtik - Översätt till utomt Exempel kospråket: S mu U uu U u Rit en u-övergång från U till F, nu hr vi ritt regeln U u u S m U u F 136
Automt Formel eskrivning u S m U u F Q = {S, U, F} tillstånden Σ = {m, u} lfetet S Q initiltillstånd F = {F} finltillstånd δ = {<S,m,U>, <U,u,U>, <U,u,F>} övergångr 137
Exempel - Sprvspråket 138
Exempel Sprvspråket Sprvspråket estår v ett godtyckligt ntl pip smmnundet med - och vsluts med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljär uttrycket för sprvspråket ut? 139
Exempel Sprvspråket Sprvspråket estår v ett godtyckligt ntl pip smmnundet med - och vsluts med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljär uttrycket för sprvspråket ut? Lösning: Ordet örjr med: pip 140
Exempel Sprvspråket Sprvspråket estår v ett godtyckligt ntl pip smmnundet med - och vsluts med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljär uttrycket för sprvspråket ut? Lösning: Ordet örjr med: pip Ordet fortsätter med 0 eller fler -pip : pip(-pip)* 141
Exempel Sprvspråket Sprvspråket estår v ett godtyckligt ntl pip smmnundet med - och vsluts med!. Exempel: pip! pip-pip! pip-pip-pip! Hur ser det reguljär uttrycket för sprvspråket ut? Lösning: Ordet örjr med: pip Ordet fortsätter med 0 eller fler -pip : pip(-pip)* Ordet vsluts med! : pip(-pip)*! Svr: pip(-pip)*! 142
Exempel Sprvspråket Hur ser den deterministisk finit utomten för sprvspråket ut? Lösning: Automten sk tillåt: pip S p I i P p T 143
Exempel Sprvspråket Hur ser den deterministisk finit utomten för sprvspråket ut? Lösning: Automten sk tillåt: pip Automten sk tillåt: pip(-pip)* S p I i P p T - 144
Exempel Sprvspråket Hur ser den deterministisk finit utomten för sprvspråket ut? Lösning: Automten sk tillåt: pip Automten sk tillåt: pip(-pip)* Automten sk ccepter: pip(-pip)*! S p I i P p T -! F 145
Exempel Sprvspråket Hur ser typ3-grmmtiken för sprvspråket ut? Lösning: S pi I ip P pt T -S T! 146
Exempel Sprvspråket Hur ser typ3-grmmtiken för sprvspråket ut? Lösning: S pi I ip P pt T -S T! Om vi vill tillåt piip piip-pip!, osv. Hur sk grmmtiken se ut då? 147
Exempel Sprvspråket Hur ser typ3-grmmtiken för sprvspråket ut? Lösning: S pi I ip I ii P pt T -S T! Lägg till den här regeln 148
Smmnfttning - reguljär språk, typ 3- grmmtiker och finit utomter är tre sätt tt estämm en viss typ v språklig uttryck. - finit utomter är populär inom språkteknologin - nvänds oft för morfologisk och fonologisk nlys - kn även nvänds för för chunking, prsning och nlys på högre nivå 149
Näst gång - Icke deterministisk finit utomter - Sökning i utomter - Pumping lemm - Morfologisk nlys 150