Több szem(pont) többet lát
Mi közük a fordítóprogramoknak a tanulmányi átlaghoz? Melyik területeken érhető el javulás a statisztikai gépi fordítók teljesítményében, ha morfológiai elemzővel kombináljuk őket? Mik azok a faktorok, és mitől keveredhetnek össze a ragok a fordításban?
Cikksorozatunk korábbi részeiből már tudjuk, mi az a statisztikai gépi fordító, mi az a frázisalapú modell és mit nevezünk morfológiai elemzőnek. Most azt mutatjuk be, hogy hogyan segíti a szavak morfémákra bontása a statisztikai alapú gépi fordítást.
Faktoros modellek
Az alábbiakban a címkéket szögletes zárójelben adjuk meg, rövidítésként. fn – főnév, ne – névelő, mn – melléknév, mnin – melléknévi igenév, szn – számnév, E/1 – egyes szám első személy, ban – -ban/ben (inesszívuszi eset), te – tárgyeset, hn – hímnem, nn – nőnem, sn – semleges nem. A működő elemzők az alábbiaknál részletesebb címkerendszerrel dolgoznak.
Miért jó, ha ismerjük a szövegben szereplő szavak szófaját és szótövét? Mint láttuk, a legegyszerűbb frázisalapú modellek csupán szósorokat párosítanak össze a fordítás során. Megpróbálják a forrásnyelvi mondatot többféleképpen darabokra vágni, és megtalálni ezekhez a legmegfelelőbb célnyelvi fordításokat. Több fordítási jelöltet is készítenek, és ellenőrzik, hogy a jelöltek közül melyik a legvalószínűbb – azaz mely szósor lehet a legjobb mondat a célnyelven. Ehhez csupán azt vizsgálják, hogy az adott szóalakok egymás után való előfordulásának mekkora a valószínűsége. Például egy frázisalapú modell csak azt tudja megállapítani, hogy az alábbi mondatban a kövér, az imádkozó és a sáskát milyen valószínűséggel fordul elő egymás után más szövegekben.
Láttam a kertben egy kövér imádkozó sáskát.
Láttam[ige] a[ne] kertben[fn] egy[szn] kövér[mn] imádkozó[mn] sáskát[fn].
Lát[ige]-tam[múlt-E/1] a[ne] kert[fn]-ben[ban] egy[szn] kövér[mn] imádkoz[ige]-ó[mnin] sáská[fn]-t[te].
Ha más, például szófaji vagy ragozási információ is a program rendelkezésére áll, akkor több tényezőt vagy szempontot (szakszóval faktort) is vizsgálhat – ezért a morfológiai elemzést is végző fordítóprogramokat faktoros modelleknek is szokták nevezni. Egy ilyen program megnézi, hogy a forrásnyelvi mondat és a célnyelvi fordításként létrehozott mondatok megfelelnek-e egymásnak például a szóalakok, a tövek és a szófajok szintjén. Emellett a fordítás ellenőrzésekor olyan jellegű információval is számol, hogy például mennyire valószínű az, hogy egy főnevet egy ige–névelő sorozat előz meg.
Így többféle, másképpen súlyozott szempontot tud figyelembe venni ahhoz, hogy a frázistábla alapján készített lehetséges fordítások közül melyiket kell kiválasztani. Ez a folyamat hasonlatos ahhoz, ahogy az iskolában a tanárok az év végi jegyet kiszámítják. Bizonyos évközi jegyeket, például a nagydolgozatok jegyeit nagyobb súllyal veszik figyelembe – mondjuk kétszeres szorzóval. Emellett ha egy évben valakinek 15, többféle teljesítményért kapott jegye van, az év végi osztályzat valószínűleg jobban tükrözi a tudásszintjét, mintha egyetlen, órai feleletre kapott osztályzat alapján értékelik év végén. Ehhez hasonlóan, ha a frázistáblából kikeresett szósorozatok szótövek és morfológiai címkék szintjén is megfelelnek egymásnak, akkor valószínűleg jobb lesz a fordítás, mintha ezeket a szempontokat nem vizsgáljuk.
A „több szem többet lát” elv mellett más előnye is van annak, ha morfológiai információ is rendelkezésre áll egy fordítóprogram számára. A szófaji címkék alapján ugyanis a program létrehozhat egy olyan morfológiai modellt, ami azt mutatja meg, hogy milyen címkéjű szósorozatok felelnek meg a forrásnyelven és a célnyelven egymásnak. Ebben a modellben már nincsenek szavak, csak címkék. Hogyan áll ez elő?
Hasonlítsuk össze a magyar és a szlovák jelzős szerkezeteket! A szlovákban nincs a magyar a/az-nak megfelelő névelő. Emellett a mellékneveknek és a főneveknek neme van (hím, nő vagy semleges), így a melléknevet számban, nemben és esetben egyeztetni kell a főnévvel. Az esetet a magyarban ragokkal, míg a szlovákban a legtöbbször elöljárókkal és toldalékokkal fejezzük ki. Lássunk tárgyesetű főnevet tartalmazó mondatokat a két nyelven (itt nincs elöljáró a szlovákban) – a jelzős szerkezeteket szögletes zárójelbe tettük. A mondatok mellé elkészítettük a címkéket is.
Látom [az új vonatot]. [ige][E/1] [ne] [mn] [fn][te]
Vidím [nový vlak]. [ige][E/1] [mn][hn][te] [fn][hn][te]Látom [az új könyvet]. [ige][E/1] [ne] [mn] [fn][te]
Vidím [novú knihu]. [ige][E/1] [mn][nn][te] [fn][nn][te]Látom [a zöld autót]. ige][E/1] [ne] [mn] [fn][te]
Vidím [zelené auto]. [ige][E/1] [mn][sn][te] [fn][sn][te]
A morfológiai információval is dolgozó fordítóprogram meg tudja tanulni, hogy a fenti magyar, tárgyesetű főnevet tartalmazó [ige – E/1 – ne – mn – fn – te] sorozatoknak a szlovákban [ige – E/1– mn – fn] sorozat felel meg, és a szlovák kifejezésen belül a melléknév és a főnév tárgyesetben áll és nemben megegyezik (az egyeztetett részt félkövérrel szedtük a címkesorokban).
A fenti példákban szereplő jelzős szerkezetek teljesen hétköznapiak és ezért gyakoriak. Így az is elképzelhető, hogy ezekkel még egy csupán szóalakokkal dolgozó frázisalapú modell is úgy-ahogy megbirkózna. Ám a ritka szóegyüttesek kezelésére csak a morfológiai információval dolgozó rendszereknek van esélye.
Például a sejtelmesen gördülő kutyával kifejezés feltehetően ritka, csakúgy, mint ennek mondjuk a szlovák fordítása, a s tajomne otočným psom. Mivel a fordítás ellenőrzéséhez használt modellből ez a szósor hiányzik, ezért egy egyszerű frázisalapú modell nem tudja érdemben ellenőrizni, hogy szlovák szóalakok nemben, számban és esetben megfelelően egyeztetve vannak-e a fordításként előállított szósorozatban. Olyan ez, mint amikor az ember vezetni tanul. Remekül tudja a táblák jelentését, tudja tekerni a kormányt, bele tud nézni a visszapillantó tükörbe és a pedálok használatát is tudja - de amikor mindezt egyszerre kell csinálni, semmi sem akar sikerülni. Egy frázisalapú modellnek olyan nyelvek esetében van esélye a jó működésre, ahol például csak nembeli és számbeli egyeztetés van, de esetragok nincsenek. Ha túl sok tényező van, a program elveszik a részletekben – ha pontosan azt a szósorozatot pontosan a kívánt számban, nemben és esetben nem látta még, nem tudja előállítani.
Egy faktoros modell viszont nem csupán szósorokkal dolgozik. A program a címkék szintjén azt látja, hogy a szlovákban az eszközhatározós esettel járó s elöljárót eszközhatározós esetben álló melléknevek és főnevek követik, amelyek nemben megegyeznek. Tehát ha előállít fordításként egy olyan kifejezést, amelyben nem jó az egyeztetés (pl. a melléknév nőnemű és a főnév hímnemű), akkor ez a fordítási jelölt a címkék szintjén végzett ellenőrzéskor megbukik – akkor is, ha a szótövek jók. Azaz a rendszer jobb eséllyel szűri ki a rossz fordítási jelölteket, mint a csupán szósorozatokat látó frázisalapú modell.
Emellett a faktoros modell képes lehet arra is, hogy a kétnyelvű tanítóanyagban nem látott szóalakokat is előállítson a szótő és a szófaji információk ismeretében. Például az előbbi példában szereplő melléknévi igenevet akkor is elő tudja állítani a megfelelő hímnemű eszközhatározós esetű alakban, ha a kétnyelvű tanítóanyagban pontosan ez az alakja nem fordult elő a szónak a gördülő fordításaként. Ugyanis ha megvan a szótő gördülő – otočný, a program a címkék segítségével be tudja azonosítani más szavakból a megfelelő melléknévi végződést, így képes létrehozni az otočným alakot.
Morfalapú modellek
A fenti módszerhez hasonlóak azok a statisztikai fordítási modellek, amik nem a szóalakokat, hanem a legkisebb jelentéses egységeket, azaz a morfokat tekintik alapegységnek. Itt tehát a frázistábla legkisebb egységei nem a szóalakok, hanem a morfok: nem a kalandról alak szerepel benne, hanem külön a kaland és külön a ról. Ezek a programok a szóalakokat felszabdalják alkotóelemeikre, és ezeket próbálják meg a másik nyelv darabjaival összepárosítani. Ilyen programok születtek már például az erősen ragozó magyarra, törökre és finnre.
Az ilyen modellek még a faktoros modellekhez képest is kreatívabban és jobban tudják kezelni azt a problémát, hogy az adott szerkezetre vagy szóalakra a tanítóanyagban nem volt példa. Ugyanis a toldalékok külön egységként léteznek a frázistáblában. Ugyanakkor esetenként elég furcsa mondatokat produkálnak: például nem megfelelő szóra akasztják rá a ragot. Előfordulhat, hogy a ’Lajosnak hoz sört’ jelentésű forrásnyelvi mondatot *Lajos hoznak sört. alakban állítja elő a morfalapú program. Minden darab megvan – csak a párosítás nem stimmel egészen.
Bár az egyeztetés és a még nem látott szóalakok problémáját hatékonyabban kezelik a morfológiai elemzésre is támaszkodó programok, mint az egyszerű frázisalapú modellek, a szórendi különbségekből adódó problémákat ezek sem tudják maradéktalanul megoldani. Cikksorozatunk következő részében a mondatszerkezetek fordítóprogramokban játszott szerepéről lesz szó.