speech to text

Sempre più spesso, negli ultimi mesi, ci viene chiesto da parte dei nostri clienti di implementare una gestione vocale all’interno delle loro attuali app pubblicate sui vari store App Store e Google Play.
Ma in cosa consiste questo speech to text?

L’esigenza

L’esigenza è semplice: rendere l’app attiva a dei comandi vocali.
L’implementazione un po’ meno. Tra capacità predittiva dell’IA,  possibilità e limiti dei vari framework, diversi linguaggi dei sistemi operativi ci si può perdere poiché il tutto si avvicina spesso ad una jungla. Per questo è importante avere le idee chiare per poter scegliere bene.

Da dove partiamo?

E’ importante partire come sempre dalla UX, ovvero dalla esperienza utente. Anche implementando un buon algoritmo di traduzione da vocale a testo, se non viene contestualizzato al meglio all’interno di un quadro generale più ampio, si corre il rischio di vanificare gli sforzi. E peggio ancora, rendere inutilizzabile questa nuova implementazione.

Come si procede?

Spesso gli sdk nativi di iOS e Android ci vengono in aiuto. In questo caso il framework Speech (sia iOS che Android) fa già buona parte del lavoro.
Impostati i vari permessi per accedere al microfono si può richiedere al framework di fare il lavoro sporco. Il risultato sarà quello di ottenere un testo a partire dall’audio. Nel tempo questa libreria si è raffinata, ora si sono raggiunti ottimi risultati anche per lingue diverse da quelle anglofone. Anche con l’italiano si ottengono buonissimi risultati.

Un altro step in avanti: Intelligenza Artificiale.

Ora può servire un altro tassello poichè spesso la richiesta non si limita ad avere una semplice funzionalità di traduzione da vocale a testo. Spesso capita di dover chiedere all’utente di attivare delle funzionalità con la voce, di comunicare dati di varia forma oppure di porre domande al nostro sistema.
Ecco quindi il bisogno di aggiungere dell’IA nel nostro sistema. L’argomento è veramente vasto e in continua evoluzione. I cognitive services di Azure sono sicuramente tra i migliori e i più affidabili sul mercato.
Per l’esempio in questione, possiamo pensare di usare questo sistema per incanalare, come un vero e proprio imbuto, diverse frasi che l’utente può dire verso un unico end point. Il tutto basandosi su un indice di attendibilità.

Un esempio di utilizzo:

In una app di commercio elettronico ad esempio, l’utente può pronunciare diverse frasi: “Cosa c’è nel carrello?”, “Riordina gli articoli della scorsa settimana”, “Cosa c’è in offerta oggi?”, “Quando arriva la mia merce?”. Ecco che la IA ci aiuta ad intercettare tutte queste richieste e ad incanalarle su una funzione ben precisa e predisposta. Importante è l’aiuto della IA nel capire che le due frasi dell’utente “Cosa c’è in offerta oggi?” e “Quali sono gli articoli in promozione?” sono formalmente diverse ma la richiesta che arriva è la medesima.

Aprire una porta con una password vocale

In una app che comanda un lucchetto o un apriporta è possibile intercettare un comando vocale da parte dell’utente. Ecco che quando l’app sente qualcosa tipo “apri il lucchetto”, “fammi entrare”, “apri la porta” può scatenare degli eventi come lanciare un comando ad un relè per aprire elettronicamente la porta a cui si è di fronte. Inoltre è possibile usare questo sistema del text to speech come una password vocale. Ecco che solo un certo utente, autenticato tramite la propria voce, potrà effettivamente aprire la porta. Il tutto dopo aver fatto riconoscere la propria voce al sistema. Tutti gli altri utenti o profili voce che non sono abilitati non riusciranno ad entrare.

In continua evoluzione

La gestione del vocale è in continua evoluzione e, specialmente negli ultimi mesi, sta prendendo piede. Ormai devices come Google Home e Amazon Alexa sono di utilizzo comune e le persone si stanno abituando ad interagire con esse. Questo è il momento giusto per pensarci e di adottare nuove strategie e funzionalità per nuovi servizi.
Se hai bisogno di maggiori informazioni contattaci.