13/09/2004

RICONOSCIMENTO VOCALE: RISULTATI SIGNIFICATIVI IN DUE CASI LIMITE 

(Enrico Bertanza)

Premessa

L'articolo di questo mese parla di due applicazioni concrete realizzate partendo da un software di riconoscimento vocale, Dragon Naturally Speaking http://www.scansoft.com/naturallyspeaking/ . L'autore ha cercato di spiegare con la massima chiarezza i diversi passaggi, ma trattandosi di personalizzazioni e applicazioni implementate ad hoc il linguaggio deve essere necessariamente tecnico. Riteniamo importante precisare che per comprendere meglio i due casi è importante conoscere, almeno a livello generale, il funzionamento del sofware di riconoscimento vocale. Per maggiore chiarezza, durante la lettura, vi consigliamo di visitare il sito http://www.prandelli.net/ADA/ dove sono riportate le immagini dei software citati.

Introduzione

Il riconoscimento vocale (RV) offre oggi straordinarie opportunità di autonomia in molte situazioni di disabilità motoria grave. Attraverso il riconoscimento vocale è infatti possibile utilizzare il personal computer non solo per scrivere, navigare su Internet o inviare posta elettronica e messaggi SMS ma anche, tramite opportuni dispositivi elettronici, per controllare l'ambiente circostante: accendere/spegnere luci, telefonare, attivare un ventilatore, cambiare i canali del televisore, ascoltare CD , alzare/abbassare una tapparella motorizzata ecc. Il riconoscimento vocale permette infatti di utilizzare la voce per dare tutti i comandi e gli input che normalmente vengono inseriti attraverso la tastiera e il mouse.

Il livello di precisione raggiunto oggi dal RV garantisce significative possibilità di utilizzo anche in presenza di alterazioni della voce: se le difficoltà di fonazione non sono eccessive è infatti possibile raggiungere buoni risultati attraverso l'allenamento e l'utilizzo continuo (il RV è un programma ad apprendimento progressivo in grado di migliorare nel tempo la comprensione del parlato tollerando difetti di pronuncia ed adattandosi alla tonalità, all'accento e al vocabolario caratteristici dell'utilizzatore).

Un programma di RV standard non è invece direttamente utilizzabile se la voce è fortemente alterata; tuttavia attraverso software specificamente sviluppati e uno speciale training è possibile raggiungere risultati significativi nella scrittura, ed ottimi nel controllo ambientale. Nel corso degli ultimi due anni un gruppo di lavoro a Brescia ha utilizzato il riconoscimento vocale in due situazioni limite.

Il primo caso riguarda un adulto tetraplegico che ha subito un intervento di tracheotomia in conseguenza del quale la voce si è ridotta ad un bisbiglio appena udibile. Il secondo caso è relativo ad un adulto tetraplegico le cui capacità di fonazione sono fortemente limitate da una spasticità elevata che rende il parlato continuo praticamente incomprensibile: la persona riesce soltanto a pronunciare alcune vocali, alcune consonanti e comporre brevi parole; particolarmente difficoltoso risulta invece pronunciare intere frasi.

CASO 1- FABRIZIO

Nel primo caso il bassissimo livello della voce rendeva apparentemente impossibile l'utilizzo del riconoscimento vocale. Un primo problema è stato risolto utilizzando un microfono direzionale di alta qualità opportunamente amplificato. Un altro problema riguardava l'addestramento del nuovo utente. Quando si utilizza per la prima volta un programma di RV, è infatti necessario effettuare un addestramento iniziale che serve al programma stesso per adeguare il livello del microfono e per "sintonizzarsi" sulla specifica voce del nuovo utilizzatore; tale addestramento consiste nella lettura di un testo di riferimento fornito con il programma. Questotraining iniziale del software si è rivelato un ostacolo: nonostante vari tentativi, più volte ripetuti, il sistema non riconosceva una sola parola di quanto veniva letto (la voce risultava infatti troppo diversa rispetto al modello generico su cui il software basa il processo di adattamento iniziale). Si é quindi ricorsi ad un espediente: far leggere ad un'altra persona, con voce normale ma bassissima, le prime frasi del testo di riferimento. Avviato il riconoscimento, il vero utilizzatore é subentrato nella lettura e dopo alcuni aggiustamenti e ripetizioni, è stato possibile terminare con successo questa fase iniziale di addestramento.

