In aeroporto, nelle stazioni, nei ristoranti e in molti altri luoghi che tutti frequentiamo, nei bagni ci sono le “macchine distributrici di sapone” che consentono di igienizzare le mani: solitamente il sapone (quando c’è) scende alla pressione di un pulsante o di una leva. Ma, nell’epoca dell’automazione, nulla di strano che la macchina riconosca con un sensore la presenza della mano e rilasci un po’ di sapone risparmiando all’utente non tanto la fatica di premere il pulsante o la leva ma soprattutto i batteri e virus che notoriamente alloggiano su tasti e pulsanti (dalle tastiere dei portatili ai temibilissimi tasti degli ascensori, e così via). Se in fondo i lavabi di molti bagni pubblici aprono e chiudono l’acqua con una fotocellula, il che talvolta costringe a strani movimenti della mano per poterla bagnare, è logico e naturale che anche col sapone sia così.
Un video postato su twitter un anno fa, e visualizzato sette milioni e mezzo di volte, mostra questa innocente operazione in una sequenza inquietante: prima un utente pone la mano sotto la macchina distributrice di sapone, e una piccola ma utile quantità dello stesso gli viene spruzzata sulla mano. Un altro utente subito dopo mette la sua di mano, ma non accade nulla. La rimette sotto, la rigira, ma nulla.
La mano del primo utente corrisponde a un bianco (o caucasico come si usa dire negli Stati Uniti), la seconda a un nero: a quest’ultimo la macchina non dispensa sapone, e il malcapitato è costretto a mettere sulla mano una salviettina bianca per vedersi riconosciuto il diritto a insaponare la propria mano.
Che c’entra una stupida macchina distributrice di sapone con le sofisticate tecnologie dell’Intelligenza Artificiale contemporanea?
Entrambe possono dispensare, oltre a sapone e dati, anche comportamenti dettati da pregiudizi o viziati da parzialità, “biased” come si usa dire in statistica.
Il bias nella macchina del sapone è chiaro: chi l’ha progettata è bianco, sicuramente non razzista ma non sufficientemente bravo come analista dei requisiti per scindere una caratteristica accidentale della propria macchina dal comportamento usuale che dovrebbe avere. Se magari uno dei suoi collaboratori fosse stato di colore il problema di riconoscere anche quelle mani se lo sarebbe posto.
Potremmo parlare in questo caso di “bias by design”, sebbene involontario.
A cosa è legato il bias dei dati?
Ma a ben vedere questo esempio è istruttivo per un motivo molto semplice: ogni volta che immaginiamo qualcosa, e un progetto è inizialmente sempre un’opera di immaginazione, tendiamo a visualizzarla, a reificarla e quindi ad arricchirla involontariamente di particolari. Per esempio quando iniziamo la lettura di un romanzo e ci viene introdotto e descritto il protagonista, a parte caratteristiche che l’autore può volerci dire, per esempio se abbia i baffi o la barba, se sia alto o basso, etc., inevitabilmente ci figureremo questa persona immaginaria e lo faremo usando i modelli a noi più vicini e familiari: per esempio tutti noi lo immagineremmo bianco. Non perché siamo razzisti ma perché la mente umana è abitudinaria e tende a formarsi modelli sulle informazioni che più comunemente ha a disposizione.
Il bias nei dati è legato a questo innato bisogno di “fissare le idee” e di rappresentare secondo le forme a noi più comuni i concetti arricchendoli di dettagli a priori inesistenti.
Sentiment Analysis: quanto è influente il bias nei dati?
Consideriamo un esempio tratto da una tecnologia ormai molto in voga, la Sentiment Analysis: lo scopo di quest’ultima è di suggerire se un testo stia esprimendo un concetto positivo o negativo, una valutazione in realtà soggettiva e costruita sulla base di un gran numero di esempi “etichettati” in questo modo.
Solitamente i sistemi di Sentiment Analysis attribuiscono un punteggio a una frase, che è tanto più alto quanto il suo sentiment è positivo e tanto più basso quanto il sentiment è negativo. Un sistema di soglie o normalizzazioni potrà dedurre da questo punteggio una valutazione “positivo”, “negativo” o “neutro”.
Un esempio on line, che chiederò a chi legge (non “al lettore” che è solo maschio!) di usare per un piccolo esperimento, è su questo sito.
Se scriviamo nella form “I don’t like pizza” troviamo un sentiment negativo con un livello di confidenza di oltre l’80%: può essere che nel frattempo il programma sia stato cambiato, comunque chi legge ci provi. Se scriviamo “I love pizza, especially margherita” troviamo “positive” con oltre l’80% di confidenza.
Scriviamo ora una frase che dovrebbe essere neutra: “Let us eat some american food”. In effetti è neutra ma col 60% di confidenza, che possiamo attribuire al fatto che la frase non presenta elementi distintivi per capire se sta dicendo una cosa positiva o negativa.
Proviamo ora con “Let us eat some indian food”. Cosa avete ottenuto? A me è risultato un “negative” con il 66% di confidenza! Il dataset usato dal programma per addestrarsi a capire il sentiment evidentemente ha un bias negativo verso il cibo indiano (ma anche italiano e cinese, sebbene non per il francese!).
Ma c’è di più: se curiosate e cercate la biografia dell’autore del programma scoprirete che è indiano! Sicuramente non può aver introdotto un bias by design contro il cibo della sua madrepatria… Evidentemente, e come sempre, il bias è nei dati, in particolare nel dataset utilizzato per l’addestramento dell’Intelligenza Artificiale dietro questa divertente pagina web. Si tratta di recensioni di film tratte dal repository IMDB.
Questo esperimento ha molti limiti, dato che il programma on line non usa tecniche sofisticate (Deep Learning o simili) ma in realtà queste non farebbero altro che acuire ulteriormente il problema: il fatto che gli algoritmi evidenzino un bias nei dati con i quali “li nutriamo” attesta l’accuratezza degli algoritmi stessi, non una loro deficienza. Anzi, un buon algoritmo di questo tipo può essere usato per scoprire bias in un dataset e aiutare a renderlo più neutrale.
In fondo, per tornare al cibo, un algoritmo, anche se di Machine Learning, resta pur sempre un modo per processare dei dati e produrne altri, un po’ come i succhi gastrici nel nostro stomaco: forniamo loro ottimi e sani manicaretti e avremo una felice digestione e un senso di sazietà; inviamogli cibo malsano e condito da grassi andati a male e saremo funestati, nel migliore dei casi, da un mal di pancia.
Buon appetito a tutti quale che sia la vostra cucina preferita!
Paolo Caressa