Come il riconoscimento vocale trasforma il servizio clienti e i flussi di lavoro quotidiani

16

Prendi il telefono per chiamare una grande azienda oggi stesso. Probabilmente non sentirai un essere umano dall’altra parte. Invece, una voce sintetica ti saluta, chiedendoti di navigare in un labirinto di pressioni di pulsanti. È un sistema di risposta automatizzato. Molte aziende hanno aggiornato anche questi sistemi. Ora, spesso puoi semplicemente pronunciare parole chiave. La registrazione ti dice cosa dire. Lo dici tu. Il sistema ti instrada. La tecnologia dietro questa magia è il software di riconoscimento vocale.

Questo non vale solo per i call center. Puoi usarlo a casa o nel tuo ufficio. Un’ampia gamma di prodotti ti consente di dettare il testo direttamente negli elaboratori di testi o nei client di posta elettronica. La tua voce diventa parole digitate. Alcuni strumenti ti consentono persino di controllare il tuo computer tramite la voce. Apri file. Fare clic sui menu. Esegui comandi. Alcuni programmi sono specifici di nicchia. Trascrizione medica. Documentazione legale. Gestiscono il gergo.

L’accessibilità è un altro importante fattore trainante per questa tecnologia. Le persone con disabilità che impediscono loro di scrivere fanno molto affidamento su questi sistemi. Hai perso l’uso delle mani? Non vedenti e una tastiera Braille non è un’opzione? La dettatura colma questa lacuna. Permette l’espressione personale attraverso la parola. Controlla le attività che di solito richiedono le dita. Alcuni software imparano da te. Salva i tuoi dati vocali dopo ogni sessione. Se il tuo linguaggio si deteriora nel tempo a causa di una condizione progressiva, il sistema si adatta. Continui a lavorare.

I moderni programmi di riconoscimento vocale generalmente rientrano in due categorie.

Vocabolario ridotto/molti utenti

Questi sistemi sono costruiti su larga scala. Alimentano quegli alberi telefonici automatizzati. Gestiscono un enorme volume di chiamanti con accenti e modelli di discorso molto diversi. Il sistema indovina la maggior parte delle volte. Ma c’è un problema. L’utilizzo è limitato. Sei limitato a comandi predeterminati. Opzioni del menu di base. Numeri. Non puoi avere una conversazione a flusso libero qui. Il vocabolario è piccolo. La base di utenti è enorme.

Vocabolario ampio/Utenti limitati

Questa configurazione è diversa. È costruito per persone specifiche in luoghi specifici. Pensa agli ambienti aziendali. Un piccolo gruppo di utenti lavora con il programma. La precisione è elevata. Gli utenti esperti raggiungono l’85% o più. Il vocabolario? Decine di migliaia di parole. Ma devi addestrarlo. Il software impara la tua voce. Funziona meglio per quegli utenti primari. Se qualcun altro tenta di usarlo? La precisione crolla. Drasticamente. Il sistema non è costruito per gli estranei.

I sistemi più vecchi, risalenti a più di dieci anni fa, dovevano scegliere tra parlato discreto e continuo. Discreto è più facile. Parli le parole separatamente. Fai una pausa tra ciascuno di essi. Il computer lo analizza in modo pulito. Ma nessuno vuole parlare così. È innaturale. Gli utenti preferiscono la normale velocità di conversazione. Discorso continuo. Quasi tutti i sistemi moderni ora lo gestiscono. Capiscono il dialogo fluido. Filtrano le pause.

Abbiamo parlato con John Garofolo, responsabile del gruppo vocale presso il laboratorio di tecnologia dell’informazione dell’Istituto nazionale di standard e tecnologia, per avere il punto di vista tecnico. Anche Joshua Senecal ha contribuito a mettere insieme tutto questo.

Discorso ai dati

Dalla pressione dell’aria al codice binario

Inizia con l’input grezzo. La tua voce è solo pressione fisica che si muove nell’aria. Prima che un computer possa farci qualcosa, l’onda analogica deve diventare digitale. Un convertitore analogico-digitale (ADC) gestisce questa traduzione. Non si limita a registrare; campiona l’onda. Le misurazioni precise vengono effettuate a intervalli rapidi e fissi. Il risultato sono dati che il processore può effettivamente masticare.

