EcoTan ha scritto:... Come funziona il riconoscimento vocale, ormai presente su qualsiasi smartphone con stupefacente efficacia? ....
In modo molto semplificato (perche' per approfondire servirebbero parecchi post)
I sistemi moderni, al contrario dei primi, dove dovevi preregistrare un sacco di frasi per "addestrare" il sistema alla tua voce, funzionano principalmente sui server remoti.
Ad esempio, prendi un sistema come "alexa" di Amazon, all'interno non c'e' un computer in grado di "capire" quello che dici (si, ne ho smontati un paio ), c'e' un processore dedicato (abbastanza potente ma con un set di istruzioni ridotto), una memoria che di solito contiene un modello di riconoscimento semplificato ed ottimizzato per le richieste piu banali (accendi la luce e simili, che non richiedono interpretazione), un sintetizzatore di voce per le risposte, ed alcuni programmi di base, oltre ad uno specifico chip (l'unico sempre in funzione) il cui unico scopo e' riconoscere la parola "alexa" in qualsiasi possibile modo venga pronunciata.
Questo chip dedicato e' quello che, quando pronunci il nome "alexa", accende tutto il resto ... se il comando successivo e' uno di quelli semplici e diretti, come ad esempio l'accendi la luce di prima, viene di solito riconosciuto ed esguito in locale (nel caso non venga riconosciuto, poco male, viene comunque inviato al cloud), se invece il comando richiede una qualsiasi forma di interazione con altri sistemi (ad esempio, "voglio sapere che tempo fara' domani", un programma chiamato "automatic speech recognition" interviene, trasforma il parlato in testo, lo cripta e lo spedisce alla rete AWS (spedire pochi caratteri di testo e' molto piu veloce che spedire una registrazione audio), la rete AWS (amazon web services, una rete distribuita di server in cloud) lo analizza, in genere con una serie di programmi "natural language understanding" in grado di rilevare il senso delle domande (ad esempio, "voglio sapere" si riferisce al fatto che vuoi una specifica risposta, "il tempo che fara' domani" si riferisce alla necessita' di interrogare altri sistemi contenenti previsioni meteo per costruire una risposta coerente da fornire all'utente, e cosi via), dopodiche' il server elabora una risposta che tenga conto di tutti i parametri e la rispedisce al tuo dispositivo sempre sottoforma di testo, nel tuo dispositivo poi un modulo text-to-speech pilotera' il sintetizzatore vocale per risponderti "a voce"
Tutto sto casino, solo perche' nel tuo dispositivo non ci stanno fisicamente ne dei processori con sufficente potenza, ne i sistemi di reti neurali profonde, ne la quantita' enorme di memoria necessaria a far funzionare dei "modelli di linguaggio" in grado di "capire" il senso della domanda scegliendo fra tutte le lingue possibili, tutte le intonazioni, tutti i "modi di dire" (alcuni sistemi riescono a capire anche quelli che vengono definiti "slang" ) , per interrogare i siti web corrispondenti al "senso" della domanda (qui ad esempio, i siti meteo), a "costruire" nella tua lingua una risposta corretta e gramaticalmente valida, eccetera.