Prije nego se govor može svrstati u kategoriju jezika kojemu pripada mora se detektirati u audio zapisu. Identifikacija jezika je bitan prvi korak u mnogim sustavima za procesiranje govora. Sa porastom broja pomagaća temeljenih na prepoznavaju glasa, identifikacija jezika se javlja kao sve više istraživano polje.[1] Metode za identifikaciju jezika iz audio zapisa se temelje na umjetnoj inteligenciji i strojnom učenju. U slučaju ove teme umjetna inteligencija i strojno učenje su najbolji pristup jer u protivnom kod za detekciju jezika koji pokriva sve moguće jezike ne bi bio ostvariv zbog ogromne količine mogućih slučajeva.
Keywords: language recognition, voice recognition, neural networks, artificial intelligence
Prepoznavanje govora je višedisciplinarno polje računarske znanosti i računarske lingvistike koje razvija metodologije i tehnologije koje omogućuju prepoznavanje i prevođenje jezika govornika u tekst od strane računala. Sastoji se od znanja i istraživanja u poljima računarske znanosti, lingvistike i računarskog inženjerstva.[2] Detekcija govora, detekcija jezika i računalno izvršavanje akcija prema detektiranim naredbama se široko koristi u današnje vrijeme. Neke od primjena su sustavi u automobilima. Korisnik umjesto da mora pritiskati gumbe na radiju može samo pritisnuti gumb na volanu koji uključuje prepoznavanje glasa i time može kontrolirati radio ili pokretati pozive. Većina mobilnih uređaja koji se proizvode su pametni telefoni i oni imaju u sebi implementiran sustav za prepoznavanje govora. Korisnik može pretraživati internet ili obaviti bilo koju akciju mobilnog uređaja samo izgovaranjem naredbe. U nekim video igrama se također koristi prepoznavanje glasa kako bi se korisnika uživilo dublje u iskustvo.
Identifikacija jezika je problem koji se temelji na klasifikaciji jezika govornika na audio snimci. Za klasifikaciju jezika se najčešće koriste konvolucijske neuronske mreže. Neuronske mreže i strojno učenje općenito se temelje na sustavu koji ima generalizirano dizajniran algoritam i prilagođava se specifičnim podacima koje dobiva tj. “uči”.
Slika 1: Primjer umjetne neuronske mreže [3]
Umjetne neuronske mreže su kreirane na uzor neurona i sinapsa nađenih u ljudskom mozgu. Prvi sloj neuronske mreže je ulazni sloj. Na taj sloj dolaze podaci koje neuronska mreža treba klasificirati. Svaki neuron komunicira sa samo nekim ili svim neuronima sljedećeg sloja. Na taj način se se podaci propagiraju do zadnjeg sloja gdje se isčitava izlaz. Ovisno o pogrešci klasifikacije se tada neuroni zaslužni za krivu klasifikaciju ažuriraju na nove vrijednosti kako bi točnije u budućnosti klasificirali taj jedan primjer. Ovo je opis nadziranog strojnog učenja. Skup podataka u nadziranom strojnom učenju ima kombinacije ulaza i izlaza kako bi mreža znala kad očekivani rezultat ne odgovara dobivenom rezulatu za neki ulaz.
Još jedan bitan dio za rad umjetnih neuronskih mreža su hiperparametri. Hiperparametri su značajke bilo kojeg modela strojnog učenja koji određuju složenost tog modela. Primjerice hiperparater može biti stupanj nelinearnosti modela. Modeli će imati više takvih hiperparametara i za njihovo optimiranje se koriste razne metode kao što su pretraga po ćelijama. Pretraga hiperparametara se eksponencijalno skalira s brojem hiperparametara pa se u slučajevima mnogo hiperparametara može koristiti i nasumično pretraživanje sa brojem pretraga postavljenim na mnogo manje nego maksimalni broj kombinacija hiperparametara.
Kako bi se umjetna neuronska mreža mogla početi trenirati, treba pripremiti set podataka za treniranje. Ti podaci moraju biti u obliku parova ulaza i izlaza. Na ulaz umjetne neuronske mreže se dovodi snimka glasa i na izlazu se očekuje klasifikacija u jedan od jezika. Kada mreža pogriješi, neuroni se ažuriraju s novim vrijednostima.
Priprema skupa podataka se temelji na tome da čovjek u potpunosti treba preslušati i označiti svaki primjer audio snimke sa jezikom koji se javlja u toj snimci. Kada je jednom skup podataka spreman mora se još podijeliti na dva dijela. Veći podskup podataka, obično oko 70%, se koristi za treniranje mreže, dok se 30% podataka koristi za utvrđivanje ispravnog rada. Dok je bolje imati što više primjera i što više treniranja mreže, previše može dovesti do prenaučenosti. Prenaučenost znači da će umjetna neuronska mreža jako dobro klasificirati primjere koji su korišteni za treniranje, ali onda neće dobro klasificirati nove, još ne viđene primjere. Druga strana ovoga je podnaučenost. Ako umjetna neuronska mreža nema dovoljno primjera za treniranje, onda neće klasificirati dobro niti primjere za učenje niti primjere za validaciju.
Slika 2: Ovisnost pogreške umjetne neuronske mreže o količini treniranja [4]
Primjer pripreme podataka iz rada Spoken Language Identification using ConvNets [6] opisuje da pošto je prosječna frekvencija ljudskog glasa oko 300Hz, prema Shannon-Nyquistovom teoremu treba se uzorkovati audio snimka sa bar 8kHz kako bi se sve korisne frekvencije, od 0 do 300Hz, zadržale.
Konvolucijska mreža je tip neuronske mreže koji se inače koristi za klasifikaciju slika zbog načina na koji može mnogo piksela slike pročitati tako da podijeli sliku u dijelove i ne gleda svaki piksel pojedino. Tako u ovome slučaju ne učitava tekst riječ po riječ već skupinu riječi po skupinu.
Slika 3: Primjer učitavanja podataka u konvolucijsku neuronsku mrežu [5]
Slika 3 demonstrira kako izgleda učitavanje kod dvodimenzionalne neuronske mreže koja u ovom slučaju služi za klasifikaciju slika. Tako će primjerice kod analize jezika biti korištena jednodimenzionalna neuronska mreža, ali postoji i mogućnost za korištenje dvodimenzionalne.
Jednodimenzionalna konvolucijska neuronska mreža korištena u radu Spoken Language Identification using ConvNets [6] kao ulaz u mrežu koristi sirovi audio sa snimke. Optimizacija hiperparamera je napravljena nasumičnim pretraživanjem zbog kombinatorne eksplozije broja hiperparametara. Prenaučenost je spriječena primjenom metode izostavljanja. Pri radu neuronske mreže se nasumično gasi ažuriranje nekih neurona kako ne bi stekli preveliku međuovisnost. [7]
Kako bi se audio snimka prebacila u dvodimenzionalnu domenu potrebno je koristiti postupak kao što je Log-Mel spektrogram. Postupak je audio snimku pretvoriti u spektrogram korištenjem Fourierove transformacije te skalirati na logaritamsku skalu. Nakon ovog postupka audio snimka postaje slika i može ju se učitati kao dvodimenzionalni ulaz. U ovoj mreži se koristi i više sakrivenih slojeva nego u prethodnoj mreži jer je obrada kompleksnija. Također je korištena metoda nasumičnog pretraživanja kako bi se optimirali hiperparametri. Eksperimentirano je sa dvije veličine slike, jedna 64×64 piksela, a druga 128×128 piksela i zaključeno kako je veća rezolucija davala bolje rezultate.
Također je probana metoda mješanja podataka koja služi za prevenciju prenaučenosti modela tako da se neuronskoj mreži na ulaz pošalje linearna kombinacija 2 nasumična ulazna spektrograma.
Još naprednija verzija nego dvodimenzionalna mreža je dvodimenzionalna mreža s vratima s ponavljajućom jedinicom (eng. Gated recurrent unit GRU). Ovaj pristup se koristi kada prethodni ulazi imaju utjecaja na buduće ulaze.
Jezici | Ulaz u mrežu | Tip mreže | Mješanje | Preciznost |
---|---|---|---|---|
En, Es, Fr, De, Ru, It | Audio | 1D mreža | Ne | 93.7 |
Log-Mel spektar | 2D mreža | Ne | 94.3 | |
Da | 95.4 | |||
2D mreža sa GRU | Ne | 94.3 | ||
Da | 95.0 | |||
En, Es, Fr, De | Audio | 1D mreža | Ne | 94.4 |
Log-Mel spektar | 2D mreža | Ne | 96.0 | |
Da | 96.3 | |||
2D mreža sa GRU | Ne | 94.7 | ||
Da | 93.7 |
Tablica 1: Rezultati obje mreže i njihovih varijacija [6]
Nekoliko jezika koji se koriste u Europi pripadaju Indo-Europskoj obitelji jezika. Tri jezika ovdje pripadaju Germanskim jezicima, dva pripadaju Romanskim, a jedan Slavenskim. Model je imao problema sa klasifikacijom jezika koji pripadaju istim obiteljima. Isto tako je bilo problema sa razlikovanjem Francuskog i Ruskog jer iako ne pripadaju istoj obitelj, puno riječi Ruskog je preuzeto iz francuskog i imaju sličan izgovor. [6]
Dok postoji nekoliko različitih tehnika za analizu jezika iz ljudskog govora, sve se temelje na primjeni strojnog učenja i specifičnije umjetnih neuronskih mreža. Najpreciznije od ova tri pristupa je ispala dvodimenzionalna neuronska mreža bez povratne veze, sa prosječnom preciznosti od 95.4%.
[1] Spoken Language Identification using ConvNets, https://arxiv.org/abs/1910.04269 (12/1/2021)
[2] Speech recognition, https://en.wikipedia.org/wiki/Speech_recognition (12/1/2021)
[3] Artificial neural network architecture, https://www.researchgate.net/figure/Artificial-neural-network-architecture-ANN-i-h-1-h-2-h-n-o_fig1_321259051 (12/1/2021)
[4] Deep neural networks: preventing overfitting, https://www.jeremyjordan.me/deep-neural-networks-preventing-overfitting/ (13/1/2021)
[5] A Comprehensive Guide to Convolutional Neural Networks https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53 (13/1/2021)
[6] Sarthak, Shikhar Shukla, Govind Mittal: Spoken Language Identification using ConvNets https://arxiv.org/pdf/1910.04269.pdf
[7] Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., Salakhutdinov, R.: Dropout: a simple way to prevent neural networks from overfitting. The journal of machine learning research 15 https://jmlr.org/papers/volume15/srivastava14a/srivastava14a.pdf