Dagli studenti alle prese con la stesura della tesi di laurea ai programmatori improvvisati, passando da esperienze più articolate in moltissimi ambiti del sapere, ChatGPT si presta ai fini più disparati.
Non è un caso che diversi siano coloro che hanno iniziato ad utilizzarlo per esperimenti di cosiddetta summarization di testi, e fra questi anche di testi giuridici (in particolar modo sentenze). Per comprendere la potenziale portata dello strumento in questo dominio di ricerca dobbiamo però fare un passo indietro, capire cos’è la summarization e che ruolo può giocare nel rapporto fra Intelligenza Artificiale, Natural Language Processing (NLP) e dati giuridici.
Summarization: a cosa serve
Molti degli studi condotti, tanto a livello europeo quanto internazionale, e dei progetti finanziati negli ultimi anni che hanno ad oggetto l’intelligenza artificiale e i dati giuridici, soprattutto quelli giudiziari, si ponevano l’ambizioso obiettivo di fare della predizione: trovare un modello che – correttamente allenato – potesse prevedere elementi ancora non noti.
La predizione può realizzarsi in diversi modi: può avere ad oggetto un esito netto (Yes or no, accolto o rigettato) o una probabilità (c’è il 20% della probabilità che il ricorso venga accolto); può concentrarsi sull’esito di una decisione giudiziaria futura o anche esulare dal contesto giudiziario, e avere ad oggetto la possibilità che una proposta di legge venga adottata dall’organo deputato; può fondarsi su dati solo testuali o su informazioni ulteriori estranee al testo originario, o addirittura mescolare i due approcci.
Quel che è certo è che, in tutti questi casi, l’obiettivo ultimo è quello di utilizzare dati del passato per poter fare previsioni sul futuro.
Questo obiettivo si è scontrato fino ad ora con diverse difficoltà, alcune delle quali peculiari del nostro sistema giuridico e giurisdizionale. In primo luogo, il fatto che più omogenei e strutturati sono i testi, più è facile condurre su questi un’analisi di tipo quantitativo. La non omogeneità delle decisioni delle corti italiane (in termini di estensione e struttura del testo) ha reso difficile ottenere, fino ad ora, risultati molto soddisfacenti. In più, molti di questi esperimenti richiedono un ingente lavoro di taggatura manuale dei dataset di partenza su cui i modelli vengono allenati, e ciò si scontra con la necessità di avere una grande quantità di dati per l’allenamento.
Abbandonata – o per ora solo messa da parte? – la strada della predizione, costellata di difficoltà e polemiche (soprattutto sul rischio, per ora più vicino alla fantascienza, che il giudice umano possa essere sostituito da un sistema informatico), un’altra strada su cui si concentra l’attività di ricerca è quella della summarization dei testi giuridici, che potremmo tradurre in italiano come attività di sintesi.
L’attività di massimazione
L’attività di sintesi di materiale giuridico espresso in linguaggio naturale non è sconosciuta all’attività dei giuristi: anzi, con riferimento l’attività di massimazione delle sentenze è attività nobile e antica.
La massima, nella nostra tradizione giuridica, non è semplicemente una sintesi del caso, ma è una esternazione di principio di diritto estendibile a casi simili. Il ruolo della massimazione è talmente significativo nella nostra tradizione giuridica che l’Ufficio del Massimario è un ufficio della Corte di cassazione, a cui il nostro ordinamento attribuisce una funzione nomofilattica.
L’attività di massimazione è appannaggio dell’intelligenza umana e giuridica, in grado di discenderne fatto da diritto, di elaborare una regola che si rivolga ai casi che verranno.
Le potenzialità del NLP applicato ai dati giuridici
Il NLP applicato ai dati giuridici (siano essi sentenze, atti normativi, articoli di dottrina), può qualcosa di diverso: può analizzare una immensa quantità di dati etichettandoli – sono noti i diversi applicativi che identificano le frasi d’odio online, ad esempio su Twitter; può trovare pattern e frammenti di testo rilevanti, quindi di fatto analizzare testi esistenti, oppure può generarne di nuovi. Può quindi, generare o estrarre porzioni di testo rilevanti da materiale giuridico.
Verrebbe da chiedersi quale sia la finalità di un’attività di summarization così delineata. Quanto meno a mio avviso il grande potenziale non risiede tanto nell’emulare l’attività di massimazione, quindi la capacità di estrarre il principio di diritto da ciascuna sentenza: il potenziale sta nello svolgere un’attività di supporto, per velocizzare le attività più routinarie e time-consuming degli uffici giudiziari, prodromiche all’attività decisoria vera e propria.
Oppure altro potenziale risiede nella possibilità di estrarre pattern di ragionamento giuridico da ingenti quantitativi di testo espresso in linguaggio naturale, magari da fonti diverse: articoli di dottrina, dati normativi e giurisprudenziali.
Per non parlare dell’universo sconfinato del plurilingusimo: se è vero che, con una traduzione automatica, le sfumature della tradizione giuridica di appartenenza si perdono molto, è anche vero che per quanto grezzi, i dati giuridici a cui si ottiene accesso sono infinti.
In più, l’attività di sintesi può essere prodromica ad attività ulteriori: le porzioni di testo rilevanti estratte in automatico da una sentenza potrebbero andare a comporre parti di un nuovo documento grazie all’ausilio di un document builder.
Summarization: come si può fare
Nel delineare le potenzialità della summarization abbiamo sorvolato su come questa possa essere realizzata.
Va innanzitutto osservato che può essere di tipo estrattivo o di tipo astrattivo: I metodi estrattivi selezionano le frasi più rilevanti all’interno di un testo (senza che venga in rilevo la comprensione del significato), quindi il riassunto che ne risulta è solo una porzione del testo completo. Al contrario, i modelli astrattivi utilizzano metodologie di NLP più avanzate – come il word embedding) per comprendere la semantica del testo e generare un riassunto.
Le tecniche di tipo astrattivo sono molto più vicine a quelle di massimazione che abbiamo richiamato prima, poiché il testo che viene generato dal modello è un testo di senso compiuto che non si limita a riproporre frammenti del testo originale.
Le due diverse modalità riflettono, oltre a metodologie diverse, anche potenzialità differenti: è chiaro che un riassunto di tipo estrattivo è calato nel testo da cui origina e quest’ultimo resta protagonista dell’analisi. I riassunti di tipo astrattivo, invece, sono più autonomi dal testo da cui scaturiscono, e possono realizzare anche un cambio di registro. Non limitandosi a estrarre parole o frasi, possono rendere più accessibili contenuti a un pubblico non specializzato.
E ChatGPT?
All’interno di questo panorama è comparso ChatGPT, ora nella sua versione chatGPT 4. Si è rivelato subito un potenziale alleato per gli esperimenti di summarization di tipo astrattivo, soprattutto perché essendo ampliamente pre allenato riduce il problema del collo di bottiglia dato dalla necessità di annotare manualmente i testi.
Lo strumento ha indubbiamente una grande potenziale a questo fine: bisognerà esplorare quali siano i prompt più corretti con cui interrogarlo, come impostare correttamente i parametri.
Da una prima analisi il problema più importante resta, tuttora, quello della lunghezza dei testi che possono essere oggetto di un’attività di sintesi. È chiaro che, per definizione stessa, la sintesi presuppone un testo di input abbastanza altrimenti viene meno il vantaggio stesso.
Il numero di token (l’unità di base dei dati in input) che possono essere analizzati sono tuttora non molti, e la soluzione più accessibile sembra essere quella di frammentare il testo, con il rischio però di non generare un riassunto unitario e coerente.