Appendice C. Algoritmo token passing per il riconoscimento del parlato continuo Algoritmo token passing per il riconoscimento del parlato continuo Il modello Token Passing (Passaggio del gettone) L’ottimizzazione dei costi di un processo rappresentato dal grafo degli stati può essere ottenuto con il Principio di Ottimalità (figura C.1). Per calcolare il costo minimo e/o costruire il cammino ottimo è necessario memorizzare per ogni stato lo stato di provenienza ottimo: ciò può essere fatto con un vettore o una matrice a seconda del tipo di grafo degli stati oppure con un record collegato ad ogni stato che può contenere anche il costo locale accumulato. E’ utile, per generalizzare l’elaborazione, definire gettoni ( Token) che permettono il trasferimento delle informazioni da uno stato a tutti i suoi stati successivi (Token Passing Model). Ogni stato genera, dopo aver effettuato la scelta locale ottima, un gettone che contiene il costo accumulato incrementato del costo di transizione e che viene trasferito ad ogni stato successivo. Il gettone può contenere altre informazioni come un puntatore o lo stato di provenienza. 104 Appendice C. Algoritmo token passing per il riconoscimento del parlato continuo Figura 1 Grafo degli stati e determinazione del cammino ottimo con il principio di ottimalità e modello passaggio del gettone (Token Passing Model) Se interessa conoscere solo lo stato finale ottimo ed il suo costo il gettone contiene il solo costo accumulato. Gli HMM (o la DTW) per il riconoscimento di parole singole sono bidimensionali: il tempo è sull’asse orizzontale e su quello verticale vi sono gli stati delle singole parole. I nodi sono definiti dall’intersezione delle corrispondenti coordinate. La parola più verosimile è ottenuta alla fine dell’emissione (tempo T discreto) individuando quella il cui stato finale ha costo accumulato minimo. Riconoscimento del parlato continuo Per il riconoscimento del parlato continuo si devono concatenare gli HMM delle singole parole. 105 Appendice C. Algoritmo token passing per il riconoscimento del parlato continuo Figura. 2 Evoluzione dei diagrammi di stato per il riconoscimento del parlato continuo In Fig 2 è rappresentata l’evoluzione dei diagrammi di stato di parole concatenate. La fine di una parola è stabilita dal confronto della probabilità dello stato finale con quella degli altri stati (della stessa parola). La parola è considerata riconosciuta quando la probabilità dello stato finale della sua HMM supera una determianta soglia (dipendente anche dalle probabilità degli altri stati con un opportuno criterio). A riconoscimento avvenuto si passa ad un’altra parola con la probabilità condizionata delle parole dei bigrammi (che assumiamo indipendente dalla posizione nella frase). Al termine della scansione temporale, il costo accumulato minimo permette di costruire la sequenza ottima delle parole. 106 Appendice C. Algoritmo token passing per il riconoscimento del parlato continuo Figura 3 Grafo degli stati per il riconoscimento del parlato continuo e lista dei record di collegamento (Word Link Record: WLR) Il grafo degli stati (figura C.3) è costituito dalla cascata di blocchi, costituiti ciascuno da tutti gli HMM delle singole parole. Lo stato finale del modello di ciascuna parola è collegato agli stati iniziali dei modelli HMM della parole successive con archi il cui costo è la probabilità condizionata dei bigrammi. Il concatenamento può essere rappresentato da uno stato “virtuale” che comprende gli stati terminali delle singole parole. L’evoluzione è controllata dai gettoni che ora devono contenere, oltre al costo accumulato corrente, il Path Identifier (identificatore di cammino) che è il puntatore a un record (WLR: Word Link Record) della lista di collegamento delle parole (Fig. 3) che corrisponde al record collegato ad ogni stato del metodo di Fig.1. WLR contiene: il codice della parola 107 Appendice C. Algoritmo token passing per il riconoscimento del parlato continuo riconosciuta, il costo accumulato, l’istante del termine del riconoscimento parziale e il puntatore ricevuto dal gettone. Il riconoscimento inizia con l’invio del gettone iniziale a tutte gli HMM del primo blocco. I gettoni, ad ogni tempo discreto, si propagano nei rispettivi HMM e al termine del riconoscimento contengono i rispettivi costi accumulati e il puntatore che avevano all’ingresso. Il gettone in uscita dal corrispondente HMM crea un record WLR; il suo indirizzo del WLR è utilizzato per aggiornare il gettone che è distribuito a tutti gli HMM del secondo blocco con costi che dipendono dalla probabilità della parola del secondo blocco condizionata da quella del primo blocco. Al termine dell’emissione (tempo T) si individua il WLR che ha costo accumulato minimo e quindi, utilizzando il campo dei puntatori, si costruisce all’indietro il cammino creato dai collegamenti per individuare la sequenza ottima. L’algoritmo di riconoscimento del parlato continuo è rappresentato più sinteticamente da una struttura ad anello facilmente deducibile dalla Fig .2. 108 Appendice C. Algoritmo token passing per il riconoscimento del parlato continuo si id0 w3 i ci id0 j s ij i id0 M s kM k id0 cj i c0 X wx nx cM M w3 n1 id0 cM k WLR Costo accumulato Id. stato finale parola terminata Codice parola terminata Istante fine parola ID WLR parola precedente idx id0 cM id1 ID WLR generato cM M w3 n1 id0 id1 Fig. 4. Una sintesi del modello Token Passing Riferimenti: 1) S.J. Joung, et al.: Token Passing: a Simple Conceptual Model for Connected Speech Recognition Systems (1989) http://www.citeseer.ist.psu.edu/young89toren.html 2) H. Ney, S. Ortmann: Dynamic Programming Search for Continous Speech Recognition, IEEE Signal Processing Magazine (settembre 1999) 3) Per l’utilizzo del modello passaggio del gettone (Token Passing) è utile il Capitolo 1 di HTK Book che si può scaricare dal sito http://htk.eng.cam.ac.uk/ o acquistare alla Copisteria Copia 109