Kõnetuvastus

Allikas: Vikipeedia

Kõnetuvastus (inglise speech recognition, lühend SR) on inimkõne sisu automaatne äratundmine arvutustehnika vahenditega[1].

Arvutite kõnetuvastus jõudis praktilise tasemeni 1990. aastatel, kui United Airlines vahetas oma lennuinfo klaviatuurisüsteemi süsteemiga, mis kasutab lennunumbrite ja linnanimede kõnetuvastust.

Kuigi arvuteid on võimalik juhtida häälkäskudega, on enamik kasutajaid jäänud siiski klaviatuuri ja hiire juurde, kuna need on siiani mugavamad. Tänapäeval on kõnetuvastus juba levinud nutitelefonidele.

Ajalugu[muuda | muuda lähteteksti]

1952. aastal lõid firma Bell Labs teadlased süsteemi, mille ülesandeks oli kõneleja poolt lausutud üksikute numbrite tuvastamine kõnesignaalis olevate vokaalide formantsageduste põhjal [2].  1950-ndate ja 1960-ndate aastate jooksul uuriti kõnetuvastust piiratud sõnavara ja selgelt eraldatud sõnade puhul. Samuti tehti katseid kõne sõnadeks segmenteerimisel ja süsteemi võimaliku sõnavara suurendamisel. Rõhk oli reeglipõhistel mudelitel.

1970-ndatel töötati sõnavara suurendamise suunas. Meetoditest tehti esimesi katsetusi statistiliste meetoditega, sh. Markovi peitmudel (Hidden Markov Model, HMM) ja lineaarprognoos (linear predictive coding, LPC). Kasutati ka võtmesõnade tuvastamist. 1970-ndatel tuldi välja ka avalikkusele suunatud kõnetuvastusteenustega, näiteks häälvalimine.

1980-ndatest hakati reeglipõhise lähenemise kõrval rohkem tähelepanu pöörama statistilistele meetoditele (HMM, tehisnärvivõrgud[3]) ja masinõppele. IBMis loodi kõnetuvastusmasin Tangora, mis suutis teisendada öeldud lauseid tähejadadeks ja trükkida need paberile[4]. Oluline oli sõnastiku suurus (20000 sõna) ja masina poolt kasutatav keelemudel, mis hindas, kui tõenäoline on tuvastatud sümbolite järjekorra tõenäosus.

1990-ndatel ületas tüüpiliste kommertskõnetuvastusprogrammide sõnavara keskmise inimese sõnavara hulga. 1993. aastal tõi IBM turule esimese laiatarbe kõnetuvastussüsteemi.  

2000-ndatel aastatel tehti DARPA toetusel kõnetuvastuse uuringuid firmades Effective Affordable Reusable Speech-to-Text (EARS) ja Global Autonomous Language Exploitation (GALE). NSA alustas võtmesõnade tuvastusega suurtes kõnekorpustes 2006. aastal. Google tegi esimesi edusamme 2007. aastal kõnetuvastuse alal, nüüdseks on sellest välja kasvanud Google'i häälotsinguteenus.

Ajalugu Eestis[muuda | muuda lähteteksti]

Küberneetika Instituudi foneetika ja kõnetehnoloogia laboratooriumis tehti esimesed eksperimendid eestikeelse kõnetuvastusega juba kaheksakümnendate lõpus. Aktiivsemalt hakati tuvastusega tegelema 2000-ndate keskel. Suure tõuke andis sellele kahe mahuka eestikeelse kõne andmebaasi (BABEL ja Eesti SpeechDat) loomine, mis võimaldasid treenida juba üsna hästi toimivaid akustilisi mudeleid. Kõneandmebaaside loomine ongi labori üks tähtsamaid tegevusi, mis toetab teisi uurimissuundi. Põhiliseks kõnetuvastusega seotud uurimisobjektiks on olnud keelemudel.

Standardse kõnetuvastuse mudel

Mudeleid[muuda | muuda lähteteksti]

Statistilises kõneanalüüsis kasutatakse nii akustilisi mudeleid kui keelemudeleid. Akustiliste mudelite eesmärgiks on leida kõige sobivamad vasted sisendsignaalile. Keelemudel aitab otsustada, kas leitud vaste sobib ka keele vaatenurgast: koosneb keeles olevatest sõnadest, on grammatiliselt korrektne jne. Akustilisele mudelile ja keelemudelile vastavust kontrollitakse erinevate statistiliste mudelite abil:

Meetodeid[muuda | muuda lähteteksti]