Date le condizioni della voce è stato poi necessario sviluppare particolari programmi applicativi che richiedessero al RV di individuare singoli comandi, parole o gruppi di parole nell'ambito di un elenco limitato di termini (non era cioè possibile utilizzare il RV in modalità standard servendosi dell'intero dizionario in dotazione). Una speciale "tastiera virtuale" ha consentito, sin dai primi giorni, di scrivere utilizzando una sorta di "spelling" basato su nomi di città: per digitare "CIAO" era necessario pronunciare, in sequenza, le parole "Catania-Imperia-Ancona-Otranto" (" c-i-a-o" ). Altre parole sono state poi utilizzate per inserire la punteggiatura, per andare a capo, per cancellare, per usare i comandi Windows "copia & incolla" e per lavorare sul testo. Uno speciale software commerciale di completamento e predizione di parola (*) ha poi consentito di aumentare in modo significativo la velocità di scrittura.

Specifici menù basati su sequenze prestabilite di parole hanno poi reso possibile controllare con la voce, in modo perfettamente affidabile, il telefono, il televisore e vari altri dispositivi. Il controllo avviene pronunciando sequenze quali "accendi (pausa) luce" , "accendi (pausa) televisore" , "chiama (pausa) Mario Rossi (pausa) adesso" (i.e. per chiamare al telefono il Sig. Mario Rossi). Per impartire un comando è necessario pronunciare seguendo la corretta sequenza le parole che lo compongono, rispettando rigorosamente la successione dei termini ed il tempo massimo: è quindi molto improbabile che suoni o rumori di disturbo possano venire interpretati come una sequenza valida di comando, soprattutto se si utilizzano sequenze di tre/quattro parole.

Nei mesi seguenti il continuo utilizzo del sistema ha reso possibile anche la dettatura diretta di testi con una precisione superiore al 90%, rendendo addirittura superfluo l'uso del software di predizione e completamento di parola.

CASO 2- dino

Nel secondo caso trattato, il livello di alterazione della voce ha reso particolarmente difficoltosa la messa a punto della "tastiera di parole" personalizzata. La quasi impossibilità di pronunciare parole più lunghe di cinque/sei lettere, l'impossibilità di pronunciare in modo chiaro diverse consonanti e la scarsa comprensibilità fonetica generale hanno limitato a circa 25 le parole risultate utilizzabili. Più precisamente sono state definite 25 parole-suono (non necessariamente con un significato) o gruppi di parole assonanti (alias fonetici): "aio" per la lettera "A" (alias fonetici "aglio" e "caio" ), "bello" per la lettera "B" (alias fonetico "dello" ), "cella" per la lettera "C" (alias fonetico "della" ) ecc. In alcuni casi si sono dovuti utilizzare anche tre equivalenti fonetici per una stessa parola-suono (è il caso ad esempio della lettera "N", "nuca", che prevede gli alias fonetici "duca" , "Luca" e "nucleo").

