590 likes | 736 Views
FORMALNE GRAMATIKE. Regularne gramatike ( Regular Grammars ) Božo Bekavac. Konačni automat (KA). Pokušajmo objasniti princip rada konačnog automata na primjeru automata za kavu. Karakteristike automata za kavu su: cijena kave je 2,5 kuna
E N D
FORMALNE GRAMATIKE Regularne gramatike (Regular Grammars) Božo Bekavac
Konačni automat (KA) • Pokušajmo objasniti princip rada konačnog automata na primjeru automata za kavu. • Karakteristike automata za kavu su: • cijena kave je 2,5 kuna • jedine kovanice koje prihvaća su: p=0.5 (pola kune); k=1 (kuna); d=2 (dvije kune) • automat za kavu prihvaća bilo koju kombinaciju u bilo kojem poretku do 2,5 kn i ne vraća višak novca
Konačni automat (KA) • Postave koje prepoznaje automat za kavu: kkp, kpk, dp, ppppp, ... • PREPOZNAVANJE POSTAVA: bilo kojim putem doći od 0 do ZS (stanje s dvostrukom kružnicom).
Konačni automat (KA) • Zadatak: Karakteristike automata za sok su: • cijena soka je 9 kuna • jedine kovanice koje prihvaća su: d=2 (dvije kune); p=5 (pet kuna) • automat za sok prihvaća bilo koju kombinaciju u bilo kojem poretku do 9 kn i ne vraća višak novca
Konačni automat (KA) • Prije nego što ubacimo bilo koju kovanicu u automat, on nalazi se u početnom stanju. • Ubacivanje odgovarajućih kovanica mijenja stanja automata do završnog stanja. Označavamo ga s dvostrukom kružnicom. • Stroj za kavu je konačni automat, KA, (Finite State Automatom, FSA).
Konačni automat (KA) • Zamijenimo termine automata za kavu: • Ulaz u automat nisu kovanice nego riječi: p, k i d. • Skup svih ispravnih kovanica koje prihvaća automat je alfabet (abeceda). • Nizovi kovanica koje prihvaća automat su rečenice (postave). • Cjelokupan skup rečenica koje prihvaća (ili prepoznaje) automat je jezik. • Automat ima pravila prema kojima prihvaća rečenice, a ona su gramatika.
Konačni automat (KA) • Koje je od sljedećih rečenica moguće generirati prethodnim konačnim automatom? • A happy boy eats sad ice cream. • The boy eats ice cream. • A boy ate dogs. • A happy boy ate hot dogs. • One ate candy. • One happy girl eats candy. • One happy happy girl eats candy. • One happy girl eats hot hot dogs.
RJEŠENJE • A happy boy eats sad ice cream? N • The boy eats ice cream. Y • A boy ate dogs. N • A happy boy ate hot dogs. Y • One ate candy. N • One happy girl eats candy. Y • One happy happy girl eats candy. Y • One happy girl eats hot hot dogs. N
Obrada postava • KA mogu generirati ili prepoznavati postave nekog jezika. • Kad automat pročita posljednji simbol, izlaz je: • Prihvaćanje postave: ako se automat nalazi u završnom stanju, • Odbijanje postave: ako automat nije u završnom stanju. • (Postava se također odbija ako bilo koji ulazni simbol kojeg automat čita nije član alfabeta.)
KA - prepoznavanje prirodnoga jezika • Izraditi KA koji će prepoznavati sljedeće postave koristeći vrste riječi (POS): with sinking credit ratings about obsessive love across borders for new territorial concessions in column
ZADATAK • Izraditi KA koji će prepoznavati sljedeće postave koristeći vrste riječi (POS): are with the overwhelming majority packaged into a collector race across the factory floor refer to the people resulted in a near total loss served in the White House
ZADATAK - rješenje • <V><PREP><DET><A>*<N> • glagol prijedlog DET pridjev* imenica
Lokalna gramatika (M. Gross) • Lokalna je gramatika (local grammar) konačni automat koji opisuje ispravne (well-formed) nizove u tekstu i za njih izabire odgovarajuće oznake. • Lokalna:često služi za opis lokalnih fenomena koji obuhvaćaju niz od nekoliko pojavnica. • Leksičko-sintaktička ograničenja
Lokalna gramatika • Imenska sintagma English speaking student može biti opisana konačnim automatom:
Lokalna gramatika • na mjestu English može biti bilo koji jezik, • na mjestu student može biti bilo koja imenica koja se odnosi na ljudsko biće, individualno (npr. child, grocer) ili grupno (npr. Parliament), • riječ speaking je obavezna, isključujući slične riječi kao talking, discussing…
Regularni izrazi, RI (Regular Expressions) • Regularni izrazi (RI) opisuju regularne jezike. • Dvije postave nekog jezika L: L={0000, 0100} • Zanemarimo zagrade: 0000, 0100 • zarez zamijenimo sa | (znači ili): 0000 | 0100 • dodamo zagrade tamo gdje se postave razlikuju, pa gornji izraz može biti zapisan kao: 0(0|1)00 → RI
Regularni izrazi, RI • Na isti način postave jezika: L={aaa, abaa, abbaa, abbbaa ...} • mogu biti zapisane kao: a(ε|b|bb|bbb|... )aa • uočiti da za opis nekog beskonačnog jezika još uvijek trebamo beskonačnu duljinu regularnog izraza
Kleenova zvjezdica • omogućuje konačnim izrazom definirati beskonačan broj postava: b* stoji za {ε, b, bb, bbb, bbbb, ...} • pa je moguće definirati jezik: L={ab*aa} • A postave jezika su: L={aaa, abaa, abbaa, abbbaa ...}
Regularni izrazi - primjeri • 0* {ε, 0, 00, 000, 0000,…} • a*b* {ε, a ,b, aa, ab, bb, aaa, aab, abb,…} • (ab)* {ε, ab, abab,ababab,…} • (a|b)c {ac, bc} • A*N {N, AN, AAN, AAAN…}
Definicija formalne gramatike • Gramatika je ograničeni skup pravila koja opisuju jezik. Formalno definirana gramatika je četvorka koja obuhvaća: • neterminalne simbole, varijable terminalnih simbola, oznaka N, • terminalne simbole, koji su različiti od N, oznaka T, • pravilaproizvodnje, oznaka P, • početni simbol iz skupa N, oznaka S. • Ta se četvorka zapisuje skraćeno: G (N, T, P, S). • G:(Apstraktna napravu koja je sposobna razlikovati ispravne od neispravnih izraza nekog jezika.)
Regularna gramatika • Regularna gramatika G zadana je s N={S,A}, T ={a,b,c}, a P se sastoji od sljedećih pravila proizvodnje: 1. S→aS 2. S→bA 3. A→ε 4. A→cA S je početni simbol.
Derivacija • S→(1)aS→(2)abA→(4)abcA→(3)abc • S→(1)aS→(1)aaS→(2)aabA→(4)aabcA→(3)aabc • S→(1)aS→(1)aaS→(1)aaaS→(2)aaabA→(3)aaab • Gramatika G opisuje isti jezik kao i regularni izraz abc*. • Izvedite još jednu postavu koja pripada gramatici G!
Jezik L(G) • Jezik L(G) definiran je kao sve postave nad terminalnim simbolima (T) koje mogu biti generirane početnim simbolom (S) nakon što se primjene pravila proizvodnje P dok se ne iscrpe svi neterminalni simboli N. • Redoslijed primjene pravila proizvodnje nije važan. • Rečenice koje se ne mogu derivirati iz gramatike su negramatične za tu gramatiku.
Pravila proizvodnje regularnih gramatika • Pravila proizvodnje ovih gramatika imaju jedan od dva sljedeća oblika: A→a A→aB • Ili jednostavnije: Neterminal → Terminal Neterminal → Terminal i Neterminal • S lijeve strane nalazi se jedan neterminal, a s desne strane ili samo terminal, ili i terminal i neterminal.
Hijerarhija Chomskog Postave neterminala i terminala: α,β,γ,δ Neterminali: A,B,C Terminali: a,b,c
FORMALNE GRAMATIKE Beskontekstne gramatike (context-free grammars)
Beskontekstne gramatike • gramatike tipa 2 • Pravila proizvodnje ovih gramatika imaju oblik A → α • Neterminal → Neterminal i/ili Terminal
Sastavnice - engleski • Sastavnica je dio rečenice koji funkcionira kao samostalna cjelina. Primjer, NP (Noun Phrase): • A boy hits a ball. • A boy hits a big ball. • A boy hits NP. • A ball hits a boy. • A big ball hits a boy. • NP hits a boy.
ZADATAK • S→NP VP • NP→D N • VP→V NP • D→a|one|the|every • N→boy|girl|farmer|donkey • V→loves|beats|kisses|eats|sees • Deriviracija rečenice: every boy kisses the girl
ZADATAK - derivacija • S→NP VP (1) • →D N VP (2) • →every N VP (4) • →every boy VP (5) • →every boy V NP (3) • →every boy kisses NP (6) • →every boy kisses D N (2) • →every boy kisses a N (4) • →every boy kisses a girl (5)
ZADATAK - stablo • Primjenom pravila proizvodnje izvedite još jednu rečenice koje pripadaju ovoj gramatici.
Premetanje sastavnica - engleski • On September seventeenth, I'd like to fly from Atlanta to Denver • I'd like to fly on September seventeenth from Atlanta to Denver • I'd like to fly from Atlanta to Denver on September seventeenth • *On September, I'd like to fly seventeenth from Atlanta to Denver • *On I'd like to fly September seventeenth from Atlanta to Denver • *I'd like to fly onSeptember from Atlanta to Denver seventeenth
Hrvatski jezik - slobodan red riječi • Divove obuze strah. • Strah obuze divove. • Obuze divove strah. • Divove strah obuze. • Strah divove obuze. • Obuze strah divove. • broj mogućih rečenica = n!=3!=3*2*1=6 (permutacije bez ponavljanja) • 6 rečenica od 3 različite riječi • 15!=1.307.674.368.000
Hrvatski jezik - slobodan red riječi? • Azijska tržišta bilježe mješovite rezultate. • broj rečenica = n! • 5!=5*4*3*2*1=120 rečenica od 5 različitih riječi ??? • Koliko iznosi n?
Hrvatski jezik - slobodan red sastavnica • Azijska tržišta bilježe mješovite rezultate. • S P O • Mješovite rezultate bilježe azijska tržišta. • O P S • Bilježe azijska tržišta mješovite rezultate. • P S O • Bilježe mješovite rezultate azijska tržišta. • P O S
Hrvatski jezik - slobodan red sastavnica • Također potencijalno moguće: O S P S O P • Ali nije moguće: • Mješovite tržišta bilježe azijska rezultate. • IPAK POSTOJE OGRANIČENJA NA CJELOVITOST SASTAVNICA!!! • broj rečenica = n!, ALI n = 3, a NE n = 5! 3!=3*2*1=6 rečenica od 3 sastavnice
Odnosi između sastavnica • Ideja zasnivanja gramatike na konstituentskoj strukturi (strukturi sastavnica) potječe još od Wilhelma Wundta (1900), ali nije formalizirana do Chomskoga (1956) • Opisuju se sastavnice, odnosi među sastavnicama kao i pripadnost sastavnice nadređenoj cjelini
The fact that the men know John suprises Mary. • The fact that themen know John surprises Mary. • Slaganje na 2 mjesta: men know i fact suprises (Subject-Verb agreement). • KA “ne može” opisati ovisnosti na daljinu (long distance dependency).
The fact that the men know John suprises Mary. S→NP V NP NP→N NP→D N NP→NP that S
The fact that the men know John suprises Mary. • S→NPsg Vsg NPsg/pl S→NPpl Vpl NPsg/pl • NPsg→Nsg NPpl→Npl • NPsg→Dsg Nsg NPpl→Dpl Npl • NPsg→NPsg that S NPpl→NPpl that S • Pravilo 1) dopušta dvije vrste rečenica: • sa subjektom u jednini koji se slaže s predikatom (glagolom) u jednini, • sa subjektom u množini koji se slaže s predikatom (glagolom) u množini.
The fact that the men know John suprises Mary. • S→NPsg Vsg NPsg/pl S→NPpl Vpl NPsg/pl • NPsg→Nsg NPpl→Npl • NPsg→Dsg Nsg NPpl→Dpl Npl • NPsg→NPsg that S NPpl→NPpl that S • S (početna oznaka) se širi u kategorije u jednini, a ubačena rečenica S može širiti u kategorije u množini. • Nema interakcije između ovih dviju zavisnosti.
Parsanje • Parsanje (parsing) je postupak prepoznavanja rečeničnih dijelova i opisivanje relacija između njih. • Parsanjem se definira sintaktička struktura rečenice. • Neophodan postupak kod provjere sintaktičke strukture, prethodi semantičkoj analizi, strojnog prevođenja itd. • Jurafski Daniel, James H. Martin → poglavlje 12.
Strukturalna višeznačnost • Strukturalna višeznačnost (structural ambiguity) nije isto što i višeznačnost vrsta riječi (POS ambiguity)! • višeznačnost vrsta riječi: kos A/N; tvrdi A/V (hrv.) book N/V; can N/V (eng.) • Svim prirodnim jezicima inherentna je i strukturalna višeznačnost:
The man kept the dog in the house • 1. stablo: pas je u kući čovjeka