Analüüsimisel rakendatakse mitmesuguseid digitaalse signaalitöötluse meetodeid [5]:

  • Fourier' teisendus (FFT) - ajafunktsiooni teisendamine sagedusspektrit iseloomustavaks funktsiooniks.
  • Spektraalanalüüs - analüüs, mille puhul võrreldakse akustilise energia jagunemist heli erinevate sageduste vahel.
  • Formantanalüüs - formantide e. suurema energiaga sagedusalade kauguste analüüs põhitoonist.
  • Nulltaseme ületamiste hulk (zero-crossing rate, ZCR) - helilaine ajatelje ületamiste (ehk helirõhu null-väärtuste) arv mingis ajavahemikus.
  • Lineaarprognoos (linear predictive coding, LCP) - meetod, mille puhul eeldatakse, et kui teatakse signaali väärtusi mingil ajahetkel, saab prognoosida signaali väärtusi järgmisel ajahetkel.
  • Kepstraalanalüüs (Cepstrum).

Kõnetuvastussüsteemide klassifikatsioone[muuda | muuda lähteteksti]

  • Piiratud sõnavara või piiramatu sõnavara - tuvastatavate sõnade arv on piiratud (seotud mingi valdkonnaga vms) või püütakse tuvastada kõiki sõnu
  • Kõnelejast sõltuv või kõnelejast sõltumatu - süsteemi peab iga kasutaja jaoks eraldi treenima või oskab süsteem arvestada erinevate kasutajate eripäradega
  • Sõnadeks jagatud kõne või sidus kõne - süsteem eeldab, et sisendis olev tekst on sõnadeks jagatud, või oskab ise teksti vajadusel osadeks jagada

Jõudlus[muuda | muuda lähteteksti]

Kõnetuvastussüsteemide jõudlust mõõdetakse täpsuse ja kiiruse põhjal. Täpsust hinnatakse tavaliselt sõna veasagedus (WER – Word Error Rate) põhjal, samas kiirust mõõdetakse reaalajas. Teised mõõdupulgad võivad olla üksiksõna veasagedus (SWER – Single Word Error Rate) ja käsu edusagedus (CSR – Command Success Rate). Kõnetuvastus on riistvara poolest siiski väga keeruline probleem. Inimeste hääled erinevad nii aktsendi, häälduse, liigenduse, sügavuse, nasaalsuse, helikõrguse, -tugevuse ja kiiruse poolest. Häirivad on ka taustahelid ja kajad. Keele täpsuse äratundmine sõltub mitmest tegurist:

  • sõnavara suurus ja keerukus
  • kõneleja sõltuvus või sõltumatus
  • isoleeritud, seisatud või ladus kõne
  • ülesande ja keele piirangud
  • lugemine või spontaane kõne
  • ebasoodsad tingimused

Segavad faktorid[muuda | muuda lähteteksti]

Kõnetuvastust mõjutavad erinevad faktorid [6]:

  • Müra (taust, akustika)
  • Kõneleja eripära (kõne kvaliteet, sugu, keel, kõnelemisstiil, tempo)
  • Tehnilised probleemid (mikrofoni kvaliteet)

Veaparandus[muuda | muuda lähteteksti]

Kõne äratundmise täpsus sõltub mitmest tegurist [3].

  • Veasagedus on võrdelises seoses sõnavara suurusega. Näiteks: kümme esimest arvu "null" kuni "üheksa" tuntakse ära peaaegu täiuslikult, aga sõnavarad suurustes 200, 5000 või 100 000 võivad sisalda veasagedust vastavalt ligi 3%, 7% või 45%.
  • Sõnavara on raske ära tunda, kui see sisaldab keerulisi sõnu. Näiteks: Inglise tähestiku 26 tähte on raske eristada, kuna nende hääldus erineb sõnast sõnasse (kõige kurikuulsam E-komplekt: "B, C, D, E, G, P, T, V, Z"); ligi 8%-list veasagedust peetakse sellise sõnavara puhul heaks tasemeks.[tsitaat puudulik]
  • Kõneleja sõltuvus vs sõltumatus. Kõnelejast sõltuv süsteem on mõeldud kasutuseks ühele kasutajale. Kõnelejast sõltumatu süsteem on mõeldud kõigile, ent on keerulisem.
  • Isoleeritud, seisatud või ladus kõne. Isoleeritud kõne puhul kasutatakse vaid üksikuid sõnu, seega on kergem kõnet ära tunda. Seisatud kõnes kasutatakse terveid lauseid, mis on eraldatud vaikusega, seega on sarnaselt isoleeritud kõnele kergem kõnet ära tunda. Isoleeritud ja seisatud kõnest keerulisem on ära tunda ladusat kõnet, sest kasutatakse loomulikult öeldud lauseid.
  • Ülesande ja keele piirangud. Näiteks võib infopäring loobuda hüpoteesist " Õun on punane." Samuti võivad piirangud olla semantilised ning lükata tagasi fraasi "Õun on vihane," või süntaktilised ning lükata tagasi "Vihane õun on." Piiranguid võib esitada ka grammatika.
  • Loetud vs spontaanne kõne. Kui inimene loeb, siis on see tavaliselt seotud eelneva kontekstiga, aga spontaanse kõne puhul on kõnet ära tunda, sest see on varjutatud kõnekeelsusest tulevatest vigadest (nagu "ee" ja "mm", vale algused, poolikud laused, kogelused, köhimine ja naer) ning piiratud sõnavarast.
  • Ebasoodsad tingimused. Kõnetuvastuse ülesanne on mitmetasemelise mustri äratundmine, mida võivad mõjutada keskkonna helid (autod, tehased) ning akustilised häired (kajad, ruumi geomeetria).
  • Akustilised signaalid on struktureeritud hierarhiariliselt. Näiteks: foneemid, sõnad, fraasid ja laused.
  • Igal hierarhia tasemel on võimalik teha vigu. Näiteks tuntud sõna hääldus või süntaks võib kompenseerida madalamatel tasemetel tehtud vigu. Kõnetuvastusel kasutatakse seda piirangute hierarhiat ära. Madalamatel tasemetel tehtud otsused kombineeritakse vaid tõenäosuslikult ja täpsustavaid otsuseid tehakse vaid kõrgemail tasemetel.

