SCIENZA E RICERCA
Algoritmi neutrali: non ci sono, e se ci fossero non funzionerebbero
Ormai lo sappiamo: la nostra vita e soprattutto le nostre decisioni sono influenzate da diversi algoritmi. A volte ci propongono prodotti, pubblicità e contenuti che potrebbero interessarci, o ci suggeriscono di aggiungere contatti che conosciamo sui social. Altre volte hanno un impatto molto più forte, e non sempre democratico, come è successo con Compas, un modello realizzato dalla società NorthPointe che calcolava la probabilità di recidiva nelle persone arrestate e restituiva un alto numero di falsi positivi, quasi tutti di colore. Un altro caso analogo è quello di Amazon, che nel 2014 aveva affidato a un algoritmo il compito di selezionare i dipendenti, basandosi sulle parole usate nei CV delle persone già assunte. Il risultato, che a posteriori non stupisce, è che l'intelligenza artificiale aveva proposto quasi esclusivamente uomini: basandosi sulle assunzioni degli ultimi anni, infatti, non aveva fatto altro che reiterare il comportamento dei selezionatori umani, che avevano assunto, neanche a farlo apposta, molti più profili maschili, accomunati evidentemente dall'uso di una terminologia connotata secondo il genere nei loro CV. Il problema, in entrambi i casi citati, non è dell'intelligenza artificiale, che si limita a fare ciò che l'essere umano le dice di fare. Il problema è che alla base delle istruzioni c'è un sistema di credenze così radicato nella società che gli ingegneri non ci fanno caso, se non quando i risultati lo fanno emergere.
Per fortuna, però, esistono anche algoritmi più tranquilli, come quello ideato da Esteban Moro, professore, ricercatore e data scientist all'Università Carlos III di Madrid e visit professor al Massachusetts Institute of Technology (MIT). Il suo algoritmo è forse più frivolo di quelli che abbiamo appena visto, ma ha il pregio di non essere discriminatorio: serve per vincere a Wordle, e noi ne parliamo perché capire come è stato costruito ci può dare degli indizi per comprendere il funzionamento di altri meccanismi analoghi.
I wrote a simple blog post about how to play (and 99% win) Wordle with R https://t.co/stb33cBDDn The simple strategy is to exploit the bias in Wordle answers towards more frequent words in English, combined with a smart choice for the initial guess ("orate"). Enjoy! #RStats
— Esteban Moro (@estebanmoro) January 11, 2022
Ma facciamo un passo indietro: che cos'è Wordle? È un gioco simile a Mastermind che consiste nell'indovinare una parola di cinque lettere partendo da zero con sei tentativi a disposizione. A ogni tentativo il sistema ti dice se le lettere che hai usato sono collocate nel posto giusto, nel posto sbagliato o se non ci sono proprio. Il gioco è diventato popolare grazie ai social, specialmente a Twitter, ed è disponibile anche una versione italiana, che utilizza le stesse regole anche se non è stata creata da Josh Wardle, che aveva ideato la sua per intrattenere la famiglia durante il lockdown. Si può giocare solo una volta al giorno, il che è un bene, perché in caso contrario forse quest'articolo non avrebbe mai visto la luce, ma proprio per questo motivo non indovinare la parola potrebbe diventare frustrante, quindi l'algoritmo di Esteban Moro forse è meno frivolo di quanto si pensi.
In un articolo del suo blog Moro spiega dettagliatamente come è arrivato alla creazione di una strategia che ha avuto successo il 99% delle volte su 206 tentativi. Purtroppo il suo metodo funziona soltanto con la versione inglese, ma potrebbe essere una sfida interessante per informatici e linguisti di altri paesi, che dovrebbero trovare un processo diverso che si adatta maggiormente alla loro lingua.
Il punto di partenza della strategia di Moro, infatti, è partire da una parola che risulti la base migliore per i tentativi successivi: nel caso dell'inglese sarebbe "aeros", che contiene le cinque lettere più frequenti in questa lingua (tra i primi lo ha notato Edgar Allan Poe ne Lo scarabeo d'oro).
Moro ha riprodotto Wordle sul suo computer grazie al linguaggio di programmazione e all'ambiente di sviluppo gratuito "R", inserendo tutte le 12.972 parole di cinque lettere presenti nella lingua inglese. Dopo "aeros", il sistema sceglie una parola a caso le cui lettere corrispondano alle indicazioni (quindi, per esempio, se è presente una "e", il sistema escluderà tutte le parole senza questa lettera) e prosegue così fino al sesto tentativo. Rapido e indolore, questo procedimento aveva un solo difetto: non funzionava nel 20% dei casi (la percentuale migliorava quando le parole venivano proposte due volte, perché era previsto anche un processo di apprendimento, ma rimaneva una percentuale di errore del 10%).
A questo punto però altri giocatori hanno notato che c'erano parole che comparivano più frequentemente di altre, ed erano le parole più usate nella lingua inglese (lo stesso Wardle ha confermato di non aver usato parole rare).
Grazie a questa informazione, Moro ha modificato l'algoritmo, facendogli selezionare, tra tutte le parole possibili rispettando le regole e le indicazioni del gioco, quelle più frequenti. Purtroppo la percentuale di errore del 20% rimaneva, ma si riduceva di molto quella del 10% delle parole già proposte in precedenza, che passava al 3%. Per un perfezionista, però, non era ancora abbastanza.
Moro quindi si è chiesto se, dai dati a sua disposizione, non si potesse magari estrapolare altre informazioni utili e ha scoperto che nelle 200 soluzioni del gioco originale la lettera T compariva molto più spesso che la S. Così, invece che usare "aeros" come prima parola ha cominciato a utilizzare "orate" e la percentuale di errore è passata all'1%. Naturalmente un miglioramento di due punti percentuale con un numero di prove non altissimo potrebbe rivelarsi un errore statistico, ma questo ce lo dirà solo il tempo.
Wordle 206 3/6
— Esteban Moro (@estebanmoro) January 11, 2022
⬜🟩⬜⬜⬜
⬜🟩🟩🟩⬜
🟩🟩🟩🟩🟩 using my strategy + “orate” as initial guess
Quello che è interessante notare, è che Moro ha sfruttato una debolezza (calcolata) di Josh Wardle, ovvero l'utilizzo più frequente di parole semplici, per addestrare l'intelligenza artificiale, che si basa quindi su un pregiudizio, esattamente come l'algoritmo di Amazon si basava sulle scelte precedenti dei selezionatori, risultando discriminatorio come loro. Siamo abituati a pensare ad algoritmi e intelligenze artificiali come a entità neutre: in quanto macchine, non hanno sentimenti, quindi non provano particolari simpatie e antipatie e dovrebbero quindi restituirci informazioni scevre da pregiudizi. Così non è, nemmeno quando parliamo di un gioco tutto sommato molto semplice, perché a idearlo è stato comunque un essere umano. Come possiamo pretendere che un algoritmo risulti completamente imparziale quando in gioco ci sono variabili che comprendono tutte le sfaccettature, caratteriali e verbali, di un altro essere umano?