0. előadás Dr. Kallós Gábor 2015 2016 1
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 mindegyikből csak 1000 lehetőséget használunk: 1 milliárd alternatív mondat! Természetesen itt sem mind értelmes Megoldás (legalább részben): szótárprogramok 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 6
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 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 7
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! A nyelv formális leírása 2. Példa 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ó 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 8
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 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 9
Szótövező rendszer (lemmatizáló) 10