Al Google I/O 2018 Sundar Pichai ha presentato una tecnologia che ha lasciato tutto il mondo senza parole: Google Duplex. Si tratta di uno strumento che verrà integrato in Google Assistant e che permetterà all’assistente virtuale di eseguire prenotazioni al nostro posto tramite telefonate. Chiedendo ad Assistant di prenotare un tavolo in un ristorante, se il locale non ha un sistema di prenotazione online, un’intelligenza artificiale farà una chiamata e parlerà al telefono al nostro posto.

Le chiamate di prova mostrate ieri sul palco, eseguite realmente da Duplex, sono davvero sbalorditive e, senza saperlo, sembra praticamente impossibile distinguere l’assistente virtuale da un essere umano. Qualcuno ha detto test di Turing?

Alla base di Duplex c’è una recurrent neural network (RNN) ideata proprio per imparare a portare avanti conversazioni di questo tipo e realizzata con TensorFlow, la libreria open source di Google per il machine learning. La particolarità del machine learning è che il software “impara” da solo cosa fare e come comportarsi, almeno in buona parte: per questo motivo, per addestrare Duplex, Google ha utilizzato un corpus di conversazioni telefoniche, ossia una grandissima quantità di conversazioni di questo tipo registrate e anonimizzate. In linguistica computazionale, il corpus è una raccolta di testi (o di conversazioni telefoniche, in questo caso) selezionati e organizzati per finalità di studio e analisi.

Per far suonare naturale Duplex, Google ha preso diversi accorgimenti che simulano il comportamento umano: una delle particolarità introdotte sono delle piccole disfluenze. Quando parliamo di disfluenze del linguaggio, ci riferiamo a tutti quei brevi suoni che produciamo mentre parliamo, che rallentano il normale discorso ( “umh”, “ehh”, etc). Queste disfluenze non solo permettono a Duplex di risultare più naturale, ma servono anche a prendere tempo mentre il sistema sta elaborando la richiesta. Questo aspetto è davvero affascinante, perché anche noi umani utilizziamo inconsciamente le disfluenze per prendere tempo mentre organizziamo mentalmente il discorso.

Duplex utilizza le disfluenze per prendere tempo mentre parla. Proprio come gli umani.

Oltre questo, Google si è occupata di gestire la latenza, ossia il tempo di risposta. In alcuni casi, questo dev’essere immediato: ad esempio, se dopo una pausa in attesa qualcuno ci chiede se siamo ancora lì, rispondiamo in maniera istantanea, e qualsiasi rallentamento suonerebbe strano. Anche Duplex riesce a rispondere a determinate interazioni nel giro di 100 millisecondi, utilizzando modelli vocali meno accurati e, in casi estremi, modulando la voce per farla suonare dubbiosa, esattamente come farebbe una persona vera che non è sicura di aver capito bene. Inoltre, in alcuni casi Google aggiunge della latenza, rallentando la risposta: frasi complesse o molto dense, infatti, risultano più naturali e comprensibili se pronunciate più lentamente.

Google Duplex risponde alla domanda Are you here?

In ogni caso, addestrare Duplex alla conversazione è estremamente complesso: il riconoscimento della lingua naturale è incredibilmente difficile, perché parlare normalmente è molto diverso dal dettare istruzioni. Quando parliamo con gli assistenti virtuali, abbiamo un tono chiaro, diamo dei comandi ben precisi e senza sbagliare. La conversazione naturale, al contrario, è qualcosa di completamente diverso e molto più incasinato!

Quando parliamo con altre persone ci interrompiamo, facciamo versi, ripetiamo parole e così via, e questo è molto difficile da far mandare giù ad una intelligenza artificiale. Inoltre, come si vede dalle conversazioni pubblicate da Google, Duplex deve essere anche in grado di gestire interlocutori che non hanno capito, interrompono e chiedono di ripetere.

Google Duplex ripete il numero di telefono ad un operatore che non ha capito

Infine, un’altra difficoltà della conversazione naturale è che la stessa, identica frase può voler dire cose diverse a seconda del contesto: una frase apparentemente semplice e immediata come Ok for 4 può essere la conferma per un orario o per il numero di persone che saranno sedute al tavolo e l’unico modo per distinguere le due cose è aver chiaro il contesto della conversazione.

Per questo motivo, Google specifica che Duplex è stato addestrato esclusivamente per questo genere di conversazioni, ossia prenotazioni via telefono e no, non è in grado di sostenere altre tipologie di conversazione. Per tutte queste difficoltà, Duplex è ancora un progetto in fase di sperimentazione e verrà rilasciato questa estate solo ad un gruppo ristretto di utenti, per verificare se è una tecnologia che può funzionare davvero.

È la prima volta che assistiamo ad un genere di intelligenza artificiale così complesso, che tra l’altro solleva anche dei dubbi piuttosto particolari: ad esempio, eticamente e legalmente parlando, chi risponde al telefono dovrebbe essere informato di star parlando con un robot?

We should make AI sound different from humans for the same reason we put a smelly additive in normally odorless natural gas. https://t.co/2dYmeb70AC — Travis Korte (@traviskorte) May 8, 2018

Cosa ne pensate di questa tecnologia? Vi siete emozionati ripensando al test di Turing e a tutta la fantascienza degli anni ’80 e ’90? Dove pensate che stia andando l’intelligenza artificiale? Fatecelo sapere nei commenti qui sotto.