Apertium

Apertium on tasuta avatud lähtekoodiga reeglipõhise masintõlke tarkvara süsteem, mis sisaldab masintõlkesüsteemi ülesehitamiseks vajalikke andmeid. Esialgu hakati platvormi arendama sugulaskeelte tõlkimise jaoks, kuid praeguseks on seda laiendatud ka keelepaaridele, kus keeled on pärit erinevatest keeleperekondadest. Apertiumi süsteemi tööpõhimõte põhineb suuresti andmete ulatuslikul kasutusel – morfoloogilised sõnastikud, grammatikareeglid, paralleelsed tekstid jpm.
Apertiumi arendajate eesmärgiks on olnud vähemuskeelte ja vähem kasutatavate keelte toetamine. Süsteem on üles ehitatud sõnasõnalise tõlkesüsteemi peale ja see kasutab eraldiseisvatest programmidest kokku pandud n-ö konveierit, kus eelneva programmi väljund on järgneva sisend.
Reeglipõhine masintõlge on ajalooliselt esimene lähenemine masintõlkele. Reeglipõhine masintõlge koosneb kahest suuremast komponendist: reeglid, mis arvestavad keelte erinevusi, ja leksikonid, kus asuvad morfoloogiline, süntaktiline ja semantiline informatsioon. Kuna nii leksikonid kui ka reeglid on programmeerijate kirjutatud, on reeglipõhine masintõlge nii aja kui ka ressursside poolest väga kulukas meetod tõlkesüsteemi ehitamiseks.

Süsteemi ülesehitus

Nagu öeldud, koosneb Apertium mitmest iseseisvast programmist, mis on kokku pandud üheks süsteemiks ja mille ühe osa väljund on järgmise sisend. Järgnevalt seletatakse põhjalikumalt, mida iga osa eraldi teeb.

Morfoloogiline analüsaator

Morfoloogiline analüsaator segmenteerib teksti tekstisõnadeks ning seejärel pakub igale tekstisõnale leksikaalse vormi, mis sisaldab lemmat, leksikaalset kategooriat (substantiiv, verb, adjektiiv jne) ja morfoloogilist informatsiooni . Morfoloogiline analüsaator analüüsib sõna vormi ning sellele vastavalt annab ka infot sõna struktuuri, arvu, käände, pöörde, sõnaliigi jpm kohta. Kui analüsaator ei suuda üheselt sõna analüüsida, siis annab see vasteks vähemalt kaks erinevat leksikaalset vormi .

Morfoloogiline ühestamine

Kui morfoloogiline analüsaator on pakkunud välja mitu leksikaalset vormi ühele tekstisõnale, siis toimub järgmise sammuna morfoloogiline ühestamine. Ühestaja valib lause konteksti põhjal mitu analüüsi saanud sõnadele ühe analüüsi. Antud etapp reeglipõhises masintõlkes on kõige rohkemate tõlkevigade põhjustajaks – kui ühestaja valib vale analüüsi, siis tuleb ka vale tõlge.
Ühestajat treenitakse sisendkeele korpuse peal, kuid lisaks rakendatakse sellele ka piiranguid, mis keelavad või kohustavad kindlate sõnavormide järjest esinemise. Näiteks hispaania keeles ei saa prepositsioonile järgneda personaalses vormis verb ja seega aitavad sellised reeglid ühestaja tööd lihtsustada.

Leksikaalse ülekande moodul

Leksikaalse ülekande moodul genereeritakse automaatselt kakskeelsest sõnastikust. Sõnastikus vastab igale sisendkeelsele sõnavormile vaid üks väljundkeelne vaste. Ühendverbe käsitletakse ühe üksusena, millele vastab samuti üks väljundkeelne sõna.

Leksikaalse valiku reeglite moodul

