Intelligenza artificiale

Perché ChatGPT non basta per fare una dieta

ChatGPT ricostruisce i valori nutrizionali invece di leggerli, e i conti di una giornata non li calcola. Perché accade, e che cosa rende verificabile un piano.

Giulio ParrinelloFondatore di NutriFacile10 min di lettura

In breve

ChatGPT e gli altri modelli linguistici generano il testo di una dieta, non il suo calcolo. I valori nutrizionali che compaiono nella risposta vengono ricostruiti dalla memoria di addestramento invece di essere letti da una banca dati, e il totale calorico dichiarato in fondo al piano di norma non è stato sommato. Perché un software produca numeri verificabili servono quattro condizioni: i valori devono essere letti da una banca dati dichiarata, le grammature calcolate da un algoritmo su un obiettivo esplicito, le esclusioni cliniche applicate prima che il pasto venga composto, e il piano deve restare una bozza finché un professionista non lo approva.

Negli studi di nutrizione l’intelligenza artificiale è arrivata prima degli strumenti pensati per usarla. Da quando i modelli linguistici sono diventati di uso comune capita spesso che un piano alimentare venga abbozzato in chat: si descrive il paziente, si indicano il fabbisogno calorico e le esclusioni, si chiede una settimana di menù, e nel giro di pochi secondi arriva un testo ordinato, con i pasti divisi per giorno e i valori nutrizionali accanto a ogni alimento. Il risultato ha l’aspetto di un lavoro finito, ed è proprio questo a rendere il problema difficile da vedere.

La difficoltà non riguarda la qualità della scrittura, che è alta, ma il modo in cui quei numeri sono stati prodotti. Un piano alimentare non è soltanto un testo, è un calcolo sottoposto a vincoli, e in una conversazione la parte di calcolo non viene quasi mai eseguita. Conviene allora guardare da vicino dove il meccanismo si inceppa, anche perché i punti critici sono pochi e si possono verificare in prima persona, senza doversi fidare della parola di chi scrive.

Come un modello linguistico produce un valore nutrizionale

Un modello linguistico funziona prevedendo la parola successiva più probabile data la sequenza che la precede. Quando in una risposta compare la riga «120 g di petto di pollo, 198 kcal», quel numero non è stato cercato da nessuna parte: è la continuazione statisticamente più plausibile della frase, appresa durante l’addestramento su grandi quantità di testo in cui righe simili comparivano di frequente. Nella prosa questa caratteristica non crea problemi, perché una parola scelta per verosimiglianza resta una parola adatta. Applicato ai dati numerici, lo stesso criterio produce un effetto insidioso: valori il cui ordine di grandezza è quasi sempre corretto e il cui valore puntuale è spesso sbagliato. Un piano che sbaglia del quindici per cento l’apporto proteico ha esattamente lo stesso aspetto di un piano corretto, e per accorgersene occorre ricalcolarlo.

Va aggiunta una precisazione, perché negli ultimi anni il quadro è cambiato. Le versioni recenti di ChatGPT possono navigare il web ed eseguire codice, e quando lo fanno una fonte viene consultata davvero e una somma viene calcolata davvero. Il punto è che chi riceve la risposta non ha modo di sapere quale dei due percorsi sia stato seguito, perché il testo finale è identico nei due casi. In una dieta, dove ogni riga porta un numero destinato a essere pesato su una bilancia, non poter distinguere un valore letto da un valore ricostruito equivale a non poter verificare il piano.

Perché lo stesso alimento compare con due valori molto diversi

Il riferimento ufficiale italiano per la composizione degli alimenti sono le tabelle del CREA, il Consiglio per la ricerca in agricoltura e l’analisi dell’economia agraria, che ha ereditato il lavoro dell’INRAN. Nella versione consultabile online raccolgono circa novecento alimenti e oltre un centinaio di nutrienti, nell’aggiornamento del 2019, e ogni alimento è identificato da un codice numerico. La struttura di queste tabelle spiega da sola uno degli errori più comuni, perché molti alimenti compaiono in più righe, una per ciascuna forma in cui arrivano a tavola.

La pasta di semola ne è l’esempio più frequente. Cruda porta 341 kcal per 100 grammi, con 13,5 grammi di proteine e 72,7 di carboidrati; cotta e scolata porta 175 kcal per 100 grammi, con 6,9 grammi di proteine e 37,3 di carboidrati. Non è che la cottura sottragga energia: la pasta assorbe acqua e quasi raddoppia il proprio peso, quindi lo stesso etto contiene circa metà del prodotto di partenza. La stessa distinzione vale, con una forbice ancora più ampia, per i legumi secchi: le lenticchie passano da 319 kcal per 100 grammi da secche a 109 una volta bollite.

