venerdì 12 febbraio 2016

Pieraccini, The Voice in the Machine

Roberto Pieraccini, The Voice in the Machine
La migliore sintesi divulgativa sulle interfacce vocali è in lingua inglese, ma è opera di un italiano. The Voice in the Machine (sottotitolo: Building Computers That Understand Speech), pubblicata nel 2012, è un raro caso di alta divulgazione scritta da un addetto ai lavori; e non guasta che all’interno ci siano anche riferimenti alla lingua italiana e a esperienze italiane, a cominciare da quelle dello CSELT. Sono stato quindi ben contento di inserire questo libro nel programma del mio corso di Linguistica italiana II, visto tra l’altro che, semplicemente, non ci sono altri testi che si avvicinino a questo taglio e a questa copertura.
 
Il lavoro ha un’impostazione storica, ma l’ordine cronologico conosce alcune eccezioni. Il primo capitolo, soprattutto, è dedicato a mostrare in forma sintetica ma rigorosa le caratteristiche del linguaggio parlato umano più pertinenti per la discussione successiva. Dalla semantica si passa fino alla fonetica e alle caratteristiche biologiche degli apparati fonatorio e uditivo. Le ultime pagine sono dedicate in buona parte a mostrare la complessità del linguaggio e i motivi per cui i sistemi informatici hanno molta difficoltà a gestirlo.
 
Per il resto il discorso procede in ordine cronologico. Dopo un’introduzione in cui ampio spazio viene dato all’idea tradizionale che produrre il parlato sia più difficile che comprenderlo, i capitoli sono:
 
1. Humanspeak (pp. 1-45)
2. The Speech Pioneers (pp. 47-81)
3. Artificial Intelligence versus Brute Force (pp. 83-107)
4. The Power of Statistics (pp. 109-133)
5. There Is No Data like More Data (pp. 135-166)
6. Lets Have a Dialog (pp. 167-190)
7. An Interlude at the Other End of the Chain (pp. 191-205)
8. Becoming Real (pp. 207-233)
9. The Business of Speech (pp. 235-261)
10. The Future Is Not What It Used to Be (pp. 263-283)
 
Andiamo con ordine. Il secondo capitolo è una rassegna storica che in sostanza parte dal primo tentativo moderno di sintesi vocale, e in particolare dal Voder prodotto dai Laboratori Bell nel 1939. Si passa poi al primo sistema di riconoscimento, AUDREY, prodotto sempre dai Laboratori Bell nel 1952 e capace di riconoscere il nome dei primi nove numeri interi.
 
AUDREY si basava sul semplice riconoscimento delle prime due formanti, cioè delle frequenze a massima energia sonora all’interno delle vocali. Sviluppi immediati furono però impediti da due difficoltà all’epoca insormontabili: distinguere le parole all’interno del parlato continuo e adattarsi alla diversità delle voci individuali. Seguirono tentativi di individuare i singoli elementi fonetici, o fonemi, all’interno della parola; ma questi tentativi (“phonetic segmentation approach”, p. 61) furono frustrati dal fatto che non ci sono transizioni nette tra un fonema e l’altro e i fonemi stessi sono piuttosto variabili.
 
Nel frattempo, tuttavia, si stavano affermando i sistemi per la conversione digitale dei suoni e divenne possibile il “template-matching approach” (p. 65). Le macchine poterono infatti confrontare spettrogrammi digitalizzati con spettrogrammi di riferimento. Per eseguire il confronto, un ostacolo importante era rappresentato dal fatto che la durata di una parola varia moltissimo, non solo da parlante a parlante ma da enunciazione a enunciazione. La gestione matematica di questa complicazione attraverso la tecnica del “dynamic time warping” (p. 71), basata sulla programmazione dinamica, risolse il problema.
 
Questa tecnica “is still the foundation of all modern speech recognizers” (p. 78), anche se di solito non viene più applicata al riconoscimento di singole parole. Soprattutto, però, va notato che questo fu il primo esempio di un approccio puramente matematico al problema, eseguito senza prendere in considerazione questioni linguistiche.
 