Leksikaalse valiku reeglite moodul lisati Apertiumi süsteemi 2007. aastal, kui kakskeelsesse sõnastikku sai sisendkeelsele sõnale lisama hakata mitu väljundkeelset vastet. Leksikaalse valiku reeglite moodul valib konteksti arvestades kõige sobivama väljundkeelse vaste. Platvorm on arendatud kiireks, et tuhanded sõnad sekunditega tõlkida, lihtsaks ja iseseisvaks, et seda saaks arendada ka ilma andmete või suure paralleelkorpuse olemasoluta .
Apertiumi süsteemis on kaks võimalust, kuidas olukorda, mil sõnal on mitu võimalikku vastet, käsitletakse. Esiteks, olukorras, kus väljundkeelsed vasted on sünonüümid ning ühe või teise eelistamine ei viiks tõlkeveani, saab lingvist ise valida sobivaima lemma lisades teistele lemmadele piirangud. Teiseks, olukorras, kus vale väljundkeelne vaste võib viia tõlkeveani, antakse lingvistile võimalus märgendada erinevad lemmad nii, et leksikaalse valiku reeglid statistilisel põhimõttel suudavad valida konteksti arvestades õige lemma.

Strukturaalse ülekande moodul

Strukturaalse ülekande moodul praegusel kujul loodi samuti 2007. aastal, kui Apertiumit hakati kasutama keelte tõlkimiseks, mis ei ole samast keeleperest pärit. Uus ja täiustatud moodul koosneb kolmest astmest: leksikaalne aste, sõnajärjendite aste ja sõnajärjendite järjendite aste.
Strukturaalse ülekande moodul analüüsib sõnajärjendeid ja/või fraase, mis vajavad spetsiaalset tähelepanu tulenevalt sisendkeele ja väljundkeele grammatilistest erinevustest. Näiteks muudetakse just selles moodulis vajadusel sõnajärge, sugu, arvu jne. Moodul genereeritakse failist, kuhu on kirjutatud iga üksikjuhtumi kohta konkreetsed reeglid, kuidas väljundkeeles sõnajärjend välja peaks nägema  .

Morfoloogiline generaator/süntees ja postgeneraator

Morfoloogiline generaator moodustatakse automaatselt morfoloogilise sõnastiku alusel. Morfoloogiline generaator annab igale väljundkeelsele leksikaalsele sõnavormile vasteks tekstisõna.
Postgeneraator tegutseb samuti vaid väljundkeelse tulemiga ning selle mooduli ülesandeks on vaadata üle ja teha ortograafilist korrektuuri. Moodul genereeritakse automaatselt teisendusreeglite failist, mis on ülesehituselt sarnane eelmainitud sõnastikele. Ortograafiline korrektuur seisneb näiteks üleliigsete tühikute kustutamises, punktuatsiooni parandamises jpm . Ka postgeneraatorit antud töös ehitatud programmi raames ei kasutata ega arendata.

Sõnastikud

Järgnevalt on lühidalt kirjeldatud sõnastikke, mida programm Apertium toimimiseks vajab.

Morfoloogilised sõnastikud

Morfoloogiline ülekanne viiakse läbi Helsingis arendatud lõpliku muunduri tehnoloogiat (HFST) kasutades. Seda tehnoloogiat on laialdaselt kasutatud just uurali keelte puhul ning see on kättesaadav vaba litsentsi all. Mõlema keele morfoloogiat rakendatakse lexc-laiendiga failis ja mõlema keele morfofonoloogiat rakendatakse twolc laendiga failis. Üht ja sama morfoloogilist kirjeldust kasutatakse nii morfoloogilise analüüsi kui ka morfoloogilise generaatori moodulites.

Kakskeelsed sõnastikud

Kakskeelset sõnastikku vajab leksikaalse ülekande moodul, selleks et leida igale sisendkeele leksikaalsele vormile väljundkeelne vaste. Taaskord saab kakskeelsest sõnastikku kasutada kahel eesmärgil: olenevalt tõlkesuunast loetakse sõnastikku kas vasakult paremale või vastupidi. Kakskeelsed sõnastikud sisaldavad enamasti informatsiooni vaid lemma ja sõnaliigi kohta.