Un professionista che scrive «80 g di pasta» in un piano sa a quale delle due righe si riferisce, e di solito lo annota accanto alla grammatura. Una chat a cui venga chiesto quante calorie contengano 80 grammi di pasta può rispondere 273 oppure 140 a seconda di quale riga della tabella prevalga in quel momento nella generazione, e in genere non pone la domanda che servirebbe a disambiguare. L’errore, quando si presenta, è di un fattore due, e su un piano settimanale si somma giorno dopo giorno.

La somma di una giornata alimentare non è una stima

Comporre una giornata da 1.700 kcal con una ripartizione stabilita fra carboidrati, proteine e grassi significa risolvere un problema di ottimizzazione: si scelgono gli alimenti, poi si cercano le grammature che portano i totali dentro un margine di tolleranza su più grandezze contemporaneamente. È un problema che ammette una soluzione oppure non l’ammette, e trovarla richiede di provare combinazioni e correggere le quantità finché i conti non tornano.

Un modello linguistico non esegue questo procedimento. Produce un piano dall’aspetto ragionevole, con porzioni che rientrano nelle abitudini viste in addestramento, e in fondo dichiara un totale che nella maggior parte dei casi non deriva da una somma. Chi ha la pazienza di ricalcolare a mano le righe di un singolo pasto trova quasi sempre uno scarto fra il totale dichiarato e quello reale. Su cinque pasti e sette giorni lo scarto non resta confinato dove è nato, e il piano finisce per discostarsi dal fabbisogno che era stato calcolato in visita.

La banca dati di riferimento cambia i numeri

C’è una seconda domanda che una conversazione in chat non permette di porre, e riguarda la provenienza dei valori. Le banche dati nutrizionali non sono intercambiabili, perché descrivono ciascuna il proprio mercato: quelle statunitensi, a partire dai database dell’USDA, riportano prodotti, tagli di carne e preparazioni in uso negli Stati Uniti, mentre le tabelle del CREA descrivono gli alimenti nella forma in cui vengono acquistati e cucinati in Italia.

I modelli linguistici sono addestrati in larga prevalenza su testo in lingua inglese, e la conseguenza è prevedibile: quando ricostruiscono un valore tendono a riprodurre quello che hanno incontrato più spesso, cioè il valore statunitense. Il piano che ne risulta può essere coerente con una tabella estera e sbagliato rispetto a quella italiana, senza che nella risposta compaia alcun indizio su quale delle due sia stata usata. A questo si aggiunge una difficoltà pratica di reperibilità, perché un piano costruito su alimenti e preparazioni che il paziente non trova nel proprio supermercato viene seguito male.

Il momento in cui vengono applicate le esclusioni cliniche

Nella richiesta di un piano alimentare la parte più delicata non è l’elenco degli alimenti da usare, ma quello degli alimenti da escludere: allergie, intolleranze, patologie che impongono limiti, farmaci con interazioni note, scelte alimentari del paziente. In una conversazione l’esclusione è un’istruzione fra le altre, e come tutte le istruzioni può perdersi lungo il percorso, soprattutto quando il piano viene rivisto più volte e il testo si allunga. Chi ha usato una chat per correggere un menù in tre o quattro passaggi conosce il fenomeno: l’alimento escluso all’inizio ricompare in una delle revisioni successive.

Un software costruito per questo scopo tratta la stessa informazione in un altro momento del processo. L’alimento escluso non entra nell’insieme da cui i pasti vengono composti, quindi non può comparire nel piano e non deve essere rimosso in fase di revisione. La distinzione è sostanziale, perché sposta il problema dal terreno della probabilità a quello della struttura: nel primo caso l’errore è raro, nel secondo è impossibile per costruzione. Su un paziente celiaco, o con un’allergia grave, le due condizioni non sono equivalenti.

Che cosa i modelli linguistici fanno bene

Il quadro sarebbe falso se si fermasse ai limiti, perché nella composizione di una dieta esiste una parte consistente di lavoro che è linguistica e non aritmetica, ed è la parte in cui questi strumenti danno il contributo maggiore. Proporre abbinamenti sensati senza ripetere quattro volte lo stesso pranzo, tenere insieme la varietà di una settimana, recepire una preferenza espressa a parole come «non mangio pesce a cena» oppure «la mattina ho poco tempo», riscrivere un piano in un italiano che il paziente capisca e riesca a seguire: sono compiti in cui un modello linguistico è affidabile, e che tolgono al professionista una quota reale di lavoro ripetitivo.

Ne discende una divisione dei compiti abbastanza naturale, ed è quella adottata dai software progettati per questo uso. Il modello si occupa della selezione e della forma, cioè sceglie le combinazioni di alimenti e redige il testo; un algoritmo deterministico calcola le grammature necessarie a centrare l’obiettivo nutrizionale; la banca dati fornisce i valori, che vengono letti e non generati. Ciascuno dei tre strumenti lavora dove commette meno errori, e il risultato può essere ricontrollato riga per riga.

