giovedì 31 marzo 2016

Dettatura con Mac

Logo OS X (da Wikipedia in lingua italiana)
Windows non è l’unico sistema operativo a includere funzioni di riconoscimento vocale. Anche i sistemi Mac, a partire dal sistema operativo OS X 10.8.2 (2012), hanno un sistema di riconoscimento in italiano. Come nel caso di Windows e di Dragon, questo sistema è offline e non ha quindi bisogno di collegamento internet.
 
Alcune informazioni sono disponibili sul blog di Salvatore Aranzulla.
 
Non ho ancora provato di persona il sistema, ma un amico è stato così gentile da farlo per me con il file audio che ho usato nelle altre prove. Il risultato è stato questo:
 
Non è comunque facile fare stime anche quando si guardano le cose dal punto di vista del lettore. Negli Stati Uniti, blog di successo come la finta un post un po' in poi registra centinaia di migliaia di accessi al giorno. In Italia, l'unico blog che sembrano Duncan pubblico non specialistico è quello di Beppe grillo, spesso collocato nelle liste dei siti italiani più visitati.
 
Il testo originale, in cui ho indicato in corsivo gli errori, era:
 
Non è comunque facile fare stime anche quando si guardano le cose dal punto di vista del lettore. Negli Stati Uniti, blog di successo come l’Huffington Post o BoingBoing registrano centinaia di migliaia di accessi al giorno. In Italia, l’unico blog che sembra noto anche a un pubblico non specialistico è quello di Beppe Grillo, spesso collocato nelle liste dei siti italiani più visitati.
 
Su 64 parole del testo di partenza, ne sono state sbagliate 12 (“l’Huffington Post o BoingBoing registrano”, “sembra noto anche a un”, “Grillo”), ma quattro di esse sono nomi propri. La percentuale di errore è quindi circa del 19% complessivo e del 12% se si considerano inevitabili gli errori sui nomi propri. Leggermente meno accurato degli altri sistemi di cui ho parlato finora, ma comunque di buon livello.
 

giovedì 17 marzo 2016

Dettatura con Google

I servizi di Google comprendono una grande quantità di prodotti online e offline. Tra questi non manca un sistema di riconoscimento vocale, che si manifesta in varie forme. Per esempio, la casella di ricerca visualizzata nella home di Google usando il browser Chrome include a destra l’icona di un microfono per il riconoscimento vocale:
 
La casella di ricerca di Google su Chrome

Cliccando sull’icona si può dettare una ricerca a Google, con percentuali di successo sorprendentemente buone.
 
Il riconoscimento vocale è gestito da Google attraverso le Web Speech API, integrate in molti altri prodotti di Google e di terze parti. Il sistema è molto sofisticato e permette anche la dettatura, che nel 2015 è stata integrata anche in Documenti Google. Aprendo un documento con Documenti Google, infatti, nel menu “Strumenti” è adesso possibile attivare la funzione “Digitazione vocale” (etichetta non troppo intuitiva!), che fornisce risultati di alta qualità.
 
Per vedere quanto è alta la qualità io ho fatto una prova con la registrazione che ho già usato per Dragon NaturallySpeaking. Per far ascoltare il file a Google ho usato il missaggio stereo sul mio computer e ho aperto Documenti Google all’interno di Chrome per Windows, versione 49.0.2623.87 m.
 
Il testo originale (provenienti dal mio libro L’italiano del web, Roma, Carocci, 2011, p. 147) dice:
 
Non è comunque facile fare stime anche quando si guardano le cose dal punto di vista del lettore. Negli Stati Uniti, blog di successo come l’Huffington Post o BoingBoing registrano centinaia di migliaia di accessi al giorno. In Italia, l’unico blog che sembra noto anche a un pubblico non specialistico è quello di Beppe Grillo, spesso collocato nelle liste dei siti italiani più visitati.
 
La mia lettura, registrata usando Dragon Recorder 1.3 su iPhone 4S e scaricando il risultato sotto forma di file .wav, è questa:
 
 
La trascrizione fornita da Google, in cui evidenzio in corsivo gli errori e integro tra parentesi quadre l’unica parola saltata, è stata:
 