Masinlik kõnetuvastus on mitmest faasist koosnev protsess. Arvutuslikult on ülesanne helimustri äratundmises või klassifitseerimises kategooriasse, mis esindavad tähendust inimesele. Keerulise helisignaali lõhkumisel väiksemateks helisignaalideks luuakse erinevad tasemed. Madalaimal tasemel, mil heli on kõige fundamentaalsem, suudab arvuti lihtsaid tõenäolisusreegleid kasutades kontrollida, mida heli esindab. Kõrgemal tasemel kombineeritud helide puhul määrab uus reeglite kogu, mida uus keeruline heli võiks esindada. Kõige kõrgema taseme reeglite kogu määratleb väljendite tähenduse. Selleks, et laiendada meie kõneteadust, tuleks arvesse võtta neuronvõrgud.

Dikteerimisvigade parandamine[muuda | muuda lähteteksti]

Dikteerimise käigus tehtud vigade parandamiseks on mitmeid viise. Viimasena öeldud fraasi parandamiseks võib kasutaja öelda "Paranda see". Üksiku sõna parandamiseks võib öelda parandatava sõna järel "paranda". Kui sõna ilmneb mitu korda, tõstetakse kõik esinemisjuhud esile ning kasutaja võib valida, millist soovite parandada. Samuti võib funktsiooni "Kõnesõnastik" kasutades lisada korduvalt valesti kuuldud või tuvastamatuid sõnu.

Kõnetuvastus ja Windows OS[muuda | muuda lähteteksti]

Kõnetuvastuse toetamiseks ei vaja lisatarkvara operatsioonisüsteemid Windows Vista, 7 ja 8. Windows XP vajab kasutajaliidese pakkumiseks Microsoft Plusi, Microsoft Office XP või Microsoft .NET Speechi SDK-d.

Rakendused[muuda | muuda lähteteksti]

  • Teksti sisestamise lihtsustamine (eriti nutiseadmete rakendustes): diktofon, telefoniraamat, kaardirakendus, kalkulaator, taimer.
  • Intervjuude, loengute, kõnede jm transkribeerimine: veebipõhine kõnetuvastus, kõnesalvestuse brauser.
  • Kuulmispuuetega inimeste abivahendid
  • Füüsiliste puuetega inimeste abivahendid
  • Keeleõpe
  • Dialoogsüsteemid
  • Meditsiinitekstide dokumenteerimine
  • Autode juhtimissüsteemid
  • Lennujuhtimissüsteemid

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. U. Mereste, 2003. Majandusleksikon. Eesti Entsüklopeediakirjastus. Köide I (A–M).
  2. Juang, B. H.; Rabiner, Lawrence R., 2004. Automatic speech recognition - a brief history of the technology development.
  3. 3,0 3,1 3,2 Learn Artificial Neural Networks: "Speech Recognition"23.12.12.
  4. Pioneering Speech Recognition.
  5. Meister, E.; Alumäe, T., 2010. Kuidas arvuti kuulab ja kõneleb. Horisont, 5.
  6. Alumäe, T.; Kirt, T., 2004. Inimkõne on arvutile võõrkeel. Horisont, 4.