fbpx

Il test di Turing e il gioco dell’imitazione

da | 8 Mar 2021 | Blog

Alan Turing, considerato il padre dell’informatica, è stato il primo a ipotizzare una macchina programmabile e conseguentemente a porsi la domanda su fin dove ci si potesse spingere con l’automazione, mettendo di fatto le basi per la nascita del concetto di intelligenza artificiale. Piuttosto che chiedersi se una macchina potesse essere intelligente, cosa complicata da formalizzare anche con gli essere umani, si chiedeva quanto una macchina potesse sembrare simile, dal punto di vista cognitivo, a un essere umano. Questo lo portò a formulare nel 1950 il famoso Test di Turing.

Il test è molto semplice e prende spunto da un gioco chiamato “gioco dell’imitazione”, che ha anche dato il titolo a un bel film sulla storia del contributo di Turing alla decifrazione dei messaggi della macchina ENIGMA, che i tedeschi usavano per le comunicazioni durante la seconda guerra mondiale.

Nella sua formulazione originale il test prevede tre partecipanti, un uomo, una donna e una terza persona che non può avere contatti con le prime due e alle quali può fare una serie di domande per stabilire chi dei due è l’uomo e chi la donna. L’uomo ha anche il compito di ingannare la terza persona per metterlo sulla cattiva strada, mentre la donna ha il compito di aiutarlo. Per evitare i contatti, le interazioni devono essere trasmesse in qualche modo, ad esempio dattiloscritte.

Il test è stato poi riformulato nel tempo per renderlo più affidabile, dato che in alcune circostanze anche semplici applicazioni evidentemente non intelligenti riuscivano a superarlo. È il caso di ELIZA, un chatbot scritto nel 1966 da un informatico tedesco, che simula le domande di uno psicoterapeuta all’inizio di un intervento psichiatrico, rielaborando le risposte stesse dell’interlocutore.

In ogni caso, oltre ad essere molto interessante da un punto di vista storico, il test di Turing è la chiave per comprendere cosa cerchiamo di fare oggi con l’intelligenza artificiale: risolvere problemi di ottimizzazione e fornire un supporto in processi decisionali, non a creare una macchina pensante.

Questa precisazione è importante, perché quando si parla di intelligenza artificiale si tende a pensare sempre a una macchina pensante, che abbia coscienza di sé, che possa prendere decisioni. Anche alcuni commenti al mio ultimo articolo mi hanno dato conferma che c’è ancora questa strana idea in giro.

Un’altra idea di cui ho sentito parlare è che possa esistere un sistema onnisciente che dia risposte su qualsiasi dominio applicativo. Sarebbe sicuramente bello, ma ad oggi non è così e forse dobbiamo sforzarci di ridimensionare le nostre aspettative. Verticalizzando le applicazioni, possiamo specializzarle nel domino che ci interessa, rendendole utili esattamente in quello che ci serve.

In Ellycode stiamo puntando proprio a questo nella creazione del nostro assistente virtuale. Acquisite le richieste dell’utente, la parte difficile viene subito dopo, quando dobbiamo dare un risposta all’utente, che accettiamo possa essere poco precisa la prima volta, ma che possa imparare a rispondere meglio la prossima volta. Se ci pensate è quello che succede anche con gli essere umani a lavoro, no? Si impara ogni giorno qualcosa di nuovo per essere pronti la prossima volta che serve.

Grazie a questo approccio possiamo ottenere anche un altro risultato interessante: chiedere al nostro assistente virtuale di imparare come IO voglio certe informazioni. Se, come manager, chiedo a un mio assistente di estrarmi in un Excel dei dati, perché devo prendere una decisione di business e non ho le competenze per fare questa operazione di estrazione, quello che può succedere e che i dati preparati non siano nella forma che mi serve.

Posso allora spiegare al mio assistente come rifare l’operazione, dandogli indicazioni più precise su quello che voglio. In questo modo saprà come prepararli anche la prossima volta che gli faccio una richiesta simile. Se però qualcun altro gli farà una richiesta simile, potrebbe ancora sbagliare seguendo le mie indicazioni, semplicemente perché persone diverse possono avere esigenze differenti.

Quindi, se invece di puntare a un sistema che possa tirare fuori informazioni in maniera generica, potessi insegnargli come può farlo per ME, non sarebbe molto più utile di un sistema generico che probabilmente non si adatta alle mie esigenze? La cosa interessante è che è più semplice fare una cosa del genere che puntare a un sistema onnisciente.

Anche in questo caso, comunque, il sistema non sarà intelligente o pensante, ma sembrerà avere l’intelligenza necessaria ad aiutarmi a fare il mio lavoro. Se ci pensate è come dire che la fallibilità rende intelligenti, cosa che, oltre a essere molto rincuorante per ognuno di noi, è probabilmente la buona strada per creare strumenti utili.

Per ricordarci sempre di questo aspetto, abbiamo affisso in ufficio una delle più belle frasi, a mio parere, proprio di Alan Turing: 

“Se ci si aspetta che una macchina sia infallibile, non può essere anche intelligente”.

Direi che il suo pragmatismo mantiene la sua forza anche a distanza di anni.

Restate sintonizzati!

Scritto da

Scritto da

Michele Aponte

Scopri di più da Ellycode

Abbonati ora per continuare a leggere e avere accesso all'archivio completo.

Continue reading