A statisztikai gépi fordításban mondatokat szeretnénk lefordítani egy másik nyelvre. Mivel mondatokkal foglalkozunk, ezért egy diszkrét problémával van dolgunk, legtöbbször véges is. És az is következik, hogy többnyire gyakoriságokat, illetve relatív gyakoriságokat tudunk számolni, illetve mint már láthattuk az EM algoritumus példáiban, hogy néha súlyozott gyakoriságokkal kell számolni. Minden szópárt, illetve mondatpárt lehetségesnek tételezünk fel, még ha csak igen kis valószínűséggel is. A hagyományos nézet, hogy a nyelvtan szabályokból áll, melyeket be kellene tartani, tartatni mára már túlhaladott és nem is túl realisztikus. A tapasztalat az, hogy az emberek a szabályoktól eltérően beszélnek, írnak. Nehéz megállapítani, még tudományos módszerekkel is, hogy melyik mondat helyes, és melyik helytelen. Igen tapasztalt nyelvhasználókat is zavarba lehet hozni egy-egy mondattal, hogy helyes-e vagy nem. A határ a jólformált, és rosszulformált mondatok között elég elmosódott, semmiképpen sem éles, és nem kategorikus. Tehát nincsenek jól és rosszul formált mondatok, hanem csak valószínűbbek és kevésbbé valószínűek vannak. Egy érdekesség, és egyben nehezítő körülmény a nyelvekkel kapcsolatban, hogy Zipf törvénye szerint egy szövegben a gyakorisági rangsorban elfoglalt helye egy szónak egy szövegen belül fordítottan arányos azzal, hogy hány olyan szó van, aminek ugyanennyi a rangsorban elfoglalt helye. Egy mérés szerint Tom Sawyer című könyvben csak 102 olyan szó van, ami több, mint 100-szor fordul elő a szövegben, 91 olyan szó van, ami 10-szer fordul elő és 3993 olyan szó van, ami csak egyszer fordul elő a szövegben. Ez sajnos azt is jelenti, hogy egy szövegben a legtöbb szó csak egyszer fordul elő, és ezért nem lehet velük gyakoriságot számolni, és még azzal a következménnyel is jár, hogy hiába veszek hosszabb szöveget, mert ha így bizonyos szavakat gyakoribbá is tudok tenni, rengeteg olyan új szó kerül a szövegembe, amelyek csak egyszer fordulnak elő.
A témáról többet tartalmaz [2].
A bevezető után nézzük most hogyan lehet formalizálni matematikailag a gépi fordítás modelljeit.
Legyen a két nyelv, melyek között fordítani akarunk az angol és francia. Most az angolról franciára
fordítás esetét vizsgáljuk. Legyen
az angol mondatoknak egy véges halmaza,
pedig
francia mondatok egy véges halmaza. A feladat az, hogy tetszőleges
mondat esetén
találjuk meg azt az
mondatot, melyre a
valószínűség a maximális.
Ez a valószínűség nem más, mint
Ezt a mennyiséget
ugyanaz az
maximalizálja, mint a
számot, mivel
nem
függ az
mondattól. Tehát a feladat az, hogy lehetőleg hatékonyan találjunk egy olyan
mondatot, mely ezt a szorzatot maximalizálja. A
valószínűség számolása nem ugyanaz
a feladat, mint
számolása, ugyanis az előbbinek adott
esetén nyelvtanilag
helyes
mondatokra kell nagynak lennie, míg a második akár értelmetlen
mondatokra
is lehet viszonylag nagy, mert ez esetben
kicsi lesz, és így a szorzat sem lesz nagy,
megakadályozva ezzel, hogy egy értelmetlen, vagy akár csak egy ritkán használt mondatot
fordításaként válasszunk.
A következőkben azzal a problémával foglalkozunk, hogy hogyan lehet a
valószínűségben szereplő paramétereket becsülni egy minta alapján. Ezt az EM algoritmus segítségével
tesszük meg. A minta egy rendelkezésre álló mondatpárhalmaz lesz, ahol a mondatpárok tagjai egymás
fordításai. Ez a hiányos adatrendszer. A teljes adatrendszer pedig a hiányos adatrendszer kiegészítve
azzal az információval, hogy egy adott fordítási pár esetén a mondatok mely szavai fordításai
egymásnak.
Temesi Róbert 2010-08-16