Ma i dati grezzi sono confusi. Il rumore si insinua. Il sistema lo filtra. A volte suddivide il suono in diverse bande di frequenza. Lo senti come un tono. Altre volte, è una questione di volume. Il software normalizza il segnale, mantenendo il livello costante in modo che un sussurro non venga ignorato mentre un grido non tocchi il microfono. Potrebbe anche essere necessario un allineamento temporale. Gli esseri umani sono incoerenti. Acceleriamo quando siamo eccitati o trasciniamo le sillabe quando siamo stanchi. Il software deve allungare o comprimere il tuo discorso per adattarlo ai modelli archiviati in memoria.

Suddivisione in fonemi

Una volta che il segnale è pulito e allineato, viene sminuzzato. Segmenti minuscoli. Stiamo parlando di frazioni di secondo. A volte bastano pochi centesimi. Ancora più veloce quando si ha a che fare con suoni consonantici esplosivi. Pensa alla forte esplosione d’aria in “p” o “t”. Quelli richiedono precisione perché il flusso d’aria si interrompe e riprende all’improvviso.

È qui che la linguistica incontra il codice. Il programma abbina questi piccoli clip audio ai fonemi conosciuti. Un fonema è la più piccola unità sonora che cambia significato in una lingua. Non è una lettera. È il suono stesso. L’inglese ha circa 40 fonemi. Altre lingue ne hanno di più. Alcuni ne hanno meno. La variazione conta.

“Un fonema è l’elemento più piccolo di una lingua: una rappresentazione dei suoni che produciamo e mettiamo insieme per formare espressioni significative.”

Il software non vede le lettere. Vede modelli sonori. Osserva quei microsegmenti e si chiede: “A quale fonema conosciuto somiglia di più?” È un gioco di abbinamento. Uno in cui la posta in gioco è se il tuo comando viene eseguito o ignorato.

Passare dalle onde sonore grezze a una stringa leggibile di caratteri è il vero attrito. Sembra banale. Non lo è. Questo passaggio consuma la maggior parte della moderna ricerca sul riconoscimento vocale per un motivo. Il sistema non ascolta solo un singolo suono isolato. Osserva i fonemi, le più piccole unità sonore, nel contesto dei loro vicini. Il contesto è tutto. Un suono che assomiglia a “gatto” da solo potrebbe essere “pipistrello” se la parola precedente fosse “io”.

Il motore prende il grafico del fonema contestuale e lo inserisce in un modello statistico complesso. Non si tratta solo di corrispondenza di modelli. È probabilità. Il sistema confronta i dati audio in entrata con un’enorme libreria di parole, frasi e intere frasi conosciute. Calcola quale combinazione è stata pronunciata con maggiore probabilità. Il risultato non è sempre perfetto. A volte indovina. A volte emette parole senza senso. Ma il più delle volte converte la tua voce in testo o attiva un comando del computer con sorprendente precisione.

I meccanismi dietro la magia

Per capire perché funziona, devi guardare come il software gestisce l’ambiguità. Il linguaggio umano è confuso. La gente borbotta. La gente fa una pausa. La gente dice “um” e “uh” costantemente. Un sistema ingenuo si bloccherebbe nel tentativo di analizzarlo. Un modello statistico prospera su di esso.

Il processo si basa su due tipi principali di probabilità: modellazione acustica e modellazione linguistica.

  • I modelli acustici capiscono quali suoni sono presenti. Mappano le caratteristiche audio sui fonemi.
  • I modelli linguistici capiscono quali parole seguono quali. Usano i dati di frequenza provenienti da enormi corpora di testo per prevedere la prossima parola probabile.

Quando dici “Voglio mangiare la pizza”, il modello acustico sente i suoni. Il modello linguistico controlla la probabilità di quella sequenza. “Mangiare” è più probabile dopo “volere” che “odiare”. Il sistema combina queste probabilità per formulare la migliore ipotesi.

Il riconoscimento vocale riguarda meno l’udito e più la previsione in base al contesto.

