Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Potisni automati i primeri upotrebe automata u obradi prirodnih jezika

Сличне презентације


Презентација на тему: "Potisni automati i primeri upotrebe automata u obradi prirodnih jezika"— Транскрипт презентације:

1 Potisni automati i primeri upotrebe automata u obradi prirodnih jezika
Cvetana Krstev

2 Potisni automati Potisni automati (engl. push-down automata)
Snažnija klasa automata od konačnih automata Klasa jezika koje generišu kontekstno slobodne gramatike je ekvivalentna klasi jezika koje generišu nedeterministički potisni automati. Potisni automat je konačni automat kome je dodata pomoćna memorija. Pomoćna memorija funkcioniše po principu steka, tj. last-in first-out ili LIFO liste, po čemu je automat i dobio ime.

3 Definicija potisnog automata
Formalni sistem <V0, V1, e, σ, Z0, Σ, S0, R, F>

4 Funkcionisanje potisnog automata (1)
Ulazna traka je konačna kao i kod konačnog automata, pokreće se uvek udesno za jedno mesto, a potisni automat ništa ne menja na ovoj traci. Potisna memorija je potencijalno beskonačna traka. Kada se simbol dodaje, sadržaj skladišta se potiskuje nadole, kada se simbol briše iz njega, sadržaj iskače nagore. Uvek se čita samo simbol s vrha skladišta.

5 Funkcionisanje potisnog automata (2)
Početak rada: Automat je u stanju S0, ulazna traka je na početku (čita se prvi simbol) u potpisnom skladištu je samo simbol Z0. Pravila prelaska: (a, Si, b)→ (Sj, x) sa značenjem: ako je automat u stanju Si, na ulazu je simbol a, a na vrhu steka simbol b, automat prelazi u stanje Sj, ulazna traka se pomera za jedno mesto i menja se sadržaj steka na sledeći način: x = σ, onda se briše simbol sa vrha skladišta (steka); x  σ, onda se x dodaje na vrh skladišta (steka);

6 Funkcionisanje potisnog automata (3)
Pravila prelaska: (a, Si, b)→ (Sj, x) i značaj simbola e – jedinična niska: a = e, onda se pravilo izvršava bez obzira na simbol na ulaznoj traci i ulazna traka se NE pomera; b = e, onda se pravilo izvršava bez obzira na simbol na vrhu skladišta (steka); x = e, onda se ne vrši nikakva promena skladišta (steka).

7 Funkcionisanje potisnog automata (4)
Prihvatanje niske s ulazne trake, treba istovremeno da budu ispunjena sledeća tri uslova: Svi ulazni simboli su pročitani; Automat je u završnom stanju; Potisno skladište je potpuno prazno.

8 Primer konstruisanja potisnog automata
Treba konstruisati potisni automat koji generiše sledeća gramatika: S → aSb; S → ab; Ova gramatika generiše sledeći jezik L = {anbn | n > 0} Ovaj automat premašuje kapacitet konačnih automata, jer oni “ne umeju da broje”. Potisni automat treba da upiše u pomoćno skladiše (stek) neki simbol kad god pročita simbol a, a da briše iz skladišta taj simbol kad god pročita s ulazne trake b. Skladiše treba da bude prazno ako je bilo podjednako simbola a i simbola b u ulaznoj niski.

9 Formalna definicija automata koji prihvata jezik L = {anbn | n > 0}
(a, S0, e)→ (S0, 1) U stanju S0 ako je na ulazu a a na steku bilo šta (Z0 ili 1) ostani u S0 i upiši na stek 1; (b, S0, 1)→ (S1, σ) U stanju S0 ako je na ulazu b a na steku 1 pređi u S1 i obriši (1) sa steka; (b, S1, 1)→ (S1, σ) U stanju S1 ako je na ulazu b a na steku 1 ostani u S1 i obriši (1) sa steka; (e, S1, Z0)→ (S2, σ) U stanju S1 bez obzira na ulaz, ako je na steku Z0 pređi u završno stanje S2 i obriši (Z0) sa steka. Time stek ostaje prazan.

