RiconoscimentoVocaleViaDeepLearning

Storia

Il primo passo del riconoscimento vocale è quello di rappresentare il segnale audio mediante una sequenza di vettori di parametri y calcolati su finestre di segnale (frames). Tipicamente questi parametri sono legati ad una rappresentazione spettrale del segnale, come l'uscita di un banco di filtri od il modulo di una FFT, eventualmente applicando una distorsione percettiva all'asse delle frequenze, come nel caso dei MFCC.

I primi sistemi di riconoscimento vocale (anni 70-80) erano basati sulla tecnica del Dynamic Time Warping (DTW), in grado di allineare tra loro sequenze di vettori relative a parole pronunciate a velocità differente, in modo da individuare un percorso di minimo costo all'interno di un grafo (detto traliccio): tale costo viene quindi interpretato come distanza tra coppie di parole. Ripetendo tale calcolo per tutte le parole possibili, quella che ottiene il minimo costo minimo viene dichiarata come riconosciuta.

Successivamente (anni 80-90) si sono affermate le tecniche basate sugli Hidden Markov Models (HMM), in cui l'allineamento ottimo viene eseguito mediante l'algoritmo di Viterbi, ed il traliccio costruito a partire dalla matrice di transizione che definisce la struttura degli HMM utilizzati per rappresentare le unità linguistiche w (parole, fomeni, demisillabe...). Gli HMM sono detti anche modelli acustici in quanto agli stati sono associate le densità di probabilità che descrivono i vettori di parametri y, in modo da assegnare valori di probabilità p(y/w) alle osservazioni, condizionatamente all'ipotesi linguistica w.

Il problema viene quindi tipicamente arricchito specificando un modello di linguaggio capace di assegnare valori di probabilità a sequenze di unità linguistiche W = w1 .. wn, in modo da riformuare il riconoscimento come una decisione di massima probabilità a posteriori, ovvero individuare W* tale che p(Y/W*)p(W*) sia massima.

Avanzamenti

A partire dagli anni 90 si è sviluppato l'approccio legato alle reti neurali (NN), che condividono con gli HMM l'apprendimento dei parametri basato sulla analisi iterativa di dataset: i secondi adottano una tecnica nota come Expectation-Maximization, mentre le prime si basano tipicamente sulla Back Propagation. L'adattamento delle NN al problema del riconoscimento vocale passa da alcuni punti chiave che possono riassumersi in

  • stima delle probabilità di ognuna delle unità linguistiche per ogni frame, anziché decisione per una unica sequenza di minor costo
  • introduzione di elementi con memoria come le RNN e LSTM
  • adozione di tecniche di allineamento temporale come CTC e
  • arricchimento della struttura delle NN mediante livelli profondi (DNN)

e presso Wikipedia troviamo al solito una buona descrizione di tale evoluzione

Letture consigliate

Di seguito vengono elencati una serie di link utili e/o interessanti per affrontare l'argomento di tesi

Reti neurali

Progetto Common Voice di Mozilla

Elaborazione del segnale e classificazione

Web Speech API

Sistemi di riconoscimento Open Source

Dataset Audio

Linguaggi e Ambienti

Modello di linguaggio

Altro