Transcript Document

FORMALNE
GRAMATIKE
Regularne gramatike (Regular
Grammars)
Božo Bekavac
Konačni automat (KA)


1.
2.
3.
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)
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)

1.
2.
3.
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) - rješenje
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)
Konačni automat (KA)

1.
2.
3.
4.
5.
6.
7.
8.
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
1.
2.
3.
4.
5.
6.
7.
8.
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.
N
Y
N
Y
N
Y
Y
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

KA - prepoznavanje postava
engleskoga (<PREP><A>*<N>)
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 (wellformed) 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*
a*b*
(ab)*
(a|b)c
A*N
{ε, 0, 00, 000, 0000,…}
{ε, a ,b, aa, ab, bb, aaa, aab, abb,…}
{ε, ab, abab,ababab,…}
{ac, bc}
{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,
pravila proizvodnje, 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
Stablo parsanja (parse tree)
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
1.
2.
3.
4.
5.
6.

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 on September 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.
SPO
Mješovite rezultate bilježe azijska tržišta.
OPS
Bilježe azijska tržišta mješovite rezultate.
PSO
Bilježe mješovite rezultate azijska tržišta.
POS
Hrvatski jezik - slobodan red
sastavnica





Također potencijalno moguće:
OSP
SOP
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 the men 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.
1.
2.
3.
4.



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.
1.
2.
3.
4.


S→NPsg Vsg NPsg/pl
NPsg→Nsg
NPsg→Dsg Nsg
NPsg→NPsg that S
S→NPpl Vpl NPsg/pl
NPpl→Npl
NPpl→Dpl Npl
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 boy saw the man on the hill
with the telescope
The man kept the dog in the house

1. stablo: pas je u kući čovjeka
The man kept the dog in the house

2. stablo: pas je u psećoj kučici
Strukturalna višeznačnost

CFG gramatika G je višeznačna (ambigous)
ako postoje barem dva različita
derivacijska stabla za istu rečenicu u
jeziku L(G). U protivnom je jednoznačna
(unambigous).
Višeznačnost pridruživanja



Višeznačnost pridruživanja (attachment
ambiguity) → ako određena sastavnica
može biti pridružena stablu parsanja na
više mjesta.
PP-prijedložna fraza → razrješavanje
prijedložnih fraza veliki je problem kod
parsanja (PP attachment ambiguity)
Ali i drugi problemi:
Koordinacijska višeznačnost



Big dogs and cats must be on a leash.
2 ZNAČENJA (interpretacije):
1. Big dogs and cats must be on a leash.
2. Big dogs and big cats must be on a leash.
Isto u hrvatskom:
Veliki psi i mačke moraju biti na uzici.
John and Jane or Tom



John and Jane or Tom …
Ivan i Marko ili Tomislav vole Anu.
Tko voli Anu?
1. Ivan i (Marko ili Tomislav)
2. (Ivan i Marko) ili Tomislav
Hijerarhija Chomskog
FORMALNE GRAMATIKE
Kontekstne gramatike
(Context-sensitive grammars)
i
Gramatike bez ograničenja
(Unrestricted grammars)
Kontekstne gramatike
gramatike tipa 1
 Pravila proizvodnje ovih gramatika imaju oblik:
αAβ → αγβ
Neterminal i/ili Terminal → Neterminal i/ili Terminal
 S lijeve strane nalazi se bilo koji broj neterminala i
terminala, s desne strane nalazi se također bilo
koji broj neterminala i terminala.
 Kontekstnima se nazivaju iz razloga što α i β
definiraju kontekst u kojem se može primijeniti
pravilo A → γ.

Gramatike bez ograničenja






gramatike tipa 0
Pravila proizvodnje ovih gramatika imaju oblik:
α→β
bez ograničenja za postave α i β. Jednostavnije:
Bilo što → Bilo što
Generiraju rekurzivno prebrojive jezike
Upravo ih nedostatak ograničenja čini
neprikladnima za uporabu
Često proizvode više interpretacija za jednu
rečenicu, još sporije u obradi…