Il capitolo 3 è dedicato appunto allo scontro tra gli approcci di questo tipo e quelli basati sull’intelligenza artificiale. Non si rovina la suspense se si rivela subito che a vincere sono state le soluzioni puramente matematiche, basate sulla “forza bruta” e non sulla comprensione delle regole del linguaggio. Nel 1971, l’Information Processing Technology Office della DARPA, all’epoca diretto da Lawrence Roberts, lanciò il programma SUR per il riconoscimento del parlato basato sull’intelligenza artificiale (nel programma era coinvolta anche una figura centrale nello sviluppo dei moderni computer, J. C. R. Licklider). Il programma non riuscì a raggiungere gli obiettivi prefissati, ma permise di notare che sistemi basati sulla forza bruta, come Harpy della Carnegie Mellon, ottenevano risultati molto superiori a quelli dei sistemi basati su regole (p. 92). In particolare, soluzioni come le macchine a stati finiti permettono di trasformare il problema di segmentare il parlato nel problema di trovare (approssimativamente) il percorso migliore all’interno di una rete di intersezioni.
 
Il capitolo 4 descrive il trionfo dell’approccio a forza bruta, che, in particolare attraverso il lavoro di Fred Jelinek alla IBM, ha portato a rimpiazzare gli approcci linguistici con quelli statistici. Alla base di questo trionfo c’è l’uso delle catene di Markov, o meglio, dei modelli di Markov nascosti (HMM), che danno per scontato che gli eventi siano osservabili ma che non si sappia nulla sugli stati che determinano le probabilità degli eventi stessi. Si procede quindi alla cieca, ma con successo. L’uso di uno specifico algoritmo (l’algoritmo di Baum-Welch, p. 127) permette per esempio di trovare la segmentazione più probabile di un corpus mediante la semplice ripetizione di una procedura statistica. Va anche detto che qui la necessità di spiegare argomenti piuttosto tecnici viene soddisfatta solo in parte: le caratteristiche dei modelli di Markov, per esempio, restano poco chiare pur essendo spiegate in modo un po’ troppo denso per il non addetto ai lavori.
 
Nel capitolo 5 si arriva all’inizio degli anni Ottanta e ai primi seri tentativi di costruire macchine in grado di riconoscere davvero il parlato, con il coinvolgimento di aziende come la Texas Instruments, che nel 1978 aveva ottenuto un buon successo per un giocattolo educativo a sintesi vocale, lo “Speak & Spell”. Il corpus TI-DIGITS, creato appunto dalla Texas Instruments, fu uno dei punti di riferimento nel periodo iniziale, seguito dalle valutazioni della DARPA. Ne seguirono miglioramenti graduali dei sistemi, che portarono al progetto ATIS, sempre della DARPA (p. 148); questi miglioramenti resero anche necessario lo sviluppo di sistemi per la misurazione delle prestazioni.
 
“The most important lesson learned in the five years of the ATIS program was how different spontaneous speech is from read speech” (p. 161). In aggiunta, il programma dimostrò che era possibile ottenere risultati anche con il discorso spontaneo. Tuttavia, per l’interazione mancava una componente essenziale: i sistemi sviluppati non potevano fare domande agli interlocutori.
 
La questione del dialogo è quindi centrale per il capitolo 6, anche se la descrizione riguarda più che altro un vicolo cieco e una direzione di ricerca. Il vicolo cieco è il progetto Communicator, lanciato dalla DARPA nel 1997 e chiuso nel 2001. Il progetto era interessante anche per il requisito di supporto per una struttura informatica modulare (i sistemi che supportano il dialogo sono complessi ed è quindi una buona idea comporli di moduli diversi, che comunicano tra di loro attraverso frame). Tuttavia, come viene raccontato nei capitoli successivi, in un contesto in cui ormai le applicazioni commerciali stavano diventando concrete, i progetti di ricerca perdono importanza. La direzione di ricerca promettente, e ancora in sospeso, lanciata da Communicator era invece “the evolution of machine learning to automatically determine an optimal interaction strategy” (p. 181).
 
Per quanto riguarda i risultati, per la lingua inglese i tassi di errore valutati dal NIST per il parlato in lingua inglese raggiungono la stabilità a cavallo del millennio, anche se rimangono piuttosto alti. Le trascrizioni eseguite da esseri umani hanno infatti tassi d’errore collocati tra il 2 e il 4 %, mentre i sistemi automatici arrivano in questo periodo al 13-19 su corpora creati di conversazioni o trasmissioni radiofoniche (p. 188).
 