Perché il contesto cambia tutto

Considera la parola “leggi”. Al passato suona come “rosso”. Al presente suona come “reed”. Senza contesto, il sistema non può sapere quale intendevi. Con il contesto, è banale. Se la parola precedente era “ieri”, indovina il passato. Se la frase è “mi piace leggere”, indovina il presente.

Questo è il motivo per cui i grandi modelli linguistici hanno cambiato le regole del gioco. I sistemi più vecchi si basavano su rigide regole grammaticali. I sistemi più recenti utilizzano reti neurali addestrate su miliardi di frasi. Capiscono le sfumature. Capiscono il gergo. Capiscono che “mangiamo nonna” è grammaticalmente corretto ma semanticamente terrificante rispetto a “mangiamo nonna”.

Il modello statistico non considera solo il fonema corrente. Guarda gli ultimi dieci. Forse gli ultimi venti. La finestra di contesto espande lo spazio delle probabilità, consentendo al sistema di disambiguare suoni che altrimenti sarebbero identici.

Il problema della biblioteca

La dimensione del vocabolario è importante. I primi sistemi di riconoscimento vocale erano limitati a poche migliaia di parole. Potresti controllare una TV. Non potevi sostenere una conversazione. I sistemi moderni attingono da librerie contenenti milioni di voci. Ma le dimensioni non sono l’unico fattore. La qualità della biblioteca è importante.

Se il modello non ha sentito come viene pronunciata una parola specifica da uno specifico

Il riconoscimento vocale basato su regole è morto perché il linguaggio umano non rispetta le regole.

I primi sistemi cercavano di mappare le parole pronunciate su rigide strutture grammaticali. Se parlassi chiaramente, in un dialetto specifico e senza rumore di sottofondo, potrebbe funzionare. Ma prova a parlare come un bostoniano. Metti la “r” in “fienile”. Sembra “bawn”. Prova a dire “Vedrò l’oceano” senza fare una pausa per riprendere fiato. Diventa “Vado a vedere l’oceano”. Le parole si mescolano l’una con l’altra. Non ci sono pause.

I motori basati su regole si sono soffocati per questo. Non potevano gestire il parlato continuo. Dovevi pronunciare ogni parola separatamente. È stato lento. È stato frustrante. Ha fallito.

Come la modellazione statistica risolve il caos

I motori di oggi non si basano su una grammatica rigida. Usano sistemi di modellazione statistica. Si occupano di probabilità. Le funzioni matematiche indovinano il risultato più probabile in base ai dati.

Secondo John Garofolo, responsabile del gruppo vocale presso il laboratorio di tecnologia dell’informazione del National Institute of Standards and Technology, due modelli dominano il campo: il modello di Markov nascosto e le reti neurali.

Questi sistemi statistici necessitano di moltissimi dati di addestramento esemplari per raggiungere le loro prestazioni ottimali, a volte nell’ordine di migliaia di ore di parlato trascritto dall’uomo e centinaia di megabyte di testo.

Entrambi i metodi prendono dati noti per dedurre informazioni nascoste. Pesano le probabilità. Fanno ipotesi plausibili.

Spiegazione del modello di Markov nascosto

Il modello Markov nascosto è lo standard del settore. Analizziamolo.

In questo modello, ogni fonema è un collegamento. La catena forma una parola. Ma la catena si ramifica. Il sistema tenta di abbinare il suono digitale al fonema che con maggiore probabilità verrà successivo. Assegna un punteggio di probabilità a ogni opzione. Ciò si basa su un dizionario integrato e sui dati di formazione dell’utente.

Le frasi sono peggio. Il sistema deve indovinare dove finisce una parola e ne inizia un’altra.

Considera “riconoscere il parlato”. Dillo velocemente. Sembra “distruggere una bella spiaggia”.

Osserva i fonemi:

“riconoscere il parlato”
“r eh k ao g n ay z s p iy ch”.

“distruggi una bella spiaggia”
“r eh k ay n ay s b iy ch”.

La differenza è sottile. Il sistema utilizza il contesto, la frase precedente, per effettuare la chiamata. Perché è importante?

