Apertium

Allikas: Vikipeedia
Jump to navigation Jump to search
Apertium logo.svg

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.[1]

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.[2]

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.[3]

Süsteemi ülesehitus[muuda | muuda lähteteksti]

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.

Apertiumi toru-süsteem

Null-vormindi ja taas-vormindi[muuda | muuda lähteteksti]

Null-vormindi eraldab tõlgitava teksti ja formaadiga kaasneva info, mis eemaldatakse – näiteks eemaldatakse RTF, HTML vms. märgendus [4]. Kõik formaadiga seonduv kapseldatakse eraldajate vahele ja suuremad tekstiblokid kirjutatakse ümber ajutisteks failideks.

Kapseldatud formaadiplokkideks võivad olla:

  1. mittetühjad formaadiplokid, mis sisaldavad sisenddokumendi formaadi informatsiooni,
  2. plokid, mis sisaldavad viidet kolmandale failile,
  3. tühjad formaadiplokid tehisinformatsiooniga, mille ette süsteem genereerib kirjavahemärgi.[4]

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.[4] Pärast programmi töö lõppu saadetakse tekst viimase sammuna taas-vormindisse, mis taastab sisendteksti originaalse formaadi [4].

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[muuda | muuda lähteteksti]

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 [1]. 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 [4].

Morfoloogiline ühestamine[muuda | muuda lähteteksti]

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.[4]

Ü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.[4]

Leksikaalse ülekande moodul[muuda | muuda lähteteksti]

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.[4]

Leksikaalse valiku reeglite moodul[muuda | muuda lähteteksti]

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.[4] 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 [5].

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.[4]

Strukturaalse ülekande moodul[muuda | muuda lähteteksti]

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.[4]

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 [4] .

Morfoloogiline generaator/süntees ja postgeneraator[muuda | muuda lähteteksti]

Morfoloogiline generaator moodustatakse automaatselt morfoloogilise sõnastiku alusel. Morfoloogiline generaator annab igale väljundkeelsele leksikaalsele sõnavormile vasteks tekstisõna.[4]

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.[4] Ortograafiline korrektuur seisneb näiteks üleliigsete tühikute kustutamises, punktuatsiooni parandamises jpm [4]. Ka postgeneraatorit antud töös ehitatud programmi raames ei kasutata ega arendata.

Sõnastikud[muuda | muuda lähteteksti]

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

Morfoloogilised sõnastikud[muuda | muuda lähteteksti]

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.[6]

Kakskeelsed sõnastikud[muuda | muuda lähteteksti]

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.[4]

Viited[muuda | muuda lähteteksti]

  1. 1,0 1,1 Forcada, Mikel L., Mireia Ginestí-Rosell, Jacob Nordfalk, Jim O’Regan, Sergio Ortiz-Rojas, Juan Antonio Pérez-Ortiz, Felipe Sánchez-Martínez, Gema Ramírez-Sánchez, Francis M. Tyers (2011). Apertium: a free/open-source platform for rule-based machine translation.. Springer Science+Business Media B.V. 2011. 
  2. Tyers, Francis M.. "Session 0a: Introduction.". 2015.
  3. Lagarda, A.-L., V. Alabau, F. Casacuberta, R. Silva, E. Díaz-de-Liaño (2009). "Statistical Post-Editing of a Rule-Based Machine Translation System". Proceedings of NAACL HLT 2009: Short Papers, pages 217–220, Boulder, Colorado. Association for Computational Linguistics. Lk 217-218. 
  4. 4,00 4,01 4,02 4,03 4,04 4,05 4,06 4,07 4,08 4,09 4,10 4,11 4,12 4,13 4,14 4,15 Forcada, Mikel L., Boyan Ivanov Bonev, Sergio Ortiz Rojas, Juan Antonio Perez Ortiz, Gema Ramirez Sanchez, Felipe Sanchez Martinez, Carme Armentano-Oller, Marco A. Montava, Francis M. Tyers (2010). Documentation of the Open-Source Shallow-Transfer Machine Translation Platform Apertium.. Departament de Llenguatges i Sistemes Informatics Universitat d’Alacant. 
  5. Tyers, Francis M., Felipe Sanchez-Martinez, Mikel L. Forcada (2012). Flexible finite-state lexical selection for rule-based machine translation.. Proceedings of the 16th EAMT Conference, 28-30 May 2012,: Terento, Italy. Universitat d’Alacant.. 
  6. Johnson, Ryan, Tommi A. Pirinen, Tiina Puolakainen, Francis Tyers, Trond Trosterud, Kevin Unhammer (2017). North Sámi to Finnish rule-based machine translation system.. Proceedings of the 21st Nordic Conference of Computational Linguistics..