Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi informaatika didaktika töörühm
< eelmine | 7. OSA sisukord | järgmine > |
7.4 Silmaring. 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 ümbrikute sorteerimise automatiseerimisel. Üks tekstituvastuse algseid ja edukalt täidetud eesmärke oli aga pimedatele tekstide ettelugemise võimaldamine.
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, mis sisuliselt kujutas endast lihtsustatud varianti trükitähtedest. See kindlustas, et enamik inimesi kirjutavad oma teksti sarnaselt ning arvutil pole seda nii raske tuvastada.
Allikas: https://avery.cafe/blog/using-a-palm-pda-in-2022/
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 ja süntaksit ega ka sõnade tähendust lause või terve teksti kontekstis.
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 varem tõlgitud.
Lähemalt masintõlke ajaloo ja meetodite kohta võite lugeda Heiki-Jaan Kaalepi ja Mare Koidu artiklist "Kuidas masin tõlgib".
Üks tuntumaid statistilise masintõlke rakendusi on Google Translate. Kindlasti tasub vaadata seda Google'i tehtud videot, mis seletab lihtsasti, kuidas see tõlkimisprotsess täpselt töötab. Video on inglise keeles, kuid saab valida eestikeelsed subtiitrid.
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 keele suuremast omavahelisest sarnasusest kui ka sellest, et vajalikke paralleeltekste on rohkem.
Google Translate toetab hetkel 133 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äti keelest 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.
Tartu Ülikooli arvutiteaduse instituudi keeletehnoloogia teadusgrupi masintõlke töörühm on loonud oma väikese eesti-inglise-eesti masintõlkesüsteemi. Vahel annab see süsteem paremaid vasteid kui Google Translate.
Lisaülesanne: Proovi aadressil https://neurotolge.ee/ asuvat rakendust mõne lause tõlkimiseks ning võrdle saadud tulemust Google Translate'i poolt pakutuga. Näiteks võid proovida lauseid "Ära pane teda tähele", "Mind pole küll vaja aidata" või mõnda muud meelepärast.
KÕNETUVASTUS (seadmete juhtimine häälega)
Üks olulistest keeletehnoloogia valdkondadest on kõnetuvastus. Kõnetuvastus tegeleb inimkõne sisu tuvastamisega ja tekstiks teisendamisega. Ülesanne tundub esialgu keeruline ja eks ta seda olegi, kuid siiski leiduvad meetodid, kuidas inimkõne tekstiks teisendada suhteliselt väikese veamääraga. Kõigepealt tuleb kõne salvestada digitaalsel kujul ja edastada arvutile, nii nagu ikka helifaile arvutis esitatakse. Helifaili saab seejärel ette anda programmile, mis leiab vastava teksti. Selleks kasutatavad algoritmid on päris keerulised ja põhinevad masinõppel. Masinõpe siinkohal tähendab, et programmile tutvustatakse sõnade (helifailide kujul) ja õigete tekstide paare ning programm püüab ära õppida, kuidas helifailile vastavat teksti leida.
Üks näide kõnetuvastusest on mobiiltelefonil iPhone kõnetuvastusprogramm Siri. Sama põhimõttega kasutatakse seda ka robootika valdkonnas, näiteks humanoid (kujult inimest meenutav robot) NAO peab aru saama talle antud käsklusest (kõnetuvastus) ja siis sellele mõistlikult reageerima. Võite vaadata videot NAO toimetamisest siit:
Kõnetuvastusel on oluline koht automaattõlkimise juures. Näiteks inglise keeles räägitud jutt tuvastatakse ja teisendatakse tekstiks, siis tõlgitakse arvuti abil ning seejärel esitatakse see näiteks eesti keeles. Väga hästi töötavaid lahendusi sellele ülesandele veel ei leidu, aga kõnetuvastus mängiks seal olulist rolli. Kas suudate ka ise kõnetuvastuse rakendamise ja vajalikkuse näiteid välja mõelda?
Eriti raskeks teeb kõnetuvastuse see, et inimestel on erinevad aktsendid ja sõnu hääldatakse erinevalt ning ka erineva kiiruse ja rõhuasetusega. Lisaks on sageli kuulda taustamüra või -kõne, mis võib samuti tuvastamist segada.
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/Handwriting_recognition
- http://en.wikipedia.org/wiki/Google_Translate
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
- 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/search?q=diktofon&c=apps
- Kõnesalvestuste brauser: automaatselt transkribeeritud raadiosaadete arhiiv: https://bark.phon.ioc.ee/tsab/p/index
- Kollokatsioonide tuvastamine https://korpused.keeleressursid.ee/clc/
- EstNLKT: Pythoni teegid eestikeelsete vabatekstide lihtsamaks töötlemiseks https://github.com/tpetmanson/estnltk
Materjali esialgse variandi koostasid Agnes Lepikult ja Mari-Liis Allikivi. Materjali täiendas Karolina Samasev. Kohendatud kursuse korraldajate poolt.
< eelmine | 7. OSA sisukord | järgmine > |