10 Ilustracija rada PA Neka je na ulazu niska aaabbb: ulaz stanje stek
aaabbb S0 Z0 aaabbb S0 1Z0 aaabbb S0 11Z0 aaabbb S0 111Z0 aaabbb S1 11Z0 aaabbb S1 1Z0 aaabbb S1 Z0 aaabbb S2 ε

11 Konstruisati potisni automat (PA) za jezik “slike u ogledalu”
Ovaj jezik generiše se kontekstno slobodnom gramatikom: S → aSa S → bSb S → c Jezik se sastoji od proizvoljne niske {a,b}*, iza koje sledi simbol c a zatim početna niska ispisana u obrnutom redosledu: L = { xcxr | x  {a,b}*}; Npr. aabcbaa; baacaab

12 PA za jezik L = { xcxr | x  {a,b}*}
U stanju S0 ako je na ulazu a ili b na stek se upisuje A odnosno B (stek pamti šta je učitano) bez obzira na tekući sadržaj steka; ako je na ulazu c, sadržaj steka je ostaje nepromenjen, a automat prelazi u stanje S1; U stanju S1 ako je na ulazu a ili b, a na steku A odnosno B, briše se simbol sa steka; U stanju S1 bez obzira na ulaz, ako je na steku Z0 PA prelazi u završno stanje S2 i briše (Z0) sa steka. Time stek ostaje prazan.

13 Ilustracija rada PA Neka je na ulazu niska aabcbaa:
ulaz stanje stek aabcbaa S0 Z0 aabcbaa S0 AZ0 aabcbaa S0 AAZ0 aabcbaa S0 BAAZ0 aabcbaa S1 BAAZ0 aabcbaa S1 AAZ0 aabcbaa S1 AZ0 aabcbaa S1 Z0 aabcbaa S2 ε Neka je na ulazu niska aabcbba: ulaz stanje stek aabcbba S0 Z0 aabcbba S0 AZ0 aabcbba S0 AAZ0 aabcbba S0 BAAZ0 aabcbba S1 BAAZ0 aabcbba S1 AAZ0 aabcbba S1 AZ0 Blokada rada – niska se ne prihvata

14 Još jedan PA koji broji Jezik J  {a,b}*, takav da niske jezika imaju isti broj simbola a i b i završavaju se sa c Npr. aababbc, babbabaac Gramatika koja generiše ovaj jezik bila bi: S → aXAc | bYBc XA → aXXA | Ab | b XAb → bXA YB → bYYB | Ba | a YBa → aYB Kako bi se generisala niska aababbc S →1 aXAc →2 aaXXAc →2 aaXAbc →3 aabXAc →2 aabaXXAc →2 aabaXAbc →3 aababXAc →3 aababbc

15 PA automat za jezik J Automat ima samo jedno stanje S0;
Na početku, kada je na steku Z0 , ako je na ulazu simbol a na stek se upisuje A, a ako je na ulazu b na stek se upisuje B; Dalje, ako je na steku A i na ulazu a dodaje se na stek novo A, ako je na steku B i na ulazu b dodaje se na stek novo B; Ako je na steku A i na ulazu b briše se A sa steka (upareno b s prethodnim a), ako je na steku B i na ulazu a briše se B sa steka (upareno a s prethodnim b); Ako je na ulazu c, i na steku Z0 PA briše se (Z0) sa steka. Time stek ostaje prazan.

16 Ilustracija rada PA Neka je na ulazu niska aababbc: ulaz stanje stek
aababbc S0 Z0 aababbc S0 AZ0 aababbc S0 AAZ0 aababbc S0 ε

17 Nedeterministički potisni automati
Definicija potisnih automata pokriva i nedeterminističke potisne automate. Da bi PA bio deterministički mora da bude zadovoljeno sledeće: U skupu pravila automata ne postoje dva pravila prelaska sa identičnim levim stranama Što znači da za isto stanje automata, isti ulazni simbol i isti simbol na vrhu steka postoji najviše jedna mogućnost za nastavak rada; Ne postoje dva pravila prelaska čije se leve strane razlikuju samo u upotrebi simbola e prema nekom alfabetskom simbolu Jer simbol e obuhvata svaki alfabetski simbol; odnosi se i na ulazni alfabet i na alfabet steka.

