INF2820 Datalingvistikk V2012 Jan Tore Lønning & Stephan Oepen
ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK 17. januar 2012 2
Naturlige språk En mann kjøpte en bil av en mann som hadde eid bilen i tjue år. Hvor mange ord? 15 ordforekomster ( tokens ) 12 ordformer ( types ) 11 leksem (bil/bilen) * En en en mann mann bil bilen kjøpte år eid hadde av i som tjue. Noen ikke alle sekvenser av ord er Velformet/grammatiske syntaks Meningsfulle semantikk Til ettertanke: Er alle grammatiske sekvenser meningsfulle? Må en sekvens være velformet for å være meningsfull? 17. januar 2012 3
Formelle språk Et formelt språk består av: En endelig mengde A Ø En delmengde L A* 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} Merk A* er alle mulige strenger over A ε er den tomme strengen (skrives også λ og Λ). Ø er det tomme språket Ø {ε} 17. januar 2012 4
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 3 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 2 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 4 A = {a, b, c,, æ, ø, å, \blank, \.} L = mengden av de strengene vi ser på som norske setninger. 17. januar 2012 5
Mengdeoperasjoner på språk Siden språk er mengder kan vi gjøre mengdeoperasjoner Hvis <A, L> og <A, M> er to språk, så er L M L M A*-L språk (Merk at ε L eller ε A*-L, men ikke begge) Eksempel 5 A = {a, b, c,, æ, ø, å} L = mengden av norske ord. M = mengden av engelske ord. L M er ord som fins i begge språkene, = {i, ad, al, be, by,, cup, union, } A*-L er alle bokstavsekvenser som ikke er norske ord= {bb, bbb, bbbb, } L M er alle bokstavsekvenser som er et ord i minst ett av språkene 17. januar 2012 6
Flere operasjoner Konkatenering Hvis s og t er to strenger skriver vi s t (eller bare st) for konkateneringen av dem Eks s= abc, t=ca, s t=abcca Hvis <A, L> og <A, M> er to språk, så er LM = {s t s L & t M } Kleene-stjerne Hvis <A, L> er et språk, så er L* alle mulige konkateneringer av et endelig antall strenger fra L. Formelt: L* er minste mengde s.a.: ε L* Hvis s L* og t L så er s t L* 17. januar 2012 7
Regulære språk 1. Språkene Ø { ε } { a } for alle a A er regulære 2. Hvis M og L er regulære, er L M LM L* regulære Regulære uttrykk Beskriver språket Ø L(Ø) = Ø ε L(ε) = { ε } a, for alle a A L(a) = { a } Hvis R og S er regulære uttrykk: (R + S) L(R+S)=L(R) L(S) (R T) L(R T) = L(R)L(T) (R*) L(R*)=L(R)* Merk: R S og R S brukes også for R+S λ og Λ brukes også for ε Vi kan sløyfe ( og ) hvis det er entydig Også vanlig med operatorpresedens 17. januar 2012 8
Observasjoner Alle endelige språk er regulære Eks L({abc, bb, ca}) = L(abc) L(bb) L(ca), og L(abc) = L(a)L(b)L(c), osv. Hvis L og M er regulære, så er L M A*-L regulære. Ikke trivielt å vise: Neste gang 17. januar 2012 9
ENDELIGE AUTOMATA 17. januar 2012 10
FSAs as Graphs Takk til Jurafsky og Martin for de engelske foilene + illustrasjoner fra læreboka Let s start with the sheep language from Chapter 2 /baa+!/ a+ samme som aa* 1/17/2012 Speech and Language Processing - Jurafsky and Martin 11
Sheep FSA We can say the following things about this machine It has 5 states b, a, and! are in its alphabet q 0 is the start state q 4 is an accept state It has 5 transitions 1/17/2012 Speech and Language Processing - Jurafsky and Martin 12
Figure 2.15
Navn Brukes om hverandre: Finite state automata - FSA Finite automata FA Finite state machine - FSM Kan beskrives med Diagram Tabell, eller Formelt (neste side) 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/17/2012 Speech and Language Processing - Jurafsky and Martin 14
DFA deterministisk endelig maskin Q = {q0, q1, q2,, qn-1}
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. a b!
Recognition Traditionally, (Turing s notion) this process is depicted with a tape. 1/17/2012 Speech and Language Processing - Jurafsky and Martin 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/17/2012 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/17/2012 Speech and Language Processing - Jurafsky and Martin 19
Non-Determinism 1/17/2012 Speech and Language Processing - Jurafsky and Martin 20