Se un programma ha un vocabolario di 60.000 parole, una frase di tre parole ha 216 trilioni di combinazioni possibili.

Nessun computer può eseguire ricerche così rapidamente senza aiuto.

Il costo dell’accuratezza: dati di addestramento

L’aiuto arriva dai dati. Enormi quantità di esso.

Garofolo osserva che la creazione di modelli acustici ed elenchi di parole richiede migliaia di ore di discorso trascritto. Hai bisogno di centinaia di megabyte di testo. Selezionare e compilare questi dati è un’arte. Come prepari i dati di allenamento per le questioni di “digestione”. Il modo in cui “ottimizzi” i modelli di sistema su un’applicazione specifica fa la differenza tra un sistema con prestazioni buone e uno con prestazioni scarse.

Anche con lo stesso algoritmo di base, l’implementazione varia notevolmente.

Gli sviluppatori costruiscono il vocabolario iniziale. Ma anche tu, l’utente, devi addestrare il sistema. In un contesto aziendale, gli utenti principali potrebbero trascorrere solo 10 minuti a parlare al microfono. Questo insegna al motore i loro modelli vocali specifici. Gli insegni anche gli acronimi. Gli insegni termini specifici dell’azienda.

I software medici e legali sono spesso precaricati con il gergo del settore. Sono già sintonizzati per quel contesto.

Ma nonostante tutti questi dati, i sistemi continuano a non funzionare.

Riconoscimento vocale: debolezze e difetti

Siamo onesti: nessun sistema di riconoscimento vocale è impeccabile. La tecnologia sta migliorando, certo, ma è ancora soggetta a errori. Alcuni di questi problemi sono inerenti allo stato attuale dell’arte e, si spera, svaniranno con il miglioramento degli algoritmi. Altri? Puoi sistemarli. Ci vuole solo un po’ di impegno da parte tua.

Il problema del rumore

Il software vocale ha bisogno di ascoltarti. Chiaramente. Se la tua voce si confonde con il rumore di fondo, la precisione crolla. Non si tratta solo di qualcuno che parla ad alta voce accanto a te. Riguarda anche l’hardware che alimenta il segnale nel tuo computer.

Le schede audio economiche spesso non dispongono di una schermatura adeguata. Captano ronzii e sibili elettrici da altri componenti all’interno del case del PC. Quella statica viene registrata. Il software pensa che sia parte della tua frase.

Per ottenere buoni risultati, lavora in una stanza tranquilla. Utilizza un microfono di qualità. Tienilo vicino alla bocca.

Sembra semplice. Ma la maggior parte delle persone lo ignora finché il dettato non diventa incomprensibile.

Il discorso sovrapposto è un incubo

Se provi a utilizzare il riconoscimento vocale in una riunione in cui le persone si interrompono a vicenda, passerai un brutto momento. I sistemi attuali faticano enormemente a separare le voci simultanee.

“Se provi a utilizzare la tecnologia di riconoscimento in conversazioni o riunioni in cui le persone spesso si interrompono o parlano tra loro, probabilmente otterrai risultati estremamente scadenti”, afferma John Garofolo.

Non è solo una questione di volume. Riguarda la separazione. Il software non riesce a distinguere facilmente una voce da un caotico mix di chiacchiere. Conservalo per il lavoro da solista. Non discussioni di gruppo.

Ti mangia la CPU

L’esecuzione dei modelli statistici alla base del riconoscimento vocale è un compito impegnativo. Il processore deve fare gli straordinari. Perché? È necessario tenere traccia di ogni fase della ricerca di riconoscimento delle parole. Se il sistema commette un errore, deve tornare sui propri passi. Ciò richiede memoria. Ciò richiede tempo.

Anche i personal computer più veloci oggi possono soffocare con comandi complessi. Il tempo di risposta rallenta notevolmente. E i vocabolari? Mangiano spazio sul disco rigido.

La buona notizia? Le velocità di archiviazione e processore stanno avanzando rapidamente. Tra dieci anni assisteremo ad un aumento esponenziale di entrambi i fattori. Il collo di bottiglia hardware è temporaneo. La logica del software è il problema più difficile.