Il settimo capitolo interrompe l’ordine cronologico per parlare dei problemi di sintesi vocale, e ne parlerò in un prossimo post. L’ottavo capitolo è dedicato invece, appunto, all’evoluzione dei sistemi commerciali. La prima vera applicazione di questo tipo fu un sistema messo in linea nel 1992 dall’AT&T per riconoscere un comando tra cinque: “calling card”, “collect”, “third-party”, “person-to-person” e “operator” (p. 208). Questa semplice applicazione, secondo le stime (un po’ gelide, ammettiamolo) dell’AT&T avrebbe consentito di licenziare seimila operatori…
 
Questioni umane a parte, l’adozione pratica di sistemi simili richiedeva un lavoro enorme, anche quando le tecnologie erano già state sperimentate in laboratorio. La stessa applicazione AT&T richiese l’uso di algoritmi “barge-in” (p. 210) e “word-spotting” (p. 211) creati per l’occasione. Un esito più curioso del lavoro fu l’uso della sintesi vocale per parlare non a esseri umani ma ad altre macchine (p. 211).
 
A questo punto entra in scena il primo nome specializzato ancora oggi rilevante per il grande pubblico: Dragon. L’azienda originaria, Dragon Systems, era stata fondata già nel 1982 da Jim e Janet Baker, ma nel 1997 lanciò il suo prodotto più rivoluzionario: Dragon Naturally Speaking, un programma per personal computer in grado di riconoscere il parlato continuo (contrapposto alle parole isolate), seguito subito dopo da ViaVoice della IBM. Tuttavia:
 
The dream of typing documents, opening and closing files, and issuing commands on a personal computer through voice alone, a dream pursued by IBM, Dragon Systems, and later Apple and Microsoft, was never realized for a number of practical reasons. Chief among these was PC users’ clear preference to control their computers by touch rather than speech deep. Typing, clicking, and double clicking had become a second nature and nearly effortless for most computer users, whereas speaking required more effort and could be impractical in many situations, such as in a noisy room or when sharing an office with other people, where the added issue of privacy arose when working on personal or sensitive documents (p. 213).
 
Inoltre, le guerre dei prezzi e la disponibilità gratuita (per l’inglese) di sistemi di riconoscimento vocale attraverso Windows hanno reso il settore poco redditizio. In compenso, medici e avvocati, abituati a registrare il proprio parlato e a farlo trascrivere, hanno abbracciato prodotti specializzati, e gli smartphone sembrano un settore di sviluppo promettente.
 
Nella realtà, già a partire dalla fine degli anni Ottanta era stata dedicata una certa attenzione a un concetto rivoluzionario: le interfacce vocali (“voice user interface”, VUI; p. 215), come sviluppo anche di tecnologie del tutto prive di capacità di riconoscimento del parlato.
 
Aziende come SpeechWorks e Nuance hanno lavorato nel settore, che, come viene descritto più in dettaglio nel nono capitolo, può portare molti vantaggi immediati anche per le interfacce telefoniche, permettendo di uscire dai classici modelli ad albero (“call flow”). Gradualmente si sono affermati anche standard come Voice XML – mentre nel libro non viene fatta menzione, se ho ben visto, di standard alternativi come SAPI per le voci.
 
Il capitolo decimo conclude e lancia diversi spunti per gli sviluppi futuri, in particolare per quanto riguarda la ricerca vocale (una realtà già ben definita) e le interfacce multimodali. Anche l’epilogo si proietta verso il futuro, accennando a quello che ai tempi della pubblicazione del libro era il recente successo di Siri.
 
In prospettiva egoistica, queste ultime sezioni risultano un po’ troppo sintetiche: una carrellata sullo stato dell’arte sarebbe stata molto utile. Tuttavia ciò toglie poco al libro, che secondo me è un modello di successo anche per il taglio: la prospettiva storica è fondamentale per inquadrare e comprendere bene ciò che sta succedendo adesso. Consiglio quindi senza riserve la lettura del libro di Pieraccini a chiunque sia interessato a questo genere di argomenti… e spero anche che venga aggiornato presto con le ultime novità, e magari venga anche tradotto in italiano.
 
Roberto Pieraccini, The Voice in the Machine. Building Computers That Understand Speech, Cambridge MA, The MIT Press, 2012, pp. xxviii + 325, ISBN 978-0-262-01685-8 (€ 37,08 su Amazon.it). Nota: a p. 35 si cita il caso di Victor Zue, in grado di leggere gli spettrogrammi.
 

Nessun commento:

Posta un commento