Miért baj, ha sovány a miniszterelnök?
Miért nem szereti a Google Fordító a sovány miniszterelnököket, miközben az első miniszterelnökökkel semmi baja? Miért ad másik fordítást, ha egy szó kezdőbetűjét megváltoztatjuk? Tovább vizsgáljuk a statisztikai gépi fordítókat, miközben az is kiderül, mi az a morfológiai elemző.
Azt, hogy miért fordíthatja a Google Fordító az angol mean szót az egyik nyelvre ’átlagos’, a másik nyelvre ’jelent’ jelentésű szóra, már megtudhattuk cikksorozatunk első részéből. Azt is bemutattuk már, hogy a pusztán statisztikai módszereket használó fordítóprogramok nehezen tudják kezelni például a szórendi és egyeztetési problémákat. Kísérletezzünk tovább! Vajon mekkora szósorokat fordít le egyszerre a Google Fordító?
Cikkünkben a Google Fordító fordításait írógép-karakterekkel szedtük. * jelzi a nyelvileg hibás mondatokat. Szögletes zárójelek jelzik a frázishatárokat – azaz azokat az egységeket, amiket egy sorozatként kezel a program.
Ezt könnyen megtudhatjuk. Írjunk be egy tetszőleges mondatot vagy kifejezést a Google Fordítóba és fordíttassuk le egy másik nyelvre. Ha az egérkurzort a fordítás fölé állítjuk, az adott frázis és az ennek megfelelő forrásnyelvi frázis hátterét besárgítja a program. Mi az alábbi kifejezésekkel kísérleteztünk.
1. [Magyarország miniszterelnöke] – [Prime Minister of Hungary]
2. [magyarország] [miniszterelnöke] – [Hungary][’s Prime Minister]
3. [Magyarország] [első] [miniszterelnöke] – [First] [Prime Minister of] [Hungary]
4. [Magyarország] [sovány] [miniszterelnöke] –* [Hungary][’s Prime Minister][lean]
Az angolban a birtokviszonyt általában élő (személy, állat) birtokos esetében a birtokoshoz kapcsolt ’s raggal fejezzük ki: Obama’s daughters ’Obama lányai’. Amennyiben a birtokos nem élő, akkor elöljárós szerkezetet használunk: the map/mayor of London ’London térképe/polgármestere’. Így a Magyarország miniszterelnöke kifejezésre a Prime Minister of Hungary a legbevettebb fordítás, ám a Hungary’s Prime Minister típusú szerkezet is előfordul, elsősorban újságcikkek címeiben.
A fenti példák azt mutatják, hogy a gyakran előforduló kifejezéseket, mint a Magyarország miniszterelnöke birtokos szerkezetet (1.), egészben fordítja le a program, tehát ez a két kifejezés egymásnak felel meg a frázistáblában. Ha a Magyarország szót helytelenül, kisbetűvel írjuk (2.), akkor egy másik fordítással áll elő a program – hiszen pontosan ez, a kisbetűvel kezdődő szósorozat nem szerepel a frázistáblában fellelhető minták között. Így kisebb egységek után kutat, s ezek egymásutánjából állítja elő a fordítást.
Ha a Magyarország miniszterelnöke birtokos szerkezetet megszakítjuk egy jelzővel, akkor a Google Fordító fordításai között két mintázatot fedezhetünk fel. Ha viszonylag gyakori jelzős szerkezetről van szó – mint az első miniszterelnöke esetében (3.) –, a program képes jó fordítást adni. Ha azonban ritka kifejezéssel van dolga – mint a sovány miniszterelnöke esetében (4.) – rossz fordítást ad, a jelzőt rossz helyre teszi. Ennek az az oka, hogy a Google Fordító nem csak a frázistáblában megtalálható párokat rakja egymás után, hanem a frázisok egymáshoz illesztésével előálló szósort is ellenőrzi.
Az egymást követő szavakra vonatkozó statisztikai információt úgy nyerik, hogy rengeteg egynyelvű szövegben megszámolják a szavakat, szópárokat stb., és a kapott statisztikát eltárolják.
Az ellenőrzés során a szósorhoz egy számot rendel az alapján, hogy a szósort alkotó szavak, szópárok, szóhármasok stb. milyen gyakoriak az adott nyelvben. E nélkül az ellenőrzés nélkül a fordító nem tudná jól összerakni a [first][Prime Minister of] darabokat sem. Mivel fordítás ellenőrzéséhez készített modell építéséhez használt szövegekben viszonylag gyakran látta a first Prime Minister of szöveget, a lehetséges fordítások közül ezt választja. A sovány esetében az a probléma, hogy az adatbázisban feltehetően a lean Prime Minister sorozat szinte soha nem fordul elő. Viszont a korábbi kanadai miniszterelnök, Jean Chrétien nevét olyan gyakran gépelték el lean Chretien alakban, hogy a Google gyakorisági adatbázisa szerint a Prime Minister lean szósor egyértelműen győz a lean Prime Ministerrel szemben.
(Forrás: Wikimedia Commons / JasonParis / CC BY 2.0)
Hogyan lehetne elérni, hogy ritkábban hozzon rossz döntést a fordítóprogram? A frázisalapú, csupán az egymás után következő szavak gyakoriságán alapuló programok tökéletesítésére számos irányban folynak a kutatások napjainkban is. Ezekben általában szerepet kapnak az emberek által megelemzett szövegek – tehát nem csupán a frázistáblák előállításához használt párhuzamos szövegek fordításához szükséges az emberi közreműködés, hanem a teljesítmény javítását célzó programok tanítóanyagát is komoly emberi közreműködéssel kell létrehozni.
Először azokat a módszereket tárgyaljuk részletesebben, amikor a szavak szófajáról és felépítéséről szóló információkkal gazdagítják a fordítóprogramot, tehát amelyek a morfológiát is segítségül hívják. Ehhez meg kell ismerkednünk a morfológiai elemzés fogalmával.
Morfológiai elemzés
Azt a folyamatot, aminek során egy szóalakról megállapítjuk, hogy milyen jelentéses egységekből (morfémákból) áll és az egyes darabok milyen nyelvtani információt kódolnak, morfológiai elemzésnek nevezzük. Mit tudhatunk például a futást szóról? Kaparjuk elő általános iskolai nyelvtantudásunkat!
1. morfémák: fut-ás-t
2. fut – szótő, ige
3. -ás – képző, igéből főnevet képez
3. futás – főnév, egyes számú
4. -t – tárgyrag
5. futást – egyes számú, tárgyragos főnév
Az alábbiakban a szófaji 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, melléknévi igenév, szn – számnév. Itt az áttekinthetőség kedvéért csak nagyon egyszerű elemzéseket adunk. A működő elemzők bővebb címkekészlettel dolgoznak – szám, személy, eset stb. információkat is feltüntetnek.
Mit használnak fel ebből az elemzőprogramok? A legegyszerűbb esetben csak azt állapítják meg, hogy a szövegben szereplő szavak milyen szófajúak: az egyes szóalakokhoz szófaji címkéket ragasztanak. Ezt a folyamatot nevezzük szófaji címkézésnek vagy taggelésnek, az angol tag ’címke’ szóból. Például az Olga szereti a futást mondatot így elemezhetjük egyszerűen:
Olga[fn] szereti[ige] a[ne] futást.[fn]
Honnan tudja egy számítógép, hogy melyik szó milyen szófajú? A statisztikai alapú szófaji címkéző számára emberek elemeznek meg nagy mennyiségű szöveget. Ezt kézzel vagy félmanuális módszerrel végzik, azaz géppel felcímkézik és kézzel kijavítják. A címkézés során a fenti példához hasonlóan megadják a szavak után a szófaji címkéket. Az így megelemzett szövegből a program automatikusan megtanulja, hogy az Olga szó főnév, az a pedig névelő.
Természetesen sokszor több lehetőség is van: például a várnak szó a Pistiék rád várnak mondatban ige, míg A várnak magas fala van mondatban főnév. A szövegkörnyezettől függ, hogy az igei vagy a főnévi elemzés-e a helyes. Ilyenkor egyértelműsítésre van szükség – tulajdonképpen ez a címkézés lényege: el kell dönteni, hogy az adott előfordulás esetében melyik helyes a lehetséges elemzések közül. A program valószínűségeket rendel az egyes elemzésekhez a korpuszban előforduló esetek alapján. Egyrészt azt is vizsgálja, hogy az adott szóalak a tanítóanyagban milyen gyakran fordult elő az adott címkével, másrészt azt is figyelembe veszi a számoláskor, hogy az adott címke milyen gyakran követi a tanító anyagban a megelőző néhány szó címkéjét, tehát például hogy a névelő-melléknév-főnév sorozat milyen gyakori.
A szótövesítést szakszóval lemmatizálásnak nevezik. A kifejezés végső soron a görög lemma ’adott, érv’ jelentésű szóból származik. Az angolban a lemma jelentése ma ’szótári alak’.
A ténylegesen kizárólag szófajcímkéket használó szófaji címkéző valójában csak olyan nyelvek esetében használható eredményesen, amelyekben nincs ragozás, mint például a kínai. Ragozó nyelvek esetében a morfológiai elemzés egy magasabb szintjére van szükség: a szótövet és a ragmorfémákat is megkeresik a szóalakban. Ez a kevéssé ragozó nyelvek, például az angol, esetében könnyű, hisz alig vannak ragozott alakok. Gazdag morfológiájú nyelvek esetében azonban már nehezebb.
A fordítórendszer morfológiai elemzést, szótövesítést és egyértelműsítést végző részét emberek által elemzett szövegeken tanítják be arra, hogy hogyan kell az adott nyelven a szavakat felcímkézni és megtalálni a tövüket. Ez a módszer azonban a ragozó nyelvek esetében, ahol egy szótőnek több száz alakja is lehet, önmagában nem hoz kielégítő eredményeket. Az emberek által megelemzett tanítókorpuszból ugyanis hiányzik azoknak a szóalakoknak a jelentős része, amelyekkel a rendszer a működése közben találkozik.
A ragozó nyelvek esetében a legjobb eredmények akkor érhetők el, ha a programba egy nyelvészek által készített morfológiai elemzőt is beépítenek. Ennek az adatbázisa nem olyan véletlenszerű, mint a fordítórendszer pusztán a korpuszbeli adatok alapján készített ragozási modellje , hanem rendszerszerű – pontos információkat tartalmaz arról, hogy mely tövekhez milyen végződések kapcsolódhatnak, és hogyan. Az ilyen, statisztikai módszereket és hagyományos nyelvészeti leírásokat kombináló fordítórendszereket hibrid modelleknek nevezik.
Cikksorozatunk következő részében két olyan gépifordító-típust mutatunk be, amelyek morfológiai információkra is támaszkodnak a fordítás során.
@gorilla: A Google Fordító működéséről nincsenek nyilvános információk - tehát sem leírások, sem beszámolók -, hisz az ott dolgozóknak titoktartási kötelezettségük van. Azt viszont lehet tudni, hogy alapjában véve két egyetemi műhelyből indult a fejlesztés (Saarbrücken, Edinburgh) - így az ott folyó kutatások irányát az ő cikkeikből lehet ismerni.
Leírások hiányában a program működésére leginkább következtetni lehet. Egyrészt más, hasonló programok működéséből, hiszen az alapelvek ugyanazok. Másrészt azokból az adatokból, amiket próbálgatás útján nyerünk. Például ezt a Jean ~ lean problémát teljesen véletlenül fedeztük fel, csak ellenőrzésképpen beírtuk a Google keresőbe azt, hogy Prime Minister lean - és kijött egy csomó találat úgy, hogy "lean Chretien" volt benne.
Ez a cikksorozat a statisztikai gépi fordítók általános működését mutatja be. A Google Fordítót mint mindenkinek könnyen hozzáférhető illusztrációt mutatjuk be.
Hasonló rendszerekről (pl. Moses) a statmt.org/ oldalon lehet tájékozódni (angol nyelven).
Honnan lehet tudni, hogy a Google Fordító konkrétan hogyan működik? Ezt szerintem nem publikálták nyilvánosan, de ha igen, szívesen beleolvasnék.
Vagy ez inkább csak egy általános leírás a Google Fordítóhoz hasonló programokról?