1. Introduzione

Il mondo del riconoscimento vocale è in continua crescita: sono sempre maggiori le applicazioni che utilizzano un sistema di riconoscimento del parlato.

Alcune di esse, quali l'interrogazione di basi di dati tramite canale telefonico, basano sul riconoscimento vocale la loro unica fonte di ingresso. L'interrogazione degli orari dei treni tramite l'uso del telefono, vede un'interazione uomo macchina fatta unicamente tramite la voce. Il sistema è in grado di riconoscere un insieme di possibili parole pronunciate dall'interlocutore e di sintetizzare vocalmente le informazioni richieste.

Altre applicazione, quali il dettare vocale continuo, permettono di utilizzare un normale microfono per scrivere un documento di testo.

Negli ultimi anni i sistemi di riconosciemnto vocale hanno fatto notevoli passi avanti nella precisione del riconoscemento. Purtroppo, come ogni modello computazionale di un fenomeno complesso, il riconoscimento del parlato ha i suoi limiti. In primo luogo esiste, da parte del sistema automatico, una notevole difficoltà nel dare un significato semantico alle parole. Mentre un uomo, quando non percepisce una parola di un discorso, utilizzando il contesto in cui è collocato, spesso riesce a ricostruire il senso del discorso, arrivando spesso a ricavare la parola non percepita.

Un'altra capacità formidabile degli esseri umani è quella di riuscire ad adattare senza problemi la loro capacità uditiva a voci ed ambienti differenti.

Un uomo è capace di percepire con la stessa facilità voci di bambini, di uomini, di donne e di anziani. Ogni persona ha infatti una sua voce, un particolare accento dialettale, un modo strano di pronunciare alcuni fonemi o alcune parole, che lo categorizzano. All'interno della stessa lingua esiste, perciò, un infinita gamma di sfumature nella pronuncia delle parole.

Per addestrare un sistema di riconoscimento vocale, e per permettere al modello vocale di funzionare, si utilizzano frasi pronunciate dal più elevato numero di persone possibile. In questo modo si ottiene un sistema in grado di riconoscere, con discreta accuratezza, tutte le persone la cui voce non si discosta di molto dalle caratteristiche medie della popolazione.

Quando il riconoscitore sarà utilizzato da persone con una voce particolare, i risultati saranno pessimi. Da qui sorge il problema dell'adattamento al parlatore: avendo a disposizione un riconoscitore con prestazioni buone nella media, riuscire ad ottenere una qualità di riconoscimento buona anche per un utente con caratteristiche vocali particolari.

Riprendendo gli esempi trattati in precedenza, quello del servizio vocale per gli orari dei treni e quello del riconoscimento vocale continuo, appaiono due differenti situazioni da affrontare. Nel caso del servizio telefonico di informazione sugli orari dei treni, gli utilizzatori saranno molti e sempre diversi. In questo caso le frasi pronunciate da un singolo parlatore saranno poche e l'adattamento dovrà essere fatto in modo rapido. Una volta finita la telefonata tutti i parametri adattati per quel parlatore saranno scartati e il sistema sarà pronto all'adattamento per un altro parlatore.

I sistemi di riconoscimento vocale continuo per la dettatura automatica vengono pesantemente utilizzati da singoli parlatori. L'adattamento, in questo caso, potrà essere più lento ed accurato. È meno importante avere subito buoni risultati, ma è più logico ottenere, anche se con tempi di addestramento maggiori, risultati migliori. In questa situazione l'adattamento può essere compiuto anche in più fasi, poichè l'utilizzatore è una singola persona o un gruppo ristretto.

Anche nel campo dell'adattamento al parlatore la ricerca ha fatto passi enormi, riuscendo ad ottenere ottimi risultati. Attualmente vengono utilizzate due diverse tecniche per il riconoscimento vocale:

Un NN-HMM è un modello probabilistico del segnale vocale. Ogni lingua può essere scomposta in unità fondamentali che prendono il nome di fonemi. Utilizzando HMM, tutti i segnali vocali appartenenti ad un fonema partecipano a generare un modello probabilistico ad esso associato. Quando arriva un nuovo segnale vocale da riconoscere viene calcolata, per ogni modello fonetico, la probabilità che sia stato pronunciato esattamente quel fonema. In HMM ogni modello è indipendente dall'altro, cioè la probabilità di un modello non è legata alla probabilità dei modelli degli altri fonemi.

Per quanto riguarda le reti neurali, prendendo spunto dal funzionamento delle cellule neurali umane, attraverso una serie sufficiente di esempi, esse sono in grado di apprendere e di classificare segnali simili da quelli addestrati. I primi utilizzi delle reti neurali per il riconoscimento vocale, risalgono alla fine degli anni 90. A differenza degli HMM, le reti neurali sono addestrate in maniera discriminante, cioè fanno competere un fonema contro l'altro. Questa particolarità permette alle reti neurali di discriminare i fonemi, offrendo ottimi risultati.

La maggior parte delle tecniche di adattamento al parlatore è stata sviluppata per HMM. Gli studi sulle reti neurali, al fine dell'adattamento, sono ancora agli esordi. La tecnica banale di addestrare la rete neurale con frasi provvenienti solo da uno stesso parlatore offre risultati ottimi, generando un aumento delle prestazioni di riconoscimento di circa il 9.50%. Purtroppo occorrono molte frasi provvenienti da uno stessa persona. In un'applicazione reale questa condizione è molto difficile da ottenere, perchè obbliga l'utente ad una lunga sessione di training: lo obbliga cioè a leggere lunghi testi per tarare il modello alle sue caratteristiche vocali.

Altre tecniche, in modi molto diversi e particolari, riescono ad ottenere piccoli miglioramenti con un numero ristretto di frasi. Aumenti molto lontani, in ogni caso, dal 9.50% del adattamento di tutta la rete con molte frasi di un parlatore, e dai risultati ottenuti con il modello GM-HMM.

In questo panorama di scarsi metodi e risultati di adattamento delle reti neurali, si colloca questa tesi.

Il primo passo è stato lo studio delle variazioni delle prestazioni della rete neurale in situazioni particolari e con alcune tecniche note in letteratura.

Un miglioramento concettuale di una di queste tecniche, ha permesso di incrementare le prestazioni, diminuendo lo spazio di occupazione del modello in memoria.

Durante la tesi sono stati sviluppati e risolti due aspetti molto importanti per l'adattamento al parlatore.

Per quanto riguarda il primo aspetto si è cercata una struttura neurale in grado di riconoscere l'identità di un parlatore. Avendo una serie di modelli rappresentanti un individuo diverso, il nostro obiettivo è stato, attraverso poche frasi pronunciate da una singola persona, riconoscere quale tra i modelli presenti è quello associato al parlatore. Il riconoscimento del parlatore sebbene offra risultati sorprendenti per gli GM-HMM, non per le reti neurali. Nel campo del adattamento del parlatore è molto utile per scegliere, in modo automatico, il modello vocale da associare ad un parlatore.

Il secondo aspetto analizzato nella tesi è l'adattamento veloce. In quest'ambito si è cercato di ottenere, con poche frasi di adattamento, un aumento delle prestazioni. Tra le tecniche inventate, una è spiccata per l'ottima capacità di apprendimento.

Sono stati proposti e sperimentati anche altri metodi, uno dei quali mira ad addestrare la rete in modo più preciso, permettendo di ottenenere ottimi risultati sull'addestramento di reti neurali anche non prettamente progettate per l'adattamento al parlatore.



Subsections
Stefano Scanzio 2007-10-16