Non è comunque facile faresti neanche quando si guardano le cose dal punto di vista del lettore. Negli Stati Uniti, blog di successo come la finta un post su Boing Boing registrano centinaia di migliaia di accessi al giorno. In Italia, l'unico blog che sembra nota anche [a] un pubblico non specialistico e quello di Beppe Grillo, spesso collocato nelle liste dei siti italiani più visitati.
 
Su 64 parole del testo di partenza, ne sono state sbagliate nove (“fare stime”, “l’Huffington Post o”, “noto”, “a” e “è”) di cui un solo nome proprio. La percentuale di errore è quindi circa del 14% complessivo e del 12% se si considerano inevitabili gli errori sui nomi propri… che sono riconosciuti in forma molto efficiente. Molto meglio di Dragon per quanto riguarda i nomi propri, un po’ peggio per quanto riguarda la qualità complessiva.
 

martedì 15 marzo 2016

Prova di Dragon NaturallySpeaking

Logo Dragon da Wikipedia in lingua inglese (https://en.wikipedia.org/wiki/Dragon_NaturallySpeaking)
Per l’italiano esiste in sostanza un unico prodotto per il riconoscimento vocale in ambito di “produttività”, cioè facilmente utilizzabile con gli strumenti da ufficio: Dragon® NaturallySpeaking. Prodotto da Nuance, questo programma è arrivato alla versione 13 per la lingua italiana (14 per la lingua inglese) e può essere installato su PC a un costo che sul sito aziendale parte da € 99 per la versione base. Sullo stesso sito sono inoltre disponibili versioni dotate di comandi aggiuntivi per il controllo del computer e di piccoli accessori per facilitare il lavoro.
 
Dragon permette sia la dettatura sia il controllo del computer attraverso la voce. Sul controllo non vorrei ancora dire molto, perché credo che per ottenere risultati soddisfacenti sia molto importante l’allenamento. Tuttavia, per la dettatura, Dragon è notevole. Forse dal punto di vista del riconoscimento puro e semplice Google adesso fornisce un risultato migliore, e spero di verificare questa impressione più avanti con qualche dato preciso. Però Google non si integra con i programmi da ufficio, e in ciò Dragon non ha semplicemente concorrenti. Io lo trovo molto efficiente... e ammetto che questo post è stato in buona parte dettato con Dragon!
 
Dal punto di vista operativo, l’installazione di Dragon (Premium, versione 13 per Windows) avviene da CD o da installatore scaricabile. Dopo l’installazione, c’è una brevissima fase (pochi minuti) di addestramento al riconoscimento del parlato di una singola persona. Anche in seguito è poi possibile effettuare un riconoscimento e addestrare il programma su un assieme di testi – ma finora ho sempre preferito evitare. In ogni caso, non è mai stato necessario usare il microfono in dotazione alla versione che ho ordinato io. Il sistema di microfoni del Surface che uso normalmente si è rivelato del tutto adeguato al compito.
 
Completato l’addestramento, Dragon funziona in modo piuttosto intuitivo. Facendo partire il programma in cima allo schermo compare una minuscola finestra che permette di attivare e disattivare il riconoscimento vocale. Quando il riconoscimento è attivo è possibile usarlo per dettare, per esempio, direttamente all’interno di Word: vicino al normale cursore appare una minuscola fiammella verde e da quel momento Dragon trascrive nella pagina di Word (o di un altro programma) ciò che sente attraverso il microfono. Inoltre, numerose funzioni aggiuntive permettono di eseguire le operazioni più comuni nell’elaborazione di testi. Per esempio: aprire virgolette, annullare le ultime azioni, selezionare e modificare il testo.
 
Anche dettando a una velocità naturale, senza bisogno di scandire le parole, Dragon ha percentuali di successo sorprendenti. Dal punto di vista dell’utente, il principale collo di bottiglia è quindi rappresentato dalla capacità di pensare a che cosa dettare: il programma riesce a tenere il passo.
 
Come per quasi tutti i programmi di questo tipo, occorre peraltro ricordarsi di dettare la punteggiatura. Sia le virgole sia i punti fermi a fine frase devono essere esplicitamente indicati al programma. Lo stesso succede con parole che, insolitamente, hanno un’iniziale maiuscola.
 
Per quantificare il funzionamento ho scelto sei righe di testo provenienti dal mio libro L’italiano del web (Roma, Carocci, 2011, p. 147). Il testo originale dice:
 
Non è comunque facile fare stime anche quando si guardano le cose dal punto di vista del lettore. Negli Stati Uniti, blog di successo come l’Huffington Post o BoingBoing registrano centinaia di migliaia di accessi al giorno. In Italia, l’unico blog che sembra noto anche a un pubblico non specialistico è quello di Beppe Grillo, spesso collocato nelle liste dei siti italiani più visitati.
 
La mia lettura, registrata usando Dragon Recorder 1.3 su iPhone 4S e scaricando il risultato sotto forma di file .wav per l’elaborazione con Dragon (Strumenti > Trascrivi registrazione…), è questa:
 
 
La trascrizione fornita da Dragon è stata questa, in cui evidenzio in corsivo gli errori:
 
Non è comunque facile fare stime anche quando si guardano le cose dal punto di vista del lettore. Negli Stati Uniti, blog di successo come la finto post o Borboni registrano centinaia di migliaia di accessi al giorno. In Italia, l’unico blog che sembrano anche un pubblico non specialistico è quello di Beppe grillo, spesso collocato nelle liste dei siti italiani più visitati.
 
Su 64 parole del testo di partenza, ne sono state sbagliate otto (“l’Huffington Post”, “BoingBoing”, “sembra noto”, “a” e “Grillo”); quattro di esse però erano nomi propri. La percentuale di errore è quindi circa del 12% complessivo e del 6% se si considerano inevitabili gli errori sui nomi propri. Anzi, non è poco che il programma sia stato in grado di mettere le giuste maiuscole sia a “Stati Uniti” sia a “Beppe”.
 

giovedì 10 marzo 2016

Percentuali di successo

Sundar Pichai (immagine da Wikipedia in italiano, voce Sundar Pichai)
Quanto è accurato il riconoscimento vocale, oggi? Come per molte altre domande in linguistica, il primo livello di risposta deve essere: “dipende”.
 
Quasi un anno fa alcune delle massime cariche Apple e Google hanno fatto qualche dichiarazione polemica ma generica in proposito. Nel maggio del 2015 Sundar Pichai, allora Senior Vice President e oggi Amministratore delegato di Google, ha infatti vantato le percentuali di successo dell’azienda nel riconoscimento vocale. Alla manifestazione I/O di Google e in un’intervista a The Verge pubblicata il 29 maggio 2015 (da cui riprendo le parole) la sua dichiarazione è stata:
 
Just in the last three years, we have taken things like error in word recognition down from about 23 percent to 8 percent. And it’s because of what we call deep neural nets.
 
Del fatto che Google oggi faccia ricorso non solo alla statistica ma a “deep neural nets” si dovrà parlare più avanti. Per quanto riguarda la percentuale grezza, però, alle dichiarazioni di Pichai ha risposto pochi giorni dopo Craig Federighi, “Senior Vice President of software engineering” per Apple. Federighi ha infatti dichiarato l’8 giugno 2015 alla Worldwide Developers Conference della Apple che Siri ha una percentuale di errore del 5% e che questo “word error rate” è “an industry-leading number”.
 
Non mi sembra che in seguito ci siano state dichiarazioni dello stesso peso; sarebbe inoltre sorprendente se in un anno ci fossero stati cambiamenti drammatici della situazione. Ma che cosa significano questi numeri?
 
Innanzitutto, mentre non è chiarissimo che cosa intenda Pichai parlando di “error in word recognition”, la misura indicata da Federighi è ben nota. Il “word error rate”, o WER, nella sua forma più semplice si ottiene dividendo per il numero totale delle parole in un testo la somma delle parole erroneamente sostituite, cancellate o inserite durante il riconoscimento automatico; spesso si esprime non in frazioni ma in percentuali. Probabilmente Pichai parlava della stessa cosa, ma un margine di incertezza c’è.
 
Il WER di un sistema automatico poi dipende molto dal lavoro che deve fare. Come mostrano anche alcuni dati sintetizzati in The Voice in the Machine di Roberto Pieraccini (p. 188 e dintorni), un sistema automatico può ottenere risultati molto accurati se l’input è in qualche modo circoscritto, cioè se si tratta per esempio di discorsi scanditi e fatti con un vocabolario limitato. Per testi più liberi, come conversazioni o trasmissioni radiofoniche, a cavallo del millennio le percentuali d’errore si collocavano poco sotto il 20%, che è più o meno la percentuale indicata da Pichai. L’incertezza più grossa è quindi: a quali tipi di parlato fanno riferimento Apple e Google? Se si tratta del parlato generico dei loro utenti, nella somma di tutti i casi d’uso, la percentuale di errori è veramente buona.
 
Infine, do per scontato che le percentuali indicate da Pichai e Federighi si riferiscano unicamente all’inglese. Con altre lingue, a cominciare dall’italiano, i risultati sono probabilmente peggiori… anche se le differenze fonetiche potrebbero in alcuni casi giustificare risultati migliori!
 
Il nucleo della questione è comunque un altro. Le trascrizioni eseguite da esseri umani hanno tassi d’errore collocati tra il 2 e il 4%, e quindi continuano ancora oggi a essere preferibili a quanto fanno Google e Apple. Non è uno scalino da poco: il passaggio dall’8% dichiarato da Pichai al 2% di un bravo ascoltatore umano corrisponde probabilmente a una notevole differenza di usabilità. Tuttavia, è chiaro che questa percentuale non potrà che migliorare. Superata la soglia del 2%, la faccenda si farà seria!
 

martedì 8 marzo 2016

Microsoft Speech Recognition, l’italiano e l’inglese

Creare voci sintetiche è complesso… ma nella costruzione delle interfacce vocali è comunque la parte facile. Mettere il computer in grado di usare il parlato umano è decisamente più difficile.
 
I primi sistemi commerciali in grado di trascrivere il parlato normale, senza stacchi artificiali tra le parole, hanno meno di vent’anni. Le funzioni di riconoscimento vocale (Text-to-Speech) hanno tuttavia fatto di recente passi da gigante.
 
Va però detto subito che, a differenza di quanto accade di solito, l’italiano non è supportato da uno dei principali prodotti di questo tipo. Il sistema di riconoscimento vocale di Windows 10 copre infatti solo sei lingue: inglese (con cinque diverse pronunce locali), francese, tedesco, giapponese, cinese mandarino e spagnolo. Per una volta l’italiano non è entrato nel gruppo di punta, e chissà se sarà supportato più avanti.
 
Se si vuole provare il prodotto, comunque, è sufficiente impostare su un computer con Windows una di queste prescelte come lingua del sistema operativo (Pannello di controllo > Orologio e opzioni internazionali > Lingua). Io ho provato con l’inglese, e al riavvio ho potuto attivare senza problemi il sistema di riconoscimento vocale (con il percorso che in italiano è: Pannello di controllo > Accessibilità > Riconoscimento vocale). A quel punto, nella parte alta dello schermo è comparsa questa finestrella:
 
L'interfaccia di Windows Speech Recognition

Tuttavia, i risultati non sono stati particolarmente positivi. Do per scontato che la mia pronuncia dell’inglese, per quanto comprensibile a esseri umani, sia molto diversa da quella accettabile per Microsoft Speech Recognition. Con un po’ di fatica sono quindi riuscito a far partire programmi sul computer (aiutato anche da una finestra di dialogo che presenta diverse opzioni), però la dettatura è assolutamente deludente. L’ho messa alla prova i versi iniziali di una celebre poesia di Yeats, An Irish Airman Foresees His Death, di cui avevo dovuto curare la pronuncia molti anni fa, per un esame universitario:
 
I know that I shall meet my fate
Somewhere among the clouds above;
Those that I fight I do not hate,
Those that I guard I do not love…
 
Il risultato non è stato dei migliori, anche se ha una certa qualità da poesia metafisica:
 
I knew that they should and the roof E
somewhere under a mound to oust abound
those that pay for my item if he knows a thing
of the kind enough to allow!
 
In queste circostanze, Microsoft Speech Recognition non serve a molto. Per mia fortuna, esistono però diversi sistemi sostitutivi che coprono l’italiano, e il più importante è Dragon Dictate, di cui spero di parlare qui tra poco.