Poiché la pronuncia è spesso preceduta o seguita da rumori prodotti involontariamente, è stato necessario sviluppare un modulo software aggiuntivo per estendere la capacità di comprensione del riconoscimento vocale, individuando la parola chiave valida nella sequenza di input acquisita (es.: "bello" nella sequenza "tutto bello vero" , dove "tutto" e "vero" sono suoni involontari o più precisamente l'interpretazione data dal riconoscitore vocale a tali suoni involontari).

Ventuno fra le parole-suono disponibili sono utilizzate per le lettere dell'alfabeto italiano, una parola è utilizzata per la cancellazione dei caratteri errati, mentre le rimanenti permettono di accedere a dei sotto-menù che ridefiniscono il significato delle ventuno parole-base. La parola-suono "Boris" richiama il sotto-menù principale che trasforma la parola-suono "aio" in "a capo" (tasto "Invio"), la parola-suono "bello" nel segno di punteggiatura "virgola" mentre ad esempio "okay" (lettera "O"), diventa il carattere spazio. Un altro sotto-menù trasforma "aio" nella cifra "1", "bello" nella cifra "2", "cella" nella cifra "3" e così via fino alla parola-suono "lui" che corrisponde alla cifra zero. Ulteriori sotto-menù consentono di scrivere le vocali accentate italiane e i caratteri "JKWXY". Sempre attraverso sotto-menù le ventuno parole-base diventano comandi per spostare il cursore, selezionare il testo, effettuare operazioni di "copia" , "taglia", "incolla" , "annulla", "salva su disco" , "leggi da disco" ecc.

Per limitare gli errori è stato anche inserito un filtro ortografico che durante la scrittura disattiva i caratteri non selezionabili (es.: lettere "BDFGMNPTVZ" dopo un carattere "C"). Il filtro può essere disattivato per scrivere sigle o parole straniere.

La velocità di scrittura attuale risulta essere di oltre quindici caratteri al minuto, risultato che potrebbe migliorare in modo significativo con l'esercizio e l'adozione di un programma di predizione/completamento di parola.

Per la definizione delle parole-suono è stato sviluppato uno speciale programma che consente di provare gruppi di termini, di attivare e disattivare vari filtri e di verificare riconoscibilità, distinguibilità ed affidabilità delle parole in esame.

Per quanto riguarda il controllo ambientale, le sequenze di comando quali "accendi (pausa) luce" sono sostituite da sequenze quali "aio (pausa) lui" con pari risultato.

  Nel corso di questi due anni sono stati sviluppati software e programmi di utilità specificamente pensati per l'uso tramite comando vocale; tra questi:

  • Utilità per il comando del cursore che consente il "drag & drop" (trascinamento) semplificato di oggetti; è possibile configurare il programma per trasformarlo in un'interfaccia dedicata all'uso di altri software.

  • Software per la lettura di libri in formato elettronico
  • Interfacce per il gioco degli scacchi e della dama (le posizioni sono gestite con un meccanismo di coordinate che richiama il gioco della "Battaglia Navale" ) e per un gioco di carte al computer (con comandi quali: "pesca una carta" , " sposta qui ", "dài carte" ecc., comandi che possono essere impartiti anche tramite parole-suono).

Alcune di queste applicazioni possono rivelarsi utili anche per persone che abbiano una voce perfettamente normale, poiché consentono di aumentare la velocità di esecuzione dei comandi aumentando, grazie ai vari filtri adottati, la precisione e l'affidabilità degli stessi.

Tutto il sistema è controllato da un pulsante manuale che può essere azionato con un movimento del capo (è anche possibile utilizzare un sensore che sfrutti qualsiasi altro movimento disponibile, come ad esempio la mobilità anche minima delle dita di una mano): azionando il sensore di comando viene richiamato il menù-base dal quale si accede ai sotto-menù relativi alle varie applicazioni (tastiera virtuale, utilità cursore, controllo ambientale, collegamento ad Internet, giochi ecc.). Una pressione prolungata del sensore permette di attivare/disattivare il microfono del riconoscimento vocale.

Alcune funzioni sono accessibili anche con il solo sensore: tramite un menù vocalizzato per mezzo di messaggi preregistrati è possibile accendere/spegnere la luce o il televisore, cambiare i canali o telefonare. Servendosi di trasmettitori e ricevitori a radio frequenze, questa seconda modalità è utilizzabile anche al di fuori della stanza che ospita il computer e i vari dispositivi elettronici (per esempio, da un cortile antistante l'abitazione).

conclusioni

Le esperienze descritte hanno dato risultati estremamente positivi nell'utilizzo di programmi di riconoscimento vocale. Entrambi i soggetti stanno attualmente utilizzando il programma Dragon Naturally Speaking versione parlato continuo. Sebbene sia stato necessario sviluppare programmi appositi e personalizzati per ottimizzare (o addirittura nel secondo caso rendere possibile) il riconoscimento della voce, le potenzialità della tecnologia reperibile sul mercato ed il costante impegno delle persone che si sono adoperate mettendo le loro conoscenze informatiche a supporto di questi progetti, hanno reso possibile per Fabrizio ed Andrea il recupero di un grado di autonomia non sperato.

Parte del materiale appositamente sviluppato per i progetti descritti e la relativa documentazione a supporto, nonché le informazioni necessarie per avviare progetti analoghi, sarà a breve disponibile via Internet. Nel frattempo vi invitiamo a visitare il sito all'indirizzo http://www.prandelli.net/ADA/

(*)      Un software di completamento parola propone dei termini sulla base delle prime lettere digitate: scrivendo ad esempio "ca" vengono suggerite parole come "caro" , "cara" , "casa" ecc.; data la parola "sabato" il suggeritore propone termini quali "scorso" , "prossimo" , "mattina" ecc.

Enrico Bertanza