Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
< eelmine | 4. OSA sisukord | järgmine > |
4.3 Silmaring. Keeletehnoloogia I
KEELETEHNOLOOGIA
Keeletehnoloogia on valdkond, mis tegeleb programmide ja rakenduste loomisega, mis võimaldavad arvuti abil inimkeelt mõista ja töödelda. Selles peatükis saad lugeda paarist huvitavast keeletehnoloogia suunast, millega oled ehk enda teadmata juba kokku puutunud.
KIRJALIKU TEKSTI TUVASTUS
Tekstituvastus (ingl Optical Character Recognition ehk OCR) on arvutiteaduse osa, mille ülesandeks on tarkvara abil tuvastada pildilt teksti. Tekstituvastustarkvara tunneb ära tähed, numbrid ja kirjavahemärgid ning muudab need arvutile arusaadavaks. Edaspidi on tuvastatud teksti võimalik tavapäraselt arvutis redigeerida ning ühtlasi saab sellest tekstist näiteks otsisõnade abil vajalikku infot leida.
Arenenumad tekstituvastussüsteemid suudavad tuvastada väga paljudes erinevates fontides teksti. Siiski pole tulemus alati täpne - seda mõjutavad nii pildi kvaliteet kui ka näiteks teksti kujunduselemendid.
Tekstituvastuse abil on digiteeritud väga paljusid arhiive. Muuhulgas võimaldab see ka näiteks kaameratel autode numbrimärke tuvastada. Samuti leiab see kasutust postkontorites ümbrike sorteerimise automatiseerimisel. Üks tekstituvastuse algseid ja edukalt täidetud eesmärke oli aga pimedatele tekstide ettelugemise võimaldamine.
Üks kiiduväärt tekstituvastuse rakendus on Gutenbergi projekt. See on 1971. aastal Michael S. Harti poolt algatatud vanim digitaalraamatukogu. Sinna on kogutud ja digiteeritud üle 46 000 avalikult kasutatava raamatu. Raamatud on saadaval nii lihttekstina kui ka näiteks HTML, PDF ja EPUB formaatides. Enamik raamatuid on inglise keeles, kuid korralikult on esindatud ka saksa-, prantsuse-, itaalia- ja portugalikeelsed raamatud. Kuni 1989. aastani sisestati teosed käsitsi, pärast seda võeti kasutusele tekstituvastustarkvara. Kõik tekstituvastustarkvara abil lisatud raamatud on ka inimsilma poolt üle toimetatud.
Tänapäeval suudetakse tuvastada ka käsitsi kirjutatud tekste, kuigi selle puhul on tuvastusprotsent tunduvalt väiksem, sest inimeste käekirjad on erinevad ning tihti ei ole isegi ühe inimese käekiri alati samasugune. Käekirja tuvastamisega tegelev tarkvara on tavaliselt õppimisvõimeline - tarkvara suudab end kohandada uute käekirjadega.
Selleks, et suurendada tuvastusprotsenti ning vähendada erinevatest käekirjadest tulevaid erisusi, on proovitud seadmetes kasutada tavalise kirjutamise asemel ka erilisi tähestikke. Näiteks kunagistes Palm pihuarvutites kasutati kirjutamiseks tähestikku nimega Graffiti (vt pilt 1), mis sisuliselt kujutas ennast lihtsustatud varianti trükitähtedest. See kindlustas, et enamik inimesi kirjutavad oma teksti sarnaselt ning arvutil pole seda nii raske tuvastada.
MASINTÕLGE
Keeletehnoloogia üks valdkondi on masintõlge. Masintõlge seisneb arvuti abil teksti või kõne tõlkimises ühest keelest teise.
Kõige lihtsam masintõlke variant on sõnastikupõhine. See tähendab, et tõlgitavas tekstis asendatakse sõnastiku abil iga algne sõna vastava sõnaga soovitud keeles. Sõnastikupõhine masintõlge võib olla täiesti piisav, kui tõlgitavaks materjaliks on lihtsad fraasid nagu näiteks "ilus poiss". Küll aga on see võrdlemisi kasutu pikemate lausete tõlkimisel, sest ei võeta arvesse vastavate keelte semantikat ega süntaksit.
Tänapäeval kasutatakse valdavalt statistilist masintõlget. Niisuguse tõlke puhul tõlgitakse tekst vastavalt statistilistele mudelitele, mis saadakse paralleeltekstide analüüsimisel. Paralleeltekstid on sama sisuga mitmes keeles esinevad tekstid, näiteks Euroopa Liidu seadused. Tõlge saadakse tuginedes sellele, kuidas sarnaseid tekste on varasemalt tõlgitud.
Üks tuntuimaid statistilise masintõlke rakendusi on Google Translate. Kindlasti tasub vaadata seda Google'i poolt tehtud videot, mis seletab lihtsasti, kuidas see tõlkimisprotsess täpselt töötab. Video on inglise keeles, kuid saab valida eestikeelsed subtiitrid. Selleks klikkida videoakna all paremas nurgas olevale (hammasratta) nupule ning avanenud menüüst valida subtriiti keeleks eesti keel. Subtiitreid (CC) saab sisse ja välja lülitada ka nupule vajutades.
Google Translate võimaldab tõlkida nii kasutaja enda poolt sisestatud teksti kui ka terveid veebilehekülgi. Lisavõimalustena on saadaval
- kasutatavate keelte virtuaalsed klaviatuurid,
- võimalus sisestatud keel automaatselt tuvastada,
- võimalus vasteid foneetilise kirjapildiga esitada (kui tõlge pole ladina tähestikus),
- võimalus sisestatud sõnade hääldust kuulata.
Osade keelte tõlkega on Google Translate jõudnud arvestatavale tasemele, näiteks inglise-prantsuse tõlge on küllaltki täpne. Sama ei saa väita inglise-eesti tõlke kohta. Tingitud on see nii inglise ja prantsuse keelte suuremast omavahelisest sarnasusest kui ka sellest, et vajalikke paralleeltekste on rohkem.
Google Translate toetab hetkel 80 erinevat keelt, kuid tasub arvestada, et soovides tõlkida näiteks läti keelest mongoolia keelde, kasutatakse vaheastmena inglise keelt. See tähendab, et rakendus tõlgib kõigepealt teksti lätikeelest inglise keelde ja seejärel saadud tulemuse inglise keelest mongoolia keelde.
Tõlkimisel mängib suurt rolli ka teksti sisu. Instruktsioone ja pealiskaudseid dialooge arusaadavalt tõlkida on lihtne, aga ilukirjanduslike teoste või suisa luuletuste tõlkimisel võib saada väga kummalisi tulemusi.
Seda kõige arvestades pole ka imestada, et tõlked tihti peale soovida jätavad.
Tartu Ülikooli Matemaatika-informaatikateaduskonna keeletehnoloogia teadusgrupi masintõlke töörühm on loonud oma väikese eesti-inglise-eesti masintõlkesüsteemi. Vahest annab see süsteem paremaid vasteid kui Google Translate.
Keeletehnoloogiast räägime ka edaspidi silmaringi materjalides.
ALLIKAD
- http://et.wikipedia.org/wiki/Keeletehnoloogia
- http://en.wikipedia.org/wiki/Optical_character_recognition
- http://www.keelekoda.ee/est-ocr-ehk-tekstituvastus/
- http://en.wikipedia.org/wiki/Project_Gutenberg
- http://en.wikipedia.org/wiki/Handwriting_recognition
- http://en.wikipedia.org/wiki/Google_Translate
- http://translate.google.com/about/intl/en_ALL/
Suur tänu Kadri Varele, kes saatis järgmised lingid eesti keelega seotud võimalustele
- Masintõlge, inglise-eesti-inglise: http://tilde.ee/
- Emotsioonituvastaja. Reaalajas töötav emotsioonituvastaja beetaversioon tuvastab aktiivsuse-passiivsuse ning positiivsuse, negatiivsuse, neutraalsuse: https://github.com/EKT1/emotional
- Audiovisuaalse kõnesünteesi prototüüp: http://massy-est.phon.ioc.ee/MASSY/peamudel.php
- Kõnetuvastus. Dikteeri: reaalajaline kõnetuvastus veebibrauseris: http://bark.phon.ioc.ee/dikteeri/
- Kõnele: eestikeelne kõnetuvastus Androidil: https://play.google.com/store/apps/details?id=ee.ioc.phon.android.speak
- Arvutaja: kõnetuvastuse abil kasutatav "intelligentne abimees" Androidile: https://play.google.com/store/apps/details?id=ee.ioc.phon.android.arvutaja
- Diktofon: kõnesalvestaja ja salvestuste transkribeerija Androidile: https://play.google.com/store/apps/details?id=kaljurand_at_gmail_dot_com.diktofon
- Kõnesalvestuste brauser: automaatselt transkribeeritud raadiosaadete arhiiv: http://bark.phon.ioc.ee/tsab/p/index
- Kollokatsioonide tuvastamine https://korpused.keeleressursid.ee/clc/
- EstNLKT: Pythoni teegid eestikeelsete vabatekstide lihtsamaks töötlemiseks https://www.keeletehnoloogia.ee/et/ekt-projektid/estnltk-pythoni-teegid-eestikeelsete-vabatektside-lihtsamaks-tootlemiseks, https://github.com/tpetmanson/estnltk
Materjali koostasid Agnes Lepikult ja Mari-Liis Allikivi. Kohendatud kursuse korraldajate poolt.
< eelmine | 4. OSA sisukord | järgmine > |