Omonimi: stesso suono, significato diverso

Gli omonimi sono parole che sembrano identiche ma hanno ortografie e significati diversi. “Lì” contro “loro”. “Aria” contro “erede”. “Sii” contro “ape”.

Il software di riconoscimento vocale non riesce a sentire la differenza. Il suono da solo non trasmette l’ortografia.

Tuttavia il contesto aiuta. L’addestramento approfondito dei modelli statistici consente al sistema di indovinare la parola giusta in base a ciò che è accaduto prima e a ciò che viene dopo. Non è perfetto, ma è significativamente migliore di prima.

La strada verso un traduttore universale

Il sogno di parlare ad una macchina in qualsiasi lingua risale a molto tempo prima di quanto si possa pensare. Alexander Graham Bell lo ha sperimentato prima ancora che esistessero i computer moderni. Sua moglie era sorda. Voleva creare un dispositivo che trasformasse le parole udibili in immagini visibili che lei potesse interpretare. Ha realizzato immagini spettrografiche. Non riusciva a leggerli. Quella ricerca alla fine portò al telefono.

Per decenni, la fantascienza è stata l’unico luogo in cui ha prosperato il vero riconoscimento vocale. La potenza di calcolo semplicemente non c’era. Fu solo a partire dagli anni ’90 che i computer di livello consumer furono in grado di gestire il carico.

Ora? Stiamo guardando qualcosa di più vicino a Star Trek.

La Defense Advanced Research Projects Agency (DARPA) sta finanziando due importanti iniziative. Il primo è lo sfruttamento autonomo globale del linguaggio (GALE). Questo sistema ingerisce flussi di notiziari e giornali stranieri. Li traduce. L’obiettivo è la traduzione istantanea tra due lingue con una precisione minima del 90%.

In secondo luogo, TRANSTAC. Ciò aiuta i soldati a comunicare con le popolazioni civili nei paesi non anglofoni. Garofolo nota che questa tecnologia avrà senza dubbio una derivazione in applicazioni civili. Un traduttore universale per tutti.

Perché è così difficile?

Un traduttore universale è ancora lontano. Combinare la traduzione automatica con l’attivazione vocale è incredibilmente difficile. Un recente articolo della CNN ha descritto il progetto GALE come “DARPA difficile”. Ciò significa che è difficile anche per gli standard estremi della DARPA.

Perché? Le variabili sono infinite.

  • Lo slang cambia rapidamente.
  • I dialetti variano in base alla regione.
  • Gli accenti differiscono a seconda dell’oratore.
  • Il rumore di fondo interferisce.

Poi c’è la grammatica. L’arabo a volte usa singole parole per trasmettere idee che richiedono intere frasi in inglese. Mappare una struttura su un’altra senza perdere significato è un incubo computazionale.

Dal riconoscimento alla comprensione

Attualmente siamo in una fase in cui i computer riconoscono le parole. Presto potrebbero capirli. I modelli statistici che decidono ciò che viene detto potrebbero eventualmente cogliere il significato dietro le parole.

È un enorme passo avanti in termini di potenza computazionale. Richiede un software sofisticato. Ma alcuni ricercatori sostengono che lo sviluppo del riconoscimento vocale offra il percorso più diretto dai computer di oggi alla vera intelligenza artificiale.

Parliamo con i nostri computer adesso. Tra 25 anni potrebbero rispondere.

Il disastro della demo di Vista

Niente di questo futuro teorico ha importanza se il presente non funziona. Ricordi la demo del riconoscimento vocale di Windows Vista? È stato un disastro nelle pubbliche relazioni.

Durante la presentazione il sistema ha gestito perfettamente l’apertura dei programmi e l’accesso ai documenti. Nel momento in cui ha provato a trascrivere il testo, non è riuscito. Male.

Il probabile colpevole? Il luogo. Un grande auditorium con un pubblico. Rumore di fondo. Eco. Il microfono ha captato tutto tranne un chiaro segnale del presentatore.

Il video ha fatto il giro di Internet. Ha danneggiato la reputazione di Windows Vista. Ha danneggiato la reputazione del riconoscimento vocale in generale. È servito come un duro promemoria: anche i più grandi giganti della tecnologia possono inciampare quando l’ambiente non è controllato.

