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 eri keeleperedest. 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õnalisele tõlkesüsteemile ning 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. 
Null-vormindi ja taas-vormindi.
Null-vormindi eraldab tõlgitava teksti ja formaadiga kaasneva info, mis eemaldatakse – näiteks eemaldatakse RTF, HTML vms märgendus . Kõik formaadiga seonduv kapseldatakse eraldajate vahele ja suuremad tekstiblokid kirjutatakse ümber ajutisteks failideks.
Kapseldatud formaadiplokkideks võivad olla: 
Plokkide loomise reeglid on järgmised: 1) kõik, mis ei ole osa tõlgitavast tekstist, peab olema kapseldatud formaadiplokkidesse, 2) kõrvuti ei tohi olla kaks mittetühja formaadiplokki – kui on, siis need ühendatakse üheks suureks formaadiplokiks, 3) tühjale formaadiplokile peab eelnema mittetühi formaadiplokk või faili lõpp. Pärast programmi töö lõppu saadetakse tekst viimase sammuna taas-vormindisse, mis taastab sisendteksti originaalse formaadi .
Käesoleva töö raames null-vormindit ega taas-vormindit ei rakendata, kuna see on relevantne ainult siis, kui tegu on tõepoolest lõppkasutaja programmiga.
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 ülesehituselt sarnaneb eelmainitud sõnastikega. 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 tehekase 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-laiendiga 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. Olenevalt tõlkesuunast loetakse sõnastikku kas vasakult paremale või vastupidi. Kakskeelsed sõnastikud sisaldavad enamasti informatsiooni vaid lemma ja sõnaliigi kohta.