WaveNet: strojno učenje za sintezo govora

Matej Huš

11. sep 2016 ob 15:26:33

Računalniki znajo že nekaj časa sintetizirati govor (temu pravimo TTS oziroma text-to-speech), a ne glede na uporabljeno metodo rezultati vedno zvenijo vsaj malo umetno. Človeški govor pač ni golo nizanje vnaprej naučenih glasov, temveč na vsak glas vplivajo tudi tisti pred njim in tisti za njim. Možnih kombinacij je ogromno, in to kar kliče po uporabi strojnega učenja. Googlov DeepMind se je lotil tudi tega problema in rezultati kažejo, da so na pravi poti.

Pokazali so delovanje sistema, ki so ga poimenovali WaveNet. Z njim želijo preseči klasične metode, kakršni sta vezani TTS (concatenative TTS), kjer gre za zlaganje fragmente iz velikih baz različnih glasov, in parametrični TTS. Trenutno preizkušajo ameriško angleščino in mandarinsko kitajščino, ki v WaveNetu zvenita bolj naravno kot pri konvencionalnih sistemih za sintezo govora, a še vedno manj naravno od človeških govorcev.

WaveNet še ni nared za komercialno uporabo, ker je računsko še preveč zahteven, da bi se lahko pogovarjali z osebnim računalnikom. Lahko pa DeepMindovi spletni strani poslušamo, kako vse skupaj zveni. Razvoj dobrega sintetizatorja govora postaja čedalje pomembnejši, saj glasovni pomočniki rastejo kot gobe po dežju - Google Now, Siri, Alexa, Cortana itd. Vsi ti bi radi govorili čim bolj podobno ljudem.

Več podrobnosti razkriva Google v dveh strokovnih člankih, poljudneje pa na blogu. V principu gre za konvolucijsko nevronsko mrežo, ki se uči na vzorcih človeškega govora, da zna potem tvoriti človeško zveneče glasove. Še vedno pa potrebuje jezikoslovna pravila in vzorce, sicer ustvarja lepo zveneče nesmisle.