I dati del paziente e l’articolo 9 del GDPR

Accanto alla questione dell’accuratezza ne esiste una seconda, indipendente dalla prima e destinata a restare aperta anche nel caso in cui i numeri fossero perfetti. Un piano alimentare nasce da un’anamnesi, che contiene patologie, terapie in corso, misure antropometriche e talvolta una diagnosi. Sono dati relativi alla salute, che il Regolamento (UE) 2016/679 classifica all’articolo 9 fra le categorie particolari di dati personali e sottopone a un regime più stringente rispetto ai dati comuni.

Incollare quell’anamnesi in un servizio rivolto al pubblico generale significa trasferirla a un fornitore che non è stato nominato responsabile del trattamento, in assenza di un accordo che ne disciplini l’uso e senza garanzie verificabili su come quel contenuto verrà conservato o impiegato. Il professionista resta il titolare del trattamento, e la responsabilità della scelta ricade su di lui.

Sul modo in cui l’intelligenza artificiale può essere impiegata in ambito sanitario il quadro italiano è già stato tracciato. Il Decalogo del Garante per la protezione dei dati personali, adottato il 10 ottobre 2023, fissa tre principi: la conoscibilità, cioè il diritto della persona di sapere che un processo decisionale che la riguarda si è avvalso di strumenti automatizzati e di conoscere la logica seguita; la non esclusività della decisione automatizzata, che richiede una supervisione umana qualificata; la non discriminazione algoritmica. Applicati alla nutrizione, i primi due principi significano che un piano prodotto da un sistema automatico resta una bozza finché un professionista non lo ha letto, corretto e fatto proprio, e che il paziente ha diritto di sapere come è stato elaborato.

Tre verifiche che si possono fare in pochi minuti

Nessuna delle affermazioni precedenti chiede di essere presa sulla fiducia, perché il comportamento di un modello linguistico sui valori nutrizionali si osserva direttamente. La prima verifica consiste nel chiedere due volte lo stesso piano, in due conversazioni separate e con vincoli identici, per poi confrontare non la struttura dei pasti ma i valori attribuiti ai singoli alimenti. Un valore letto da una tabella è sempre lo stesso valore, quindi se cambia da una risposta all’altra non proveniva da una tabella.

La seconda consiste nel prendere un pasto qualsiasi del piano, sommare a mano le calorie e i macronutrienti delle sue righe e confrontare il risultato con il totale dichiarato. La terza consiste nel chiedere la fonte precisa di un valore, con il nome dell’alimento e il codice della riga: se il codice indicato esiste, la verifica sul portale del CREA richiede meno di un minuto; se non esiste, il valore era stato ricostruito.

Le condizioni perché i numeri di un software siano verificabili

Da quanto precede si ricavano quattro condizioni, che vale la pena chiedere a chiunque proponga uno strumento di questo tipo, compreso NutriFacile. La prima riguarda l’origine dei valori nutrizionali, che devono essere letti da una banca dati dichiarata e aggiornata, con la possibilità di risalire alla tabella e alla riga specifica invece di dover accettare un numero privo di provenienza.

La seconda riguarda le quantità: le grammature devono essere calcolate da un algoritmo che risolve un obiettivo nutrizionale esplicito, in modo che il totale in fondo alla giornata sia il risultato di un’operazione e non un’affermazione aggiunta al testo. La terza riguarda le esclusioni cliniche, che devono agire sull’insieme degli alimenti disponibili prima che i pasti vengano composti, e non essere applicate come filtro finale su un piano già scritto. La quarta riguarda la responsabilità: il piano prodotto è una bozza fino all’approvazione del professionista, e di quell’approvazione deve restare traccia, con l’indicazione di chi l’ha data e quando.

Sono condizioni tecniche, verificabili una per una, e non dicono nulla contro l’impiego dell’intelligenza artificiale in nutrizione. Delimitano piuttosto il perimetro entro cui quell’impiego produce un risultato che il professionista può controllare, correggere e firmare, che è poi la sola forma in cui un piano alimentare arriva a un paziente.

Chi ha scritto

Giulio Parrinello, Fondatore di NutriFacile

Fondatore di NutriFacile, si occupa dell’architettura del prodotto: quali dati entrano nel sistema, come vengono trattati e dove l’intelligenza artificiale può intervenire. Firma i testi che riguardano il software, i dati e gli adempimenti dello studio.

Correzioni e segnalazioni: g.parrinello@nutrifacile.it

Pronto a trasformare il tuo studio?

Inizia oggi la prova gratuita di 14 giorni. Nessuna carta di credito.