La mappa che apre questo pezzo rappresenta i varchi di accesso all’area B di Milano, quella zona della città in cui, dallo scorso ottobre, è vietato l’accesso alle auto a benzina fino alla classe euro 2 e quelli diesel fino all’euro 5. La notizia non sta però nella mappa in sé, quanto nel fatto è stato ChatGPT a scrivere il codice nel linguaggio di programmazione Python che ha permesso di realizzarla.
Lo spunto arriva da un progetto simile, descritto sulla rivista Nightingale da Soonk Paik, che ha usato il chatbot di OpenAI per costruire la mappa delle gallerie d’arte di New York. Da questa parte dell’oceano, la scelta è stata quella di utilizzare il dataset relativo ai varchi di accesso dell’area B disponibile sul portale open data del comune di Milano.
Una volta scaricato il file, InfoData ha elaborato la richiesta da rivolgere a ChatGPT. Sul modello di quella scritta da Paik, il tentativo è stato quello di essere il più specifici possibile. Si è quindi iniziato dicendo che l’obiettivo era quello di costruire una mappa, indicando il nome del file nel quale sono contenuti i dati. Ancora, è stato necessario specificare in quali colonne si trovassero le coordinate geografiche e specificare che nel file è presente una colonna che indica lo stato di attivazione dei varchi, sulla base del quale modificare il colore dei punti sulla mappa. Infine, la richiesta è stata quella di inserire un titolo, un sottotitolo e una legenda. Specificando, ovviamente, il loro contenuto testuale.
Il chatbot ha iniziato indicando una serie di librerie Python necessarie per realizzare la mappa, specificando il comando da inserire nel terminale per installarle qualora non fossero presenti. Quindi ha generato il codice da inserire nell’editor di Python, è stato usato IDLE, per costruire la mappa. ChatGPT ha anche indicato come fosse necessario che il file con il codice e quello con i dati si trovassero nella stessa cartella. Una volta dato il comando Run, che ha fatto sì che venisse creata la mappa, sono apparsi però alcuni messaggi di errore.
È stato sufficiente copiarli ed incollarli nella conversazione con il bot perché quest’ultimo ci spiegasse di che si trattasse e soprattutto indicasse come risolverli. Il primo problema riguardava il fatto che, nell’intestazione delle colonne del file contenente i dati, longitudine e latitudine avevano l’iniziale maiuscola, mentre nel codice era indicata come minuscola. Il secondo, invece, il formato dei numeri: la libreria utilizzata richiedeva che il separatore dei decimali fosse il punto, mentre nel file era usata la virgola. Due problemi facilmente risolvibili con il comanto Trova e sostituisci del foglio di calcolo, ma per affrontare i quali ChatGPT ha fornito due righe di codice da aggiungere a quello originale.
Corretti gli errori, il codice scritto dall’intelligenza artificiale ha generato una mappa, salvandola in un file .html. La nostra richiesta iniziale era quella di un’immagine statica, ma una versione interattiva è certamente migliore. Quella che segue, invece, è la stessa mappa realizzata con Tableau, uno dei software di data visualization impiegato da InfoData:
Sulla qualità lasciamo che si esprima il lettore, sui tempi di realizzazione vince ancora l’umano. Ma solo perché l’umano in questione ancora fatica a districarsi tra terminali e ambienti di sviluppo Python. La pratica finirà per accorciare i tempi, l’esperienza a suggerire ulteriori elementi da prendere in considerazione, come ad esempio il font da utilizzare sulla mappa e la necessità di darle il color mandorla tipico delle pagine del Sole24Ore.