3. Introduzione

3.1. Introduzione al Riconoscimento del Parlato

Il riconoscimento del parlato è il processo attraverso cui un computer (o un altro tipo di macchina) riconosce il linguaggio parlato. In altri termini, attraverso questo processo, si può parlare ad un computer e fare in modo che questo identifichi correttamente le parole pronunciate.

Prima di procedere, è necessario introdurre un po' di terminologia:

Enunciato

Un enunciato è la vocalizzazione (la pronuncia) di una o più parole che hanno un singolo significato per il computer. Possono essere enunciati una singola parola, alcune parole, un'intera frase, o anche più frasi.

Dipendenza da chi parla

I sistemi ASR possono essere dipendenti o indipendenti da chi parla. I sistemi dipendenti sono progettati per soddisfare le esigenze di uno specifico utente. Generalmente, presentano un'elevata accuratezza quando utilizzati da tale utente, ma hanno prestazioni meno buone se usati da utenti differenti. Assumono, infine, che l'utente non modifichi significativamente timbro e ritmo della parlata. Al contrario, i sistemi indipendenti sono progettati per essere usati da utenti diversi. I sistemi adattivi, di solito, funzionano inizialmente come sistemi indipendenti e poi, utilizzando tecniche di training, si adattano all'utente per migliorare l'accuratezza del riconoscimento.

Vocabolari

Vocabolari (o dizionari) sono liste di parole o enunciati che possono essere riconosciute dal sistema SR. Generalmente, vocabolari di dimensioni minori permettono un riconoscimento migliore da parte del computer, mentre vocabolari più estesi creano maggiori difficoltà di riconoscimento. A differenza dei normali dizionari, ciascun elemento presente nel dizionario di un sistema SR non deve necessariamente essere una singola parola. Tali elementi possono, infatti, consistere anche di una o più frasi. I dizionari più piccoli possono essere costituiti anche solo di uno o due enunciati riconosciuti (ad esempio, "Wake up"), mentre vocabolari molto grandi possono averne un centinaio di migliaia o anche più.

Accuratezza

Le capacità di un sistema SR si possono misurare calcolandone l'accuratezza, ovvero quanto bene è in grado di riconoscere enunciati. Questo include non solo la capacità di identificare un enunciato noto ma anche di determinare se un certo enunciato non è presente nel vocabolario. Sistemi ASR buoni possono presentare un'accuratezza del 98% o anche superiore! Il livello di accuratezza minimo accettabile per un sistema dipende dal particolare tipo di applicazione in cui è utilizzato.

Addestramento

Alcuni sistemi di riconoscimento del parlato possono adattarsi al particolare utente che li utilizza. Quando il sistema presenta questa capacità, può essere possibile effettuare una sessione di addestramento. Durante queste sessioni all'utente è richiesto di ripetere un certo numero di frasi comuni o standard per permettere al sistema di adattare gli algoritmi utilizzati al suo particolare modo di parlare. L'addestramento di un ASR generalmente ne migliora l'accuratezza di riconoscimento.

La possibilità di addestrare un sistema ASR può essere utilizzata da utenti che hanno difficoltà a parlare o a pronunciare determinate parole. Se l'utente è in grado di ripetere senza variazioni significative un certo enunciato, il sistema ASR, opportunamente addestrato, dovrebbe essere in grado di adattarsi e effettuare con successo il riconoscimento.

3.2. Tipologie di Riconoscitori del Parlato

I sistemi di riconoscimento del parlato possono essere suddivisi in alcune classi differenti sulla base del tipo di enunciati che sono in grado di riconoscere. Uno dei problemi principali degli ASR consiste nel determinare quando un utente inizia e finisce un enunciato. La maggior parte dei sistemi può essere inserito in diverse classi a seconda di quale tecnica utilizzano per risolvere questo problema.

Parole Isolate

Sistemi a parole isolate di solito richiedono che ciascun enunciato presenti un periodo di pausa, cioè assenza di segnale audio, su ENTRAMBI i lati della finestra di campionamento. Questo non significa che accettano solamente parole singole, ma che riconoscono un solo enunciato alla volta. Spesso questi sistemi hanno stati di "Ascolto/Non-ascolto", in cui richiedono all'utente di attendere tra la pronuncia di un enunciato e l'altro (e in queste pause il sistema elabora l'enunciato appena sentito). Sistemi a Enunciati Isolati può essere un nome migliore per questa classe.

Parole Connesse

Sistemi a parole connesse (o più correttamente a 'enunciati connessi') sono simili ai sistemi a parole isolate, ma permettono che enunciati isolati siano pronunciati all'unisono, con una pausa minimale tra l'uno e l'altro.

Parlato Continuo

Sistemi a discorso continuo rappresentano il passo successivo. Questi sistemi sono tra i più difficili da creare in quanto devono impiegare delle tecniche speciali per determinare i confini di un enunciato. Permettono all'utente di parlare in maniera quasi del tutto naturale. Sono sistemi di dettato al computer.

Parlato Spontaneo

Sembra che ci sia una varietà di possibili definizione di parlato spontaneo. Al livello più semplice, lo si può definire come parlato che sembra naturale e non preparato. Un sistema ASR in grado di riconoscere il parlato spontaneo deve gestire una serie di particolarità del linguaggio naturale, come la pronuncia continua di parole distinte, suoni come "um" e "ah", e anche leggere balbuzie.

Verifica/Identificazione della Voce

Alcuni sistemi ASR sono in grado di identificare specifici utenti. Questo documento non tratta sistemi di verifica o sicurezza basati sul riconoscimento vocale.

3.3. Usi e Applicazioni

In linea di principio, in ogni compito in cui è richiesto ad un utente di interfacciarsi col computer si può ricorrere a sistemi ASR. Tuttavia, le applicazioni seguenti sono quelle più comunemente utilizzate.

Dettato

Il dettato è senz'altro l'applicazione di maggior uso di sistemi ASR. Lo si usa per trascrizioni in campo medico, legale, economico, ma anche per fare del normale word processing. In alcuni casi si usano vocabolari speciali per incrementare l'accuratezza del sistema.

Comando e Controllo

Si definiscono sistemi di Comando e Controllo (C&C) gli ASR che sono progettati per eseguire particolari funzioni e azioni sul sistema. Enunciati come "Esegui Netscape" e "Esegui un nuovo xterm" ne rappresentano un esempio.

Telefonia

Alcuni sistemi PBX/Mail vocale offrono ai chiamanti la possibilità di dire il nome dei comandi che vogliono eseguire anziché richiedere la pressione dei corrispondenti pulsanti.

Sistemi Wearable

Dal momento che l'input nei dispositivi wearable è piuttosto limitato, poterli comandare via voce è una possibilità attraente e naturale.

Campo Medico/Disabilità

Molte persone hanno difficoltà ad usare la tastiera a causa di lesioni indotte da stress fisici ripetuti (RSI, dall'inglese Repetitive Strain Injuries), distrofia muscolare e altre cause ancora. Per esempio, quanti hanno difficoltà uditive potrebbe connettere un sistema ASR al loro telefono per convertire la voce del chiamante in formato testuale.

Applicazioni Embedded

Alcuni telefoni cellulari includono funzionalità di riconoscimento del parlato C&C che riconoscono enunciati come "Chiama Casa". Questo potrebbe essere un campo importante per lo sviluppo di ASR e Linux. Perché non posso ancora parlare alla mia televisione?