0. előadás Dr. Kallós Gábor 2017 2018
A reguláris kifejezések alkalmazása széleskörű Szövegek javítása, minták cseréje Érvényesség-ellenőrzés (beíráskor) Védett űrlapok Elektronikus oktatás, javítás Sztringekkel végzett műveletek programozási nyelvekben Pl.: Perl, Python Első alkalmazás: Unix segédprogramok (grep, Emacs, vi) Barátságos programok érhetők el a reguláris kifejezések tanításához, szemléltetéséhez kialakításához, ellenőrzéséhez 2
Automaták, nyelvek, reguláris kifejezések kapcsolata: a JFLAP projekt 3
Sikeres TDK munka az automaták és a nyelvek kapcsolatáról 4
Sikeres TDK munka az automaták és a nyelvek kapcsolatáról 5
Gépi nyelvészet Chomsky eredetileg tisztán a nyelvészet felől indulva alakította ki a formális nyelvi alapokat A feladat bonyolultságáról Tfh. 40 fonémánk van (hangzó, betűjel) Ekkor 1600 kéttagú, 64 000 háromtagú, 2 560 000 négytagú, 102 400 000 öttagú és több mint 4 milliárd féle hattagú kombináció állítható elő Ezeknek persze a nyelv ténylegesen csak jóval kisebb részét használja (pl. bontsd, rontsd) Hasonlóan, a lehetséges mondatkombinációk száma is óriási Példa: egyszerű mondatok, mindegyikben egy ige és két főnév, és mindből csak 1000 lehetőséget használunk: 1 milliárd alternatív mondat! Természetesen itt sem mind értelmes 6
Gépi nyelvészet (folyt.) Chomsky: A mondatszerkesztés a konkrét nyelvtől függetlenül olyan általános sajátosságokat mutat, amelyek az emberi agy szerkezetében rejlő törvényszerűségek szerepére utalnak A mondat mélyszerkezetében transzformációs szabályokkal bázismondatokra bontható Pl.: Elvárjuk, hogy az olvasó, akit ezek a fejtegetések untatnak, tegye félre a jegyzetet, felbomlik: E fejtegetések untatják az olvasót, Az olvasó félreteszi a jegyzetet, Mi elvárjuk ezt 7
Gondolatok kifejezése a nyelv segítségével, a nyelv formális leírása A szavak felsorolása (szótári alakjukban) nem elég, ezeket összhangba kell hozni a mondatszerkesztés meghatározott szabályaival Ember, kutya, félni Az ember fél a kutyától Minden szó meghatározott formában szerepel, és a kijelentés konkrét összefüggéseket fejez ki az adott szavakkal megjelölt fogalmak, objektumok között Példa (formák a nyelvben) Szósor: olvasunk, rajzolunk, sétálunk, beszélünk, nézünk stb.; az -unk, -ünk végződés jelen idő többes szám első személyt fejez ki Szósor: kedves, dolgos, ügyes, szorgalmas stb.; az -s képzővel főnévből mellékneveket képzünk 8
Gondolatok kifejezése a nyelv segítségével, a nyelv formális leírása (folyt.) Az ige, főnév és melléknév kategorizálás meghatározóan fontos Igék: leggyakrabban cselekvést vagy állapotot jelölnek Főnevek: többnyire tárgyak azonosítására Melléknevek: tulajdonságot, minőséget azonosítanak Az előző csoportosítás azonban nem abszolút meghatározó Példa (szófaji csoportok, kivételek) Szósor: járás, olvasás, alvás, írás; cselekvést vagy állapotot jelölnek, mégsem igék hanem főnevek Szósor: bátorság, tartósság, szépség; tulajdonságot, minőséget azonosítanak, mégis főnevek Szó: világosság; itt a világ a szótő, ehhez az -s melléknévképző csatlakozik (az o kötőhang), végül a -ság főnévképző A nyelvben a formalizáció nemcsak a szavakra terjed ki, hanem a szókapcsolatokra, szószerkezetekre és egész mondatokra is Minden nyelvi forma kapcsolatban áll más formákkal, és azok által meghatározott 9
Gépi fordítás Sajátosságok A gép közömbös az általa fordított szöveg tartalma iránt (nem kell értenie a szöveget) Csak formai összefüggésekkel dolgozik Az elvi lehetőség megvan arra, hogy megadjuk a nyelvek közötti formai megfelelések absztrakt rendszerét A nyelv(ek) teljes kifejezési készletét meg kell adnunk! 10
Gépi fordítás (folyt.) A nyelv formális leírása 2. Prefixumok (magyarban: igekötők), képzők és végződések (nem, szám, eset, idő stb.) leválasztása Így a szótő marad meg, ez az adott szó lexikális jelentésének hordozója Ezzel a technikával a készülő automatikus szótár jóval egyszerűbb lesz, mint a teljes reprezentáció Példa Szósor: építeni, építés, építő, épült, ráépíteni, ráépült, ráépítve, ráépített, felépíteni, felépült, felépítve, felépített, hozzáépíteni, hozzáépült, hozzáépítve, hozzáépített, megépíteni, megépült, megépítve, megépített, beépíteni, beépült, beépítve, beépített Hasonlóan: beszélni, sózni Az összes lehetséges alak így már 100 körül van Ugyanakkor a formalizálás segítségével 3 igetővel (épít-, ill. ép-, beszél-, sóz-), 6 képzővel és raggal (-ni, -(é/á)s, -ó/ő, -(ül)t, -(e/o)tt, -v(e/a)), és 5 igekötővel (rá-, fel-, hozzá-, meg-, be-) ezek az alakok megadhatók 11
Gépi fordítás (példa) Célunk: jól körülhatárolt (pl. műszaki) szöveg fordítása, nem ismerjük az adott (műszaki) területet, de van egy nagyon jó szótárunk, és ismerjük az idegen nyelv formai, nyelvtani szerkezetét A fordítás menete Az egyes szavakat a szótár alapján az anyanyelv megfelelő szavaival helyettesítjük Az idegen nyelv grammatikai elemei helyére a saját nyelvbeli megfelelőket tesszük Ha minden szónak pontosan egy jelentése van (spec. szövegnél ez jó eséllyel teljesül), akkor végeredményben a fordításunk értés nélkül is teljesen pontos lehet 12
Gépi fordítás (példa folyt.) Fordítandó szöveg: Ho grammaton apeiros u blepei blepon (görög közmondás); latinra kell fordítanunk, de nem tudunk latinul (sem) Szótövek és végződések szótára A fordítás menete Ho -, gramm- litter- -aton -arum (eddig: Litterarum) apeir- imperit- -os -us (most: imperitus) u non (most: non) blepei videt, blepon videns Végeredmény: Litterarum imperitus non videt videns, azaz A tudományokban tudatlan látva sem lát 13
Szótövező rendszer (lemmatizáló) 14
Időzített automaták Uppaal: valós idejű rendszerek tervezésére és verifikációjára Modellezés véges automatákkal (+ (óra)változók, őrfeltételek, csatornák) Minden folyamat egy-egy véges állapotgéppel írható le (állapotok és átmenetek) A rendszer fő részei: System Editor, Simulator és Verifier Első példa: még nincs időzítés 15
Időzített automaták Első példa folyt. Verifikáció 16
Időzített automaták Második példa (rendszer demó) Átkelés a hídon éjszaka, lámpával Viking harcos állapotgép 17
Időzített automaták Második példa (folyt.) Lámpa állapotgép (A lámpát felveheti 2 vagy 1 harcos) Rendszer deklarációk (Eredeti módosítva) 18
Időzített automaták Második példa (folyt.) Leggyorsabb átkelési mód? Beállítható (Options/Diagnostic Trace/Fastest) 19
Időzített automaták Második példa (folyt.) Leggyorsabb átkelési mód? Lejátszható, kezdet 20
Időzített automaták Második példa (folyt.) Leggyorsabb átkelési mód? Lejátszható, vég 21