Improving the effectiveness of voice activation systems with machine learning methods
Abstract
Modern devices are more frequently equipped with voice control. Using speech to operate is a natural and efficient approach. However, incorporating voice control poses the following problem: how users should initiate a dialogue. One way is to process the whole audio stream. This solution raises privacy concerns and requires a lot of computational and network resources. Also, the problem of differentiating the user’s command and non-relevant speech appears in such a setup. The alternative is to use a voice activation: initiating a voice dialogue by pronouncing the pre-defined keyword or keyphrase. The problem of finding such pre-defined keyphrase in the audio stream is called “keyword spotting” and can be adequately solved with the computational resources in modern embedded devices. This mitigates the privacy problems, requires less computational resources, and simplifies the problem of detecting a non-relevant speech: if the keyphrase is a-prior rare, its utterance is a good signal, that the user wants to start an interaction. Since the task of formulating an algorithm for determining whether a keyphrase has been uttered in an audio stream is difficult, it is not surprising that machine learning methods have long been used for voice activation systems. Most of modern research in keyword spotting is focused on well-resourced setups and tuning and proposing deep learning methods to improve the detection quality. This dissertation consists of an introduction, three main chapters, and general conclusions. The first chapter reviews existing research on voice activation systems, proposes the general structure of such a system and introduces the Lithuanian dataset for training a voice activation system. The second chapter investigates acoustic feature pipelines used in modern voice activation systems, studies the simplification trend in acoustic feature extraction, and shows the importance of pipeline hyperparameter tuning for achieving the best results. Also, the chapter discusses acoustic units used in keyword spotting and how to use training samples with these units effectively. The approach to detect keyword repeats to improve the recall of a voice activation system is proposed at the end of the second chapter. Chapter three presents new methods to build a voice activation system in a low-resource setup. The performed experiments and analysis have demonstrated that all main parts of a voice activation system (acoustic feature pipeline, acoustic model, and decoding) are important for achieving a good detection quality. Also, the proposed pre-training method for voice activation in a low-resource setup shows the accuracy improvements of a voice activation system by 10% when the number of samples per keyword is seven or less and by 29% if the number of samples per keyword is five or less. Furthermore, the best accuracy for the Lithuanian dataset was improved from 89.23% to 93.85% by the proposed joint training method. Vis daugiau modernių įrenginiu˛ turi valdymo balsu galimybę. Kalbos naudojimas yra natūralus ir efektyvus prietaiso valdymo būdas. Tačiau realizuojant valdymo balsu funkcionalumą iškyla problema: kaip vartotojai turėtų pradėti dialogą. Vienas ˙ iš būdų yra apdoroti visą garso srautą. Šis sprendimas kelia susirūpinimą dėl konfidencialumo bei reikalauja daug skaičiavimo ir tinklo išteklių. Taip pat atsiranda vartotojo komandų ir nesusijusios kalbos išskyrimo problema. Alternatyva yra naudoti balso dialogo inicijavimą ištariant iš anksto nustatytą reikšminį žodį arba reikšminę frazę. Tokios, iš anksto nustatytos, reikšminės frazės radimo garso sraute problema vadinama reikšminių žodžių aptikimu (angl. keyword spotting) ir gali būti tinkamai išspręsta naudojant šiuolaikinių įterptųjų įrenginių (angl. embedded devices) skaičiavimo išteklius. Tai sumažina konfidencialumo problemas, reikalauja mažiau skaičiavimo resursų ir supaprastina nesusijusios kalbos aptikimo problemą: jei reikšmine frazė yra a priori reta, jos ištarimas yra geras signalas, kad vartotojas nori pradėti sąveiką. Atsižvelgiant į tai, kad užduotis suformuluoti algoritmą, siekiant nustatyti, ar garso sraute buvo ištarta reikšmine frazė, yra sunkiai formalizuojama, nenuostabu, kad euristiniai algoritmai ir mašininio mokymosi metodai plačiai taikomi balso aktyvavimo problemai spręsti. Absoliuti dauguma šiuolaikinių tyrimų šioje srityje naudoja gerai paruoštus resursus. Disertaciją sudaro įvadas, trys pagrindines dalys bei išvados. Pirmoje dalyje pateikta balso aktyvavimo sistemų mokslinių tyrimų apžvalga. Šios dalies pabaigoje siūloma bendra tokios sistemos struktūra. Antroje dalyje pateikiamas akustinių požymių, naudojamų šiuolaikinėse balso aktyvavimo sistemose, tyrimas. Šioje dalyje taip pat pristatomas autoriaus sukurtas balso aktyvavimo sistemos duomenų rinkinys, skirtas lietuvių kalbai. Taip pat aptariami akustiniai vienetai, kurie naudojami reikšminiams žodžiams aptikti. Siūlomas reikšminių žodžių pasikartojimų aptikimo būdas, siekiant pagerinti balso aktyvavimo sistemos atsaką. Tai pasiekiama, keičiant balso aktyvavimo sistemos dekodavimo stadiją. Trečioje dalyje pateikiami keli nauji balso aktyvavimo sistemų kūrimo būdai, skirti darbui su mažais ištekliais. Atlikti eksperimentai ir analize parodė, kad visos pagrindinės balso aktyvavimo sistemos dalys: akustinių požymių gavimo algoritmas, akustinis modelis, dekodavimas yra svarbios siekiant gauti gerą aptikimo kokybę. Taip pat siūlomas išankstinio paruošimo metodas, naudojant žemus resursus, parodo, kad balso aktyvavimo sistemos tikslumas padidėja 10 %, kai pavyzdžių skaičius reikšminiam žodžiui yra 7 ir mažiau, ir 29 %, kai pavyzdžių skaičius reikšminiam žodžiui yra 5 ir mažiau. Be to, geriausias lietuvių kalbos duomenų rinkinio tikslumas buvo pagerintas nuo 89,23 % iki 93,85 %.