Continueremo a guardare lo spazio. La tecnologia sta migliorando. Ma il divario tra “utilizzabile” e “perfetto” è ancora ampio.

Oltre le parole d’ordine

Abbiamo tracciato il percorso dalle grezze onde analogiche alle complesse reti neurali gestite dagli assistenti vocali di oggi. Ma la storia non finisce con un bel inchino. Si estende in una rete di laboratori di ricerca, precedenti storici e ostacoli tecnici persistenti che la maggior parte degli utenti non vede mai.

Se stai cercando i meccanismi dietro la magia, la scienza di base riguarda meno l'”ascolto” e più il riconoscimento di schemi. I moderni software di riconoscimento vocale non sentono le parole. Sente la probabilità. Spezza la tua voce in minuscoli frammenti spettrali e chiede: Quale sequenza di fonemi ha più senso qui?

Le infrastrutture nascoste

Non è necessario scavare nel codice per capire perché a volte il tuo altoparlante intelligente perde una parola. Spesso dipende dalla qualità dei dati e dal contesto.

  • Cancellazione del rumore è il primo filtro. Elimina i ronzii di sottofondo in modo che il motore possa concentrarsi sul tratto vocale.
  • Elaborazione del linguaggio naturale (PNL) gestisce la grammatica. Trasforma “Imposta sveglia per sette” in un comando strutturato.
  • Identificazione del parlante cerca di capire chi sta parlando. Questo è importante per le risposte personalizzate, ma è tutt’altro che perfetto.

Il Centro per la ricerca sul dialogo parlato dell’Università del Colorado ha trascorso decenni a mappare queste interazioni. Il loro lavoro evidenzia un’intuizione chiave: gli esseri umani sono incredibilmente indulgenti. Ignoriamo i lapsus verbali. Immaginiamo dal contesto. Le macchine non sono ancora arrivate. Si soffocano ancora nell’ambiguità.

Perché è importante adesso

Le iniziative di ricerca DARPA sulla sintesi vocale della metà degli anni 2000 hanno posto le basi per gli odierni strumenti di traduzione in tempo reale. L’obiettivo è sempre stato chiaro: rimuovere la lingua come barriera. La sfida DARPA del novembre 2006 non era solo una competizione. Era una prova di concetto. Ha dimostrato che la traduzione vocale potrebbe funzionare in ambienti limitati.

Oggi, questa tecnologia è integrata in qualsiasi cosa, dai bot del servizio clienti ai servizi di sottotitoli in tempo reale. Ma il divario tra “funzionale” e “fluente” rimane ampio.

L’eredità dell’errore

Raymond Kurzweil pose la domanda giusta nel 1998: Quando HAL capirà quello che stiamo dicendo? La risposta non riguarda solo microfoni migliori. Si tratta di consapevolezza contestuale.

I metodi statistici per il riconoscimento vocale di Frederick Jelinek hanno gettato le basi matematiche. Sosteneva che la parola fosse un problema di comunicazione, non solo di acustica. Ciò ha spostato il settore dai sistemi basati su regole ai modelli probabilistici. Questo cambiamento è il motivo per cui il tuo telefono è in grado di gestire un accento su cui non è mai stato esplicitamente addestrato.

Dove andremo da qui?

Il National Institute of Standards and Technology continua a spingere i benchmark. Testano il modo in cui i sistemi gestiscono stanze affollate, connessioni scadenti e dialoghi rapidi. I risultati stanno migliorando, ma lentamente.

La divisione tecnologia vocale di Microsoft si concentra sull’integrazione aziendale. Sono meno interessati alle luci della tua casa intelligente e più interessati a come un medico può dettare appunti senza violare la privacy del paziente. È qui che si trovano i soldi veri. E dove vivono le vere preoccupazioni sulla privacy.

La macchina non sa cosa hai detto. Sa solo cosa pensa che tu avresti potuto dire.

Questa distinzione è fondamentale. Quando l’intelligenza artificiale sbaglia, non si tratta di un’allucinazione in senso letterario