Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
< eelmine | 6. OSA sisukord | järgmine > |
6.2 Keeletehnoloogia II
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 veaprotsendiga. 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 kasutavad 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, et kuidas helifailile vastavat teksti leida.
Kõnetuvastust kasutatakse paljudes erinevates valdkondades. Võib olla olete kasutanud kõnetuvastust oma mobiiltelefoniga suhtlemiseks. Näiteks on populaarsel mobiiltelefonil iPhone kõnetuvastusprogramm Siri, millele saab anda käsklusi nagu näiteks “Saada mu naisele sõnum, et jään hiljaks” või “Leia lähedalasuvad bensiinijaamad”. Siri töötab päris suure täpsusega, aga kahjuks eesti keeles seda kasutada pole võimalik. Lisaks on kõnetuvastus üha enam olemas autodes, et juhtidel oleks lihtne sõidu ajal kõnesid teha ja samal ajal sõitmisele keskenduda. Kindlasti on üheks oluliseks kasutuseks ka kurtidega suhtlemise võimaldamine, kus räägitud jutu saab kohe tekstiks teisendada.
Kõnetuvastusel on oluline koht automaattõlkimise juures. Näiteks ingliskeelselt 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 -teksti, mis võib samuti tuvastamist segada.
Ka Eesti Foneetika ja Kõnetehnoloogia Laboratoorium tegeleb kõnetuvastuse probleemiga (https://phon.ioc.ee/dokuwiki/doku.php?id=projects:tuvastus:veebituvastus.et). Proovige nende rakenduse abil oma kõnet tuvastada lasta: http://bark.phon.ioc.ee/webtrans/
Kui oskate natuke inglise keelt, võite proovida allolevaid rakendusi, et oma juttu tõlkida. (Siin ei pea seda eelnevalt salvestama, vaid saab kohe rääkida. Peab ainult lubama veebilehitsejal mikrofoni sisendit kuulata. Selleks ilmub veebilehtitseja aadressiriba alla märge, et antud veebisait soovib kasutada teie mikrofoni. Klikkida "Luba" (ingl. k "Allow") nupul.
NB! Järgmised programmid töötavad kõige paremini Google Chrome' veebilehitsejaga .
TEHISINTELLEKT JA KEELETEHNOLOOGIA
Tehisintellektika on informaatika haru, mis tegeleb intellekti simuleerimisega arvutitel. Intellektiks nimetatakse inimolendite kõrgemaid intellektuaalseid protsesse (mõistuslikkus, tähenduse väljauurimine, üldistamine, kogemustest õppimine). Näiteks kuuluvad siia programmid, mis mängivad kasutajaga malet või trips-traps-trulli, programmid, mis tegelevad erinevate probleemide lahendamisega või programmid, mis inimesega suhtlevad. Viimase headuse mõõtmiseks kasutatakse näiteks Turingi testi. Seda testi mainiti ka silmaringi teemas “Katkeid programmeerimise ajaloost”. Programm läbib selle testi, kui inimene, kes arvuti vahendusel temaga suhtleb, ei suuda vahet teha, kas ta suhtleb inimese või programmiga. Selliste suhtlusprogrammide loomine haakub ka keeletehnoloogiaga. Selleks, et inimesega suhelda, peaks programm aru saama, mida inimene mõtleb, ehk peaks aru saama lause ja jutu kontekstist. Näiteks, et kui inimene küsib, et “Mis on sinu lemmiktegevus?”, siis programm peaks aru saama, et see on küsimus ja vastuseks võiks olla mingi tegevus, mis oleks samas loogiline jätk jutule. Selle saavutamiseks on erinevaid viise. Tihti kasutatakse siin jällegi masinõpet. Programmile tutvustakse erinevaid päris vestlusi ning programm õpib, millised laused kokku sobivad.
Üheks selliseks programmiks, mis inimesega suhtleb, on juturobot Cleverbot. Proovige temaga rääkida siin: http://www.cleverbot.com/.
See juturobot oskab ka eesti keeles vastata, aga sisukamaid vestlusi saab teha inglise keeles. Seda seetõttu, et Cleverbot õpib vastuseid temaga peetud vestlustest (temaga on räägitud üle 150 miljoni vestluse!), mis on enamasti toimunud inglise keeles. Cleverbot võib olla õppinud ütlema ka rumalaid sõnu, nii et ärge ehmatage, kui ta kogemata ebaviisakas on!
Keeletehnoloogiat kasutatakse 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:
Tihti muretsetakse, et kas arvutid suudavad ka päriselt ise mõtlema hakata ja omada teadvust. Kui programmeerimisega natukene tuttavamaks saada, siis on lihtne mõista, et arvutid teevad siiski vaid seda, mida neid on õpetatud tegema. Ehk täidavad inimese poolt programmeeritud käske. Siiski keerulisemate algoritmide abil (masinõpe) on võimalik panna neid ise keskkonnast uusi asju juurde õppima ja selle abil oma otsuseid muutma. Arvutid küll ise teadvust ei oma (ning ei suuda oma tegevust ise mõtestada), aga neid on võimalik programmeerida nii, et tunduks, nagu nad teaksid, mida nad teevad. Mõelge, kas Teie arvates on see probleem ning mida positiivset või negatiivset selles näete?
ALLIKAD
- http://en.wikipedia.org/wiki/Artificial_intelligence
- http://en.wikipedia.org/wiki/Speech_recognition
- http://et.wikipedia.org/wiki/Keeletehnoloogia
Materjali koostasid Agnes Lepikult ja Mari-Liis Kruup. Kohendatud kursuse korraldajate poolt.
< eelmine | 6. OSA sisukord | järgmine > |