18 Odnos deterministički i nedeterminističkih PA
U slučaju konačnih automata pokazali smo da su deterministički i nedeterministički automati ekvivalentni (u odnosu na jezike koje prihvataju); U slučaju potisnih automata to nije slučaj: Postoje jezici koje prihvataju nedeterministički PA a za koje ne postoji deterministički PA koji ih prihvata.

19 Primer jezika za koji postoji NPA, a ne postoji DPA
Takav je jezik “slike u ogledalu” ali bez graničnog simbola koji razdvaja dve slike. Gramatika koja generiše ovaj jezik je: S → aSa | bSb S → aa | bb U toku rada NPA mora posle svakog učitanog simbola da pravi pretpostavku: Da je stigao do sredine niske; Da nije stigao do sredine niske.

20 NDA koji prihvata jezik L = { xxr | x  {a,b}*}
NPA svaki put kada naiđe na aa ili bb na ulazu može da nastavi po dva puta: Jeste sredina niske (a, S0, A) → (S1, σ) Nije sredina niske (a, S0, A) → (S0, A) Ako niska jeste oblika “slika u ogledalu”, postojaće samo jedna sekvencija koraka koja dovodi do njenog prihvatanja.

21 Jednostavniji zapis NDA koji prihvata L = { xxr | x  {a,b}*}
Ovaj automat je nedeterministički zbog upotrebe slova e Pravila (a, S0, e) → (S0, A) i (a, S0, A) → (S1, σ) imaju istu levu stranu do na simbol e na steku; Pravila (b, S0, e) → (S0, B) i (b, S0, B) → (S1, σ) imaju istu levu stranu do na simbol e na steku.

22 Primer upotrebe (konačnih) automata u obradi prirodnih jezika

23 Automati u obradi prirodnih jezika
Koriste se u mnoge svrhe, na mnogo načina, u okviru različitog softvera Ovde ćemo ilustrovati korišćenje pomoću Unitex-a Na primeru romana „Čedomir Ilić“ Milutina Uskokovića

24 Jednostavan graf – lično ime, prezime ili nadimak na početku rečenice
Kako se tumači ovaj graf? Rezultati {S} <N+First+SR:s1> S0 S1 S2 <N+Last+SR:s1> <N+Nick+SR:s1>

25 Prosta rečenica – subjekat predikat
Iza subjekat – koji je na početku rečenice, lično ime – dolazi glagol: prezent, aorist ili imperfekat. Samo dva pogotka

26 Prosta rečenica – glagol može biti i povratni
Dodata je povratna rečca „se“ Povećao se broj pogodaka na 7 Ono što nisu lična imena – Oblak i Mladić – to potencijalno mogu da budu.

27 Prosta rečenica – može postojati negacija
Dodata je rečca „ne“ za negaciju Važan je redosled – rečca „se“ pa negacija „ne“ odgovara reg. izrazu se ne? <V+Ref:Pzs:Azs:Izs> Broj pogodaka je 8

28 Prosta rečenica – subjekat može da bude i lična zamenica
Dodat je novi alternativni čvor za subjekat 14 pogodaka

29 Složeniji primer Rečenice u kojima se neka reč (od bar 4 slova da bi se isključile rečce i sl.) ponavlja u okviru iste rečenice ili fraze 117 pogodaka – tekst je modifikovan, dodata je na kraju reč koja se ponavlja.

30 Zaključak Ako vas sve ovo interesuje i ako vam se dopada
i ako upišete master studije sledeće godine na našem fakultetu možemo ovim da se bavimo detaljno u okviru predmeta Napredne jezičke tehnologija


Скинути ppt "Potisni automati i primeri upotrebe automata u obradi prirodnih jezika"

Сличне презентације


Реклама од Google