Külső könyvvizsgáló feltétet nélkül
Az automatikus fordításokat olvasni hol kacagtató, hol bosszantó. Egy-két vessző vagy felkiáltójel hozzáadása az eredeti mondathoz, esetleg egy elgépelés gyökeresen más fordításokat eredményezhet. Hogyan lehetséges ez?
A közelmúltban egész elképesztő gépi fordításokat mutatott be egy éttermi félrefordítás apropóján Leiter Jakab. Kommentelőink fantáziáját megmozgatta az a kérdés, hogy vajon milyen gyakran változhat egy gépi fordítóprogram adatbázisa. Illetve azon is elmerengtek, hogy miért hagyja figyelmen kívül a program a feltétet szót. Így most mi is megpróbálunk kicsit bekukkantani a kulisszák mögé a cikkben szereplő Amenyiben valamelyik feltétet nem kérik szóljon és nem tesszük bele!!! remek mondat segítségével.
Aktuális adatbázis
Forrásnyelvnek azt a nyelvet nevezzük, amiből fordítunk. Célnyelvnek pedig azt, amire fordítunk. Tehát ha magyarról fordítunk angolra, akkor a magyar mondat a forrásnyelvi szöveg, az angol fordítás pedig a célnyelvi szöveg.
Statisztikai gépi fordítókról szóló cikksorozatunkból már sok minden kiderült a Google Fordító (Google Translate) és társai működéséről. Így most csak röviden foglaljuk össze, hogy is működik egy ilyen program. Az automatikus fordítóprogramok hatalmas méretű több- és egynyelvű adatbázisokon dolgoznak. A programot párhuzamos szövegeken tanítják be. Tehát olyan szövegeket vesznek, amik egymás fordításai: regényeket, híreket, szinkronszövegeket, szólistákat, szótárfájlokat, jogszabályokat. Ezek alapján a program automatikusan összepárosítja az adatokat: kitalálja, hogy melyik angol szósornak melyik magyar szósor felel meg, és fordítva. Majd ezek segítségével összeépít több lehetséges fordítást. Mikor ezek közül választ, azt is nagy súllyal figyelembe veszi, hogy melyik mennyire hasonlít a benne szereplő szósorok tekintetében más célnyelvi szövegekhez.
A fentiekből következik, hogy ha megváltozik az adatbázis, akkor ugyanarra a szóra vagy mondatra más fordítást adhat ki a program. Az adatbázis megváltoztatásának legegyszerűbb módja, ha több szöveget raknak bele, azaz bővítik. Mivel ezek a programok statisztikai alapon működnek, minél nagyobb az a szöveghalmaz, amire támaszkodnak, elméletileg annál valószínűbb, hogy sikerül jó fordítást adniuk.
A másik módszer az adatbázis megváltoztatására az, melyre tájfun nevű kommentelőnk is felhívta a figyelmet: a Google Translate esetében a felhasználók javasolhatnak jó fordításokat, amelyeket a program felhasznál. Feltehetőleg ezeket a javaslatokat valamilyen automatikus minőség-ellenőrzést követően beépítik az adatbázisba.
Harmadrészt, akkor is változhatnak a fordítási eredmények, ha a fordítóprogram működését módosítják, akár csak csekély mértékben. Így tulajdonképpen a Google Translate adatbázisa állandó változásban van – nem csoda, ha más-más időpontokban más-más fordítást kapunk.
A kísérlet
Jó móka a Google Fordítóval kísérletezni. Ha a szövegen semmit nem változtatunk, csak írásjelekkel bővítjük a fordítandó szöveget, már akkor is egészen meglepő eredményeket kapunk. Arra már az eredeti cikk is rámutatott, hogy a felkiáltójelek száma, illetve az amenyiben ~ amennyiben javítás egész döbbenetes változásokat eredményez. Mi még rátettünk egy lapáttal: vesszőket is raktunk a szövegbe.
Nos, mit látunk itt? Három dolgot változtattunk: az amennyiben helyesírását, illetve az írásjeleket, azaz a felkiáltójelek és vesszők számát. Egy embernek ezek az apróságok ennek a mondatnak az esetében nem változtatnának a jelentésen. De a gépi fordító ezeket egész másként értelmezi. Alapjában véve öt különböző mondatot produkált a fordítógép. Az egyes csoportokon belül az angol mondatokban csak a felkiáltójelek és vesszők számában volt különbség, a szavakban és a szórendben nem – így ezeket a változatokat egy kalap alá vettük.
1. amenyiben; 0, 2 vagy 3 felkiáltójel; nincs vessző
On submission of a condition do not ask do not tell, and it
2. amenyiben; max. 1 felkiáltójel; max. 2 vessző; min. 1 írásjel
The external auditor is required by any one of them and let me know we do not do it!
3. amennyiben; a felkiáltójelek száma változik; 0 vagy 1 vessző: kérik, szóljon
a) If any of these conditions do not ask do not tell, and we do it (0 !, 0 vagy 1 ,)
b) If any of these conditions do not ask do not tell and do it! (1 vagy 2 !, 0 vagy 1 ,)
c) If any of these conditions do not ask do not tell, and it !!! (3 !, 0 vagy 1 ,)
4. amennyiben; a felkiáltójelek száma változik; egy vessző: szóljon, és
Let me know if any one does not ask, and we do not do it
5. amennyiben; a felkiáltójelek száma változik; két vessző: kérik, szóljon, és
If either condition is not asked, let me know, and we do not do it
Nem vagyunk könnyű helyzetben, ha ki akarjuk deríteni, mi is történik itt. Szerencsére ha csak egyetlen szót vagy mondatot írunk be a fordítóprogramba, az egérkurzorral a fordítás egyes elemire mutatva kiderül egy és más. Például az, hogy melyik célnyelvi szót melyik forrásnyelvi szónak feleltette meg a program – a párok kék háttérrel jelennek meg. Emellett az egyes szavakra, szósorokra kattintva az is kiderül, hogy a program adatbázisában milyen lehetséges fordítások vannak még.
Teljes magyarázatot még a fentiek segítségével sem is fogunk tudni adni, így kommentelőinknek is tág teret hagyunk a magyarázatok keresésére. Csak néhány olyan dolgot tudtunk kideríteni, amiknek összjátéka előállíthatja ezt a vegyes eredményt. Öt dolgot kell megemlítenünk.
1. Automatikus javítás
A Google Fordító megpróbálja a már meglévő adataira támaszkodva kijavítani az elgépeléseket a fordításra szánt szövegben. Ezt a javítási mechanizmust jól ismerhetjük a Google keresőjéből is. A javítómechanizmust azonban a program nem alkalmazza korlátlanul. Ha több mondatot írunk be a fordító bemeneti ablakába, csak az elsőn végzi el az automatikus javítást. Ezért van az, hogy fenti kísérletünkben az első mondat látszólag kilóg a sorból, és a 3. fordítást kapjuk rá – hiszen a program automatikusan kijavítja az amenyiben szót amennyibenre. Ha azonban nem kérjük az automatikus javítást, a fordítás a fent 1. sorszámmal megadott változat lesz, ami a többi amenyibeneshez hasonló.
2. Hiányos adatbázis
A feltétet szó megfelelőjeként egyik fordításban sem jelenik meg a topping ’feltét’ szó. Ennek valószínűleg az az oka, hogy a program adatbázisában a valamelyik feltételt kifejezés viszonylag nagy számban van jelen, a valamelyik feltétet pedig csak a valamelyik feltételt elgépeléseként szerepel. Így a program a valamelyik feltétet szósornak csupa olyan kifejezést feleltet meg, amelyek valójában a valamelyik feltételt fordításai. Ez annak ellenére így van, hogy a feltétet szó esetében a toppings és a topping is szerepel a lehetséges fordítások listáján.
A program feltehetőleg előállítja a valamelyik és feltétet szavak fordításait egyenként is. A topping 'feltét' szó azonban annyival ritkább a condition 'feltétel' szónál, különösen ebben a szókapcsolatban, hogy nincs esélye vele szemben az előállt célnyelvi szöveg ellenőrzésénél. Ez a hiba tehát azért állhat elő, mert nincs adat az adatbázisban a keresett kifejezés itt helyes fordítására. Számos adat van azonban, amely a hibás fordítást támasztja alá, és ez a fordítás sokkal valószínűbb szósort eredményez.
Hasonló a helyzet a tévesen amenyiben alakban szereplő szóval is. Amennyiben a program ezt nem javítja automatikusan, akkor az adatbázisában szereplő csekély számú hibás amenyiben alakra kell támaszkodnia. Úgy tűnik a találati lista alapján, hogy ilyen elgépelésekre jogi szövegekben bukkant a program. Mert mit is javasol az amenyiben szó fordításaként?
Valószínűleg az eredeti szöveg így kezdődött: Amenyiben a külső könyvvizsgáló..., amit egyszerűen a magyartól különböző mondatszerkezettel fordítottak. Így a program nem tudta sehová sem bepárosítani az amenyiben szót, így hozzácsapta szegény könyvvizsgálóhoz. Sőt, az is előfordulhat, hogy rosszul voltak összepárosítva a mondatok a tanítóanyagban – hiszen sokszor egy mondatot két mondatra fordítunk, így a párosítás elcsúszhat.
3. A gyakoriság varázsa
Mint már Leiter Jakab is rámutatott, a fordításokban gyakran szereplő do not ask do not tell ’ne kérdezd, ne mondd meg’ rész meglehetősen pikáns. Ez volt ugyanis az Egyesült Államok hivatalos irányelve a hadseregben szolgáló homoszexuálisokat illetően 1994 és 2011 között. Ennek az irányelvnek megfelelően csak azok a homoszexuálisok szolgálhattak az USA seregében, akik nem fedték fel szexuális irányultságukat. Azok, akik nyíltan vállalták homoszexualitásukat, nem válhattak katonává.
Mivel sokat vitatott irányelvről van szó, biztosak lehetünk benne, hogy a Google Fordító adatbázisában ez a szósorozat nagyon sokszor szerepel. Így ha valami ehhez hasonló fordítás jön ki az egyes mondatdarabok lefordításából, a program addig ügyeskedik, míg sikerül ezt kihoznia. Az, hogy az eredeti szövegnek mindehhez semmi köze nem volt, nem számít – csak a gyakoriság.
(Forrás: Wikimedia Commons / Quinn Dombrowski / CC BY-SA 2.0)
4. A vessző mágikus ereje
Míg a magyarban viszonylag szabadon változtatható a szavak sorrendje, az angol szórend meglehetősen kötött. Így magyarról angolra fordításnál az egyes szavak sorrendjét muszáj felcserélni. A Csigát látott Pisti mondat angol fordítása (Pisti saw a snail) a Pisti látott csigát sorrendnek felel meg. Így egy jó fordítóprogramban van lehetőség a szavak felcserélésére a fordítás során. A szavak sorrendjének megváltoztatásával azonban a fordítóprogram néha túllő a célon, mint a fenti do not ask do not tell esetében láttuk.
Úgy tűnik azonban, egy megfelelő helyre tett vessző megálljt parancsolhat a cserélgetésnek. Ha a szóljon és nem tesszük bele szósort megszakítjuk egy vesszővel, akkor a program már nem tudja kihozni a do not ask do not tell kifejezést, mert akkor egyértelmű számára, hogy a nem tesszük bele az egy egység. Így állhat elő a let me know, and we do not do it fordítás ’szóljon nekem, és nem fogjuk azt csinálni’, ami már egészen elfogadhatónak tűnik egy géptől.
(Forrás: Wikimedia Commons / Paul Farley, U. S. Navy / PD)
Az nem csoda, ha annak nem sok hatása volt a do not ask do not tell fordításra, ha a vesszőt a nem kérik, szóljon helyre tettük, hisz az angol fordításban is jó, ha a do not ask, do not tell szövegben vessző van.
5. Felkiáltójelek száma
A bemeneti mondat végére írt felkiáltójelek száma a fent 3. esetként bemutatott mondatok esetében okozott lényeges változást. A tesszük bele rész fordítása aszerint változott, hogy hány írásjel volt a mondat végén.
0: and we do it ’és megcsináljuk azt’
1 vagy 2: and do it! ’és csináld meg (azt)’
3: and it !!! ’és az !!!’
Mi történhet itt? A legjobb fordítást akkor kapjuk, ha nincs felkiáltójel. Ha egy vagy két felkiáltójel áll a mondat végén, akkor a program felszólítássá alakítja a fordítást. Ennek két oka lehet. Egyrészt gyakorlatilag teljesen biztos benne a program, hogy a felkiáltójelet meg kell tartani a fordításban. Másrészt az angolban a felkiáltójel főként felszólítások végén áll, más érzelmek kifejezésére kisebb arányban használják, mint a magyarban. Így a fordítóprogram célnyelvi, azaz angol adatbázisában a felszólító mondatszerkezet és a felkiáltójel közötti kapcsolat nagyon szoros: ezért erőlteti a felszólítást, ha felkiáltójelet lát.
De mi van, ha egyszerre három felkiáltójelet lát a program? A fordítás teljesen rossz lesz. Feltehetőleg ennek az az oka, hogy ilyen írásjelhalmozás az adatbázisban csak csetek, sms-ek szövegében fordul elő, ahol a mondatszerkesztés sem hasonlít a megszokotthoz. Így a szokványostól elütő modell alapján csak egy rossz fordítást sikerül kihoznia a programnak.
Feltétet nélküli elfogadás
Összefoglalva azt mondhatjuk, hogy nem csodálkozhatunk semmin, hisz a Google Fordító egy automata, amely hozott anyagból dolgozik. A Leiter Jakab által tárgyalt mondat már magyarul sem jó, tehát már a bemenet rossz. A vélt vagy valós hibákat a fordítóprogram – legalábbis a szövegek első mondatában – automatikusan javítja: ez egyes esetekben valóban javít, máskor viszont ront a forrásnyelvi adatokon. Emellett a Google Fordító adatbázisa véletlenszerű hiányokat tartalmaz, és sok benne a hibás adat, elgépelés. Ez a gyakori kifejezéseknél, szósoroknál kevésbé számít, ám a ritkábban előforduló adatoknál – mint például a valamelyik feltétet szósornál – végzetes lehet. Így időnként még a helyes fordítandó szövegre is hibás fordítást kapunk. Ezen felül a program nagyon erősen arra törekszik, hogy az angol fordításként előálló mondat hasonlítson más angol mondatokra. Így a sok bába közt elvész a gyerek, az eredeti mondat jelentése áldozatul esik a különböző törekvéseknek.