3.3.2 Categorizzazione del parlatore

Probabilmente il modo più semplice per incorporare informazioni specifiche di un parlatore è quella di addestrare sistemi differenti, ognuno contenente gruppi di parlatori simili. Questi insiemi di parlatori con caratteristiche vocali simili prendono il nome di clusters (figura 3.2).

Durante il riconoscimento di una frase di un nuovo parlatore, essa viene identificata e usata per scegliere un modello che rispecchia nel modo migliore le sue caratteristiche. Tale modello verrà utilizzato per il riconoscimento di tutte le frasi pronunciate da quel parlatore. Il metodo più comune che viene utilizzato, proposto da Abrash [10], è quello basato sulla lunghezza dei tratti vocali (vocal tract lenght). Un'altra tecnica molto utilizzato, decisamente veloce ed efficace, consiste in un clustering di tipo gerarchico ([11]). Un primo aspetto positivo di questo approccio consiste nel riuscire a selezionare rapidamente il modello adatto al nuovo parlatore.

Figure 3.2: Tecnica della categorizzazione del parlatore
Image FIGclustering
Viene costruito un modello per ogni parlatore di training e un modello generale per tutti i parlatori. Partendo da un cluster contenente tutti i parlatori, viene misurata una distanza tra il modello riferito ad ogni parlatore e quello generale. Tale distanza viene utilizzata per dividere il cluster ricorsivamente in sotto-cluster finchè non si arrivano ad ottenere i singoli parlatori. Durante il riconoscimento, per ogni nodo dell'albero, viene scelto il figlio maggiormente aderente alle caratteristiche vocali del nuovo parlatore attraverso un criterio di maximum likelihood. Questo procedimento viene ripetuto fino alle foglie, in cui può essere scelto il modello da applicare a quel parlatore.

Un altro possibile metodo è quello di identificare il cluster tramite tecniche di speaker-identification e di utilizzare quest'informazione al fine di selezionare il modello più adatto. Un approccio simile è stato utilizzato da Konig e Morgan [12] nei loro esperimenti sulle reti neurali. Per ognuno degli $n$ cluster essi hanno addestrato una rete neurale al fine di stimare la probabilità $P\left({cluster}\vert{input} \right) $ utilizzando i coefficienti cepstrali e la frequenza fondamentale di ogni parlatore. Hanno poi aggiunto alla rete per il riconoscimento $n$ input binari al fine stimare la probabilità per ogni singolo fonema come $P\left( {fonema}\vert{cluster},{input} \right) $. I dati di ingresso di un nuovo parlatore vengono valutati con la prima rete per poi essere valutati $n$ volte dal riconoscitore ed ottenere gli output che consentono di ricavare $P \left( {input}\vert{fonema},{cluster} \right) $. Sfortunatamente questa tecnica, computazionalmente pesante, fornisce un miglioramento delle performance molto lieve.

Witbrock e Haffner [13] hanno utilizzato invece una rete neurale al fine di collocare i parlatori in uno spazio bidimensionale. Questi dati sono stati utilizzati come ulteriore input per la rete riducendo in maniera sostanziale l'errore compiuto.

Stefano Scanzio 2007-10-16