Ki figyeli a vízilovat?
Miért okoz gondot a szórend fordításnál? Mire használhatjuk az iskolában szerzett mondatelemző képességeinket? Mi az az ágrajz és miben segíti a gépi fordítást? A mondatszerkezeti információk szerepét vizsgáljuk a statisztikai gépi fordítókban.
Cikkünkben a Google Fordító fordításait írógépbetűkkel szedtük. * jelzi a nyelvileg hibás mondatokat, % pedig a nyelvtanilag jó mondatokat, amelyek nem a forrásnyelvi mondatnek nem jó fordításai.
Egy magyar mondatban többféle szórend is hasonló jelentést adhat. Mit tesz egy gépi fordító, ha lefordíttatunk vele ugyanolyan szavakat tartalmazó, de különböző szórendű magyar mondatot angolra? Nézzük meg, mi történik, ha a Google Fordítót állítjuk ilyen feladat elé!
János látott egy madarat.
John saw a bird.János egy madarat látott.
John saw a bird.Egy madarat látott János.
John saw a bird.
Mindhárom magyar sorrendre ugyanazt a fordítást kaptuk. Ez nem meglepő, hiszen az angolban a magyarhoz képest meglehetősen kötött a szórend. Az alany áll az első helyen, ezt követi az igei állítmány, majd a tárgy következik.
Mi történik, ha ritkább szavakat teszünk egy fentihez hasonló szerkezetbe?
Kovács boncolta a vándorpatkányt.
*Kovacs vándorpatkányt the autopsy.Kovács a vándorpatkányt boncolta.
*Kovacs vándorpatkányt autopsy.A vándorpatkányt Kovács boncolta.
*The autopsy vándorpatkányt Smith.
A fordítóprogramnak itt már a szavakkal is baja van: nem ismeri a vándorpatkány szót és a boncolta alakban sem ismeri fel az igét, hanem főnévként (autopsy ’boncolás’) fordítja. A Kovács nevet hol lefordítja, hol nem. Így esélye sincs a Kovács dissected the brown rat fordítás előállítására.
A kéményseprő szónak több megfelelője is van az angolban, amik a chimney ’kémény’ és a sweep ’söpör’ tövek szerepelnek: chimney sweep, chimney sweeper. A brit angolban önmagában a sweep szó is lehet ’kéményseprő’ jelentésű.
Ám akkor se járunk sokkal jobban, ha kizárólag a fordítóprogram által jól ismert szavakat használunk, ám ritka kombinációban. Az alábbi mondat esetében az első alany–állítmány–tárgy sorrendű mondatot még jól lefordítja, de más sorrenddel nem birkózik meg.
A kéményseprő figyelte a vízilovat.
The sweep was watching the hippo.A kéményseprő a vízilovat figyelte.
*The sweep of the hippo watching.A vízilovat a kéményseprő figyelte.
%The hippo was watching the chimney.
Az utolsóként szereplő fordítás jelentése: ’A víziló figyelte a kéményt’. A szórend megváltozását tehát sokszor nem tudja kezelni a Google Fordító. Az ehhez hasonló szórendi problémák megoldására csak részben nyújtanak megoldást a cikksorozatunk előző részében ismertetett faktoros statisztikai gépi fordítóprogramok. Lássuk, mivel próbálkoznak még a nyelvészek.
Szintaxisalapú modellek
A fenti magyar példamondatokban az alany, az állítmány és a tárgy más-más sorrendben jelent meg – míg az angol változatban mindig alany–állítmány–tárgy sorrendet látunk. Ha mindenféle forrásnyelvi mondatszerkezetről meg tudjuk mondani, hogy milyen szerkezet felel meg nekik a célnyelvben, akkor nyert ügyünk van. Hiába más a szórend a két nyelvben – ha tudjuk, mi a szabály, akkor valószínűbb, hogy elő tudjuk állítani a jó fordítást. Ezeknek a szerkezeti párhuzamoknak a megragadásával próbálkoznak azok a programok, melyek a mondatok szerkezetét (azaz szintaxisát) próbálják modellezni. Az így készült statisztikai gépi fordítókat szintaxisalapú modelleknek nevezzük.
A magyar iskolákban a mondatelemzés során a mondatrészek mondatbeli szerepét kell meghatározni (alany, jelző, határozó), nem azt, hogy milyen szófajú szavak alkotnak egy-egy szerkezetet. Olyan próbálkozások is vannak, amelyek ezeket a címkéket használják a gépi fordítórendszerekben.
Az ilyen programok számára olyan párhuzamos szövegeket hoznak létre, amiket némileg hasonlóan az iskolai mondatelemzéshez, géppel megelemeztek. A gépi elemzés alapjául, hasonlóan ahhoz, ahogy azt a szófaji címkézés esetében korábbi cikkünkben leírtuk, kézzel megelemzett szövegek szolgálnak. Ezekből tanulja meg az elemzőprogram, hogy milyen mondattani elemzést rendeljen az egyes szószerkezetekhez. A mondattani elemzésben azon túl, hogy felcímkézik a morfémákat szófaji információkkal, még a szószerkezetek határait és fajtáját is bejelölik. Az így megelemezett szövegekből a program automatikusan megtanulja, hogy milyen szószerkezetek lehetségesek az adott nyelvekben, és ezek közül melyik forrásnyelvi szerkezet melyiknek célnyelvi szerkezetnek felelhet meg.
(Forrás: Wikimedia Commons)
Hogy néz ki egy ilyen szintaktikai elemzés? Ne az iskolából ismert pöttyökre és hullámvonalakra gondoljunk. Inkább azokra a rajzokra, amelyeket a megelemzett mondatok mellé kellett rajzolni. Az egyes mondatok szerkezetét ugyanis legszemléletesebben ágrajzokkal mutathatjuk be. Ezeken az ábrákon az összetartozó szavakat egy pontba összefutó vonalak képviselik és az összetartozó szószerkezeteket is hasonlóan ábrázolhatjuk.
Ebben a magyar mondatban az a tanár és az a diákjainak kifejezésekben a névelő és a főnév nagyon szoros kapcsolat van, így rögtön egy pontba húzzuk össze őket. Ha más szórendet választunk, a névelő akkor sem szakadhat el a főnévtől – de például a A diákjainak leckét adott a tanár mondat is jó lenne. Ezeknek a mondatoknak az angol fordítását egy hasonló ágrajzzal szemléltethetjük.
A két ábra meglehetősen hasonló, ám a két nyelvre más-más szabályok vonatkoznak. Az angolban például nem lehet felcserélni a magyarhoz hasonló módon a the teacher ’a tanár’ és a his students ’a diákjai’ részt – hiszen az angolban az alanynak kell elöl állnia.
A szintaxisalapú elemzőprogramokban nem a fentiekhez hasonló rajzokkal dolgoznak. Egy ezeknek pontosan megfelelő, de géppel jobban (ám emberi szemmel nehezebben) olvasható kódolást alkalmaznak: például zárójeleket. A legbelső zárójelek jelölik a nagyon szorosan összetartozó részeket. Ahogy egyre kifelé haladunk a zárójelekben, egyre nagyobb szószerkezeteket találunk. Ezt az ábrázolási módot látjuk itt, az alsó sorban.
A valóságban a szintaktikai elemzés során nem csupán a szavak összetartozását jelölik be, hanem a szavakat szófaji címkékkel is ellátják, valamint a szószerkezeteket is felcímkézik típusaik szerint. Ez a fajta ábrázolás emberi szemmel már alig olvasható a rengeteg zárójel és rövidítés miatt, így inkább csak ennek a jobban áttekinthető, ágrajzos változatát mutatjuk be. A fa elágazásaiban (azaz a csomópontokban) szófaji és szószerkezeti címkéket látunk (pl. N – főnév, NP – főnévi csoport).
Mire jó?
A szintaktikai elemzést is használó gépi fordítókkal könnyebb megragadni a rendszeres szórendi különbségeket, mint a korábban bemutatott frázisalapú vagy csak szófaji címkéket használó programokkal. Milyen egy rendszeres szórendi különbség?
A németben a múlt időt egy igével és egy segédigével fejezzük ki, ezért húztunk alá két szót.
Például a német alárendelő mellékmondatokban az igei résznek mindig a tagmondat végére kell kerülnie – ezzel szemben az angol alárendelő mondatban az ige megtartja alany utáni helyét. Fordítsuk le a következő mondatot németre és angolra! A két tagmondatot szögletes zárójelek közé tettük és az alárendelt mondat igéjét aláhúztuk.
[Kár,] [hogy a tanár sok leckét adott nekünk.]
[It is a pity] [that the teacher gave us a lot of homework.]
[Es ist Schade] [dass der Lehrer uns viel Hausaufgabe gegeben hat.]
Akármilyen hosszú és bonyolult a mellékmondat a németben, az ige mindig a végére kerül. Ezt a különbséget egy szósorokkal dolgozó frázisalapú modell vagy egy szófaji címkéket is ismerő faktoros modell nem tudja kezelni a nagy távolság miatt, ami az angol ige és a német ige között fennáll. A szintaxisalapú modellekben azonban könnyen azonosítható ez a mintázat – a mondat utolsó helyére kell betenni az igét.
Megéri?
A szintaxisalapú elemzők még napjainkban sem adnak elég jó eredményeket. Ennek fő oka az, hogy ezek a rendszerek már meglehetősen összetettek és rengeteg a hibalehetőség. Ha a kezdeti lépések közé hiba csúszik, ez a magasabb szintű elemzésekben egyre nagyobb hibákhoz vezet. Tehát ha rosszul címkézik fel az angol szavakat például – ami nem nehéz a sok azonos alakú szó miatt –, akkor a hibás szófaji címkék alapján téves szerkezeteket feltételez a program, és teljesen hibás fordításokat produkál. Emellett ha a fordítóprogram betanítása például egy újságcikkekből készült adatbázison történt, akkor a jogi szövegek más jellegű szerkezeteit nem fogja tudni megelemezni.
(Forrás: Wikimedia Commons / Eva holderegger walser / CC BY-SA 3.0)
Bár bizonyos szerkezetekre jó megoldást nyújtanak a szintaktikai információt is használó rendszerek, átfogó áttörést – főként a viszonylag szabad szórendű ragozó nyelvek esetében – még nem sikerült elérni. Vannak kísérletek a gépi fordítók jelentéstani elemzésekkel történő feljavítására is, ám ezek a munkálatok még meglehetősen gyerekcipőben járnak.
A sorozat korábbi részei
Cikksorozatunk záró részében azt mutatjuk majd be, hogyan mérik össze a különböző típusú gépi fordítóprogramok teljesítményét. Bármilyen meglepő, erre a feladatra rendszeres versenyeket hirdetnek meg. Azt, hogy milyen versenyszámokban és hogyan lehet indulni és győz-e valaki, hamarosan eláruljuk.