Other translations of this page: None.

2007. a põhitulemused

Statistilise keelemudeli adapteerimine

Suure sõnavaraga kõnetuvastuses kasutatakse statistilist keelemudelit sõnade aprioorse kontekstuaalse tõenäosuse hindamiseks. Tüüpiliselt kasutatakse keelemudelina N-gramm-mudelit, kus eeldatakse, et sõna kontekstuaalne tõenäosus sõltub ainult N-1 temale eelnevast sõnast. Tavaliselt piirdutakse trigramm-mudelitega (N=3). Statistiline keelemudel saadakse suure tekstikorpuse (kümned kuni sajad miljonid sõnad) analüüsi põhjal.

Statistlise keelemudeli adapteerimine on ülesanne, kus väikese olemasoleva teema-spetsiifilise korpuse põhjal kohandatakse üldist keelemudelit nõnda, et ta sobib paremini antud teemale. Kohandamise tulemusena peaks kõikide teemaga lähedalt seotud olevate sõnade ja sõnakombinatsioonide tõenäosused suurenema ning antud teemast semantiliselt kaugel olevate sõnade tõenäosused vähenema.

Meie uurisime lähemalt nn varjatud semantika analüüsi (latent semantic analysis, LSA) põhist statistilise keelemudeli adapteerimismeetodit. LSA abil esitatakse dokumente sellises vektorruumis, kus semantiliselt lähedased dokumendid peaksid automaatselt asetuma üksteise lähedale. Meie lähenemise teeb uudseks see, et selles ei pruugi LSA-mudelis kasutatavad ühikud kattuda keelemudeli ühikutega. See annab võimaluse kasutada semantiliste seoste modelleerimiseks sõnu, lemmasid, morfeeme või muid ühikuid. Treeningu käigus viiakse dokumendikorpuses olevad tekstid soovitud kujule, s.t. leitakse neis olevate valitud ühikute sisaldus. Selle põhjal arvutatakse LSA sarnasusmudel. Kõnetuvastus koosneb siis kahest faasist: esimeses faasis leitakse igale tuvastatavale lausele N parimat lausekandidaati. Parimad lausekandidaatid viiakse LSA-mudeliga ühilduvale kujule (s.t., näiteks lemmatiseeritakse) ning selle põhjal leitakse aktiivse teema kujutis LSA-ruumis. Seejärel leitakse antud teemale kõige lähedasemad treeningdokumendid ning nende põhjal kohandatakse esimeses faasis kasutatud üldist keelemudelit. Saadud adapteeritud keelemudeli abil arvutatakse esimeses faasis saadud lausekandidaatidele uued keelemudeli-põhised skoorid ning selle põhjal leitakse uued parimad lausehüpoteesid.

Esialgsed eksperimendid suhteliselt väikese hulga uudistesaadete salvestuste tuvastamisel näitasid, et kõigi kolme mudeliga saavutatakse oluline kõnetuvastuse kvaliteedi paranemine. Morfeemi-põhise mudeliga saadud 10-protsendiline suhteline tähevigade vähenemine oli statistiliselt oluliselt suurem kui lemma- ja sõna-põhise mudeliga saadud muutused.

Väldete modelleerimine silbikestuste suhete abil

Akustilise modelleerimise alal uuriti eesti keele vältevastanduse modelleerimist. Kuna välde on suprasegmentaalne nähtus, ei saa välteid modelleerida hääliku tasemel Markovi peitmudelitega. Eksperimendid on näidanud automaatse segmenteerimise abil saadud silpide kestvussuhete head vastavust logaritmilisele normaaljaotusele, kuid ka kolmele erinevale vältele vastava jaotuse suurt omavahelist kattuvust. Esimese, teise, ja kolmanda välte silbikestuste vahemikud olid meie eksperimentides vastavalt 0,6-0,1; 1,5-2,6 ja 2,1-4.0, mis on lähedased varasematele käsitsi tehtud mõõtmistel saadud tulemustele. Meie eksperimentides on kestussuhete varieeruvus suurem, mis on seletatav morfoloogia analüsaatori vigadega teise ja kolmanda välte identifitseerimisel ning autosegmenteerija vigadega sõna lõpu määramisel.

Eksperimendid kinnitasid, et tuvastuskvaliteedi parandamiseks on otstarbekas arvutada tuvastuse käigus silpide kestuste suhe ja kasutada seda ühe informatsiooniallikana sõna akustilise tõenäosuse arvutamisel.

Autosegmenteerija väljatöötamine

Autosegmenteerija on tarkavara, millega saab segmenteerida eestikeelset kõnet sõnadeks ja häälikuteks, kasutades Markovi peitmudelitel põhinevaid kõnetuvastuse akustilisi mudeleleid. Segmenteerimiseks peab kõne olema juba sõnade tasemel transkribeeritud, autosegmenteerimise käigus leitakse automaatselt sõnade ja sõnades olevate häälikute piirid.

Sõna- ja häälikupiirid leitakse Markovi peitmudelite parameetrite põhjal, mis on omakorda treenitud suurte kõneandmebaaside põhjal. Treenimisel pole kasutatud foneetikute poolt segmenteeritud kõnet, vaid ainult lause tasemel transkribeeritud kõnet. Seetõttu pole kuidagi tagatud see, et autosegmenteerija poolt leitud piirid ühtiksid foneetiliselt põhjendatud piiridega. Lisaks sellele, autosegmenteerija piiride leidmine toimub 10 ms täpsusega.

Segmenteerimiseks on vajalik teada kõigi sõnade hääldust, s.t. häälikute tasemel transkriptsiooni. Autosegmenteerija suudab automaatselt tuletada häälduse sõna ortograafiast, kasutades selleks lihtsaid kontekstitundlikke reegleid. Kuna aga liitsõnaosade piiride läheduses esineb häälduses olulisi kõrvalekaldeid lihtsõna hääldusest (näit hääldatakse /t/ sõnas ‘rahutu’ teisiti kui sõnas ‘rahutuvi’), peab liitsõnaosad transkriptsioonis üksteisest sidekriipsuga eraldama (näit ‘rahu-tuvi’).

Segmenteerija suudab ise leida ja mägendada sõnadevahelised täidetud pausid, nagu köhatused, kõhklushäälitsused, mürad jms. Autosegmenteerija täidab sellised pausid ise sobivate ühikutega.

Segmenteerimistulemused väljastatakse Praat TextGrid formaadis: TextGrid formaadis failis on nii sõna-tasemel kui ka hääliku-tasemel segmenteerimispiirid.

Autosegmenteerija on teostatud Java Web Start rakendusena ja ta on käivitatav otse labori veebilehelt. Rakenduse lähtekood on kasutatav GPL litsensi alusel.

 
projects/tuvastus/tulemused2007.et.txt · Last modified: 2008/02/26 12:33 by tanel