Ho creato un ChatGPT che si ispira agli esercizi dell’Opificio di Letteratura Potenziale. Lo uso per esplorare le possibilità combinatorie della scrittura à contraintes. Sottomessa a restrizioni formali, l’intelligenza artificiale passa alcuni test in modo egregio. Con altri è – per ora – in grande difficoltà.
In questo articolo illustro i risultati ottenuti assegnando a un ChatGPT personalizzato lo svolgimento di alcuni esercizi di scrittura à contraintes. Dopo averlo istruito sulla sua missione e debitamente documentato, ho chiesto al mio chatbot di riscrivere un testo dato, applicando di volta in volta specifici vincoli: restrizioni alfabetiche, fonetiche, sintattiche o lessicali. Le cose non sono sempre andate benissimo, anche se in alcuni casi l’intelligenza artificiale di ChatGPT ha esibito risultati sorprendenti. La macchina è alle prime armi, ma con l’opportuno addestramento può migliorare (prometto un nuovo post fra qualche settimana). Resta la domanda di fondo, di non facile risposta: la capacità combinatoria della macchina può essere considerata una forma di creatività?
L’antico sogno della macchina che sa scrivere
Il sogno di una macchina in grado di dominare il linguaggio naturale, ossia di generare testi originali indistinguibili da quelli umani per la loro adeguatezza grammaticale, è antico. A tale sogno si è accompagnato quello – talvolta rappresentato come un incubo – di una macchina letteraria: una macchina, cioè, capace di sfoggiare una sua spigliatezza stilistica, raccontare storie e comporre versi.
Era il 1953 quando Roald Dahl pubblicava per la priva volta, all’interno della raccolta Someone Like You, il racconto The Great Automatic Grammatizator. La storia è nota. L’ingegnere informatico Adolph Knipe sviluppa una macchina capace di scrivere romanzi perfetti in brevissimo tempo. Persuasi che la letteratura possa essere ridotta a mere formule matematiche, Knipe e il suo capo, Mr. Bohlen, decidono di sfruttare l’invenzione per dominare il mercato editoriale. Dopo un primo successo, i due si spingono a comprare il silenzio degli autori reali, inducendoli a non scrivere più in cambio di una percentuale sugli introiti.
Cibernetica e fantasmi
Una quindicina di anni dopo Italo Calvino preconizzava l’avvento di macchine letterarie che prima o poi si sarebbero messe «a proporre nuovi modi d’intendere la scrittura, e a sconvolgere completamente i propri codici» (Calvino 1967-1968). Ma già un secolo e mezzo prima, nel 1824, Leopardi compose la Proposta di premi fatta dall’Accademia dei Sillografi, satira contro la civiltà delle macchine confluita nelle Operette morali. Nella Proposta si immagina un concorso, indetto da una fantomatica accademia, per premiare l’invenzione di tre macchine: la prima che modelli l’amico perfetto, la seconda un uomo artificiale capace di compiere opere virtuose, la terza la donna perfetta, secondo i dettami forniti dal Castiglione nel Cortegiano. I sillografi cui Leopardi allude erano gli «scrittori di silli», ossia i compositori di una forma di parodia, a metà fra poesia e filosofia, diffusa in Grecia fra il VI e il III secolo prima dell’Era Volgare.
Un gioco fondato su capacità permutative
L’aspetto più interessante dell’ipotesi formulata da Calvino è l’idea che la creatività del poeta e dello scrittore abbia a che fare con la proprietà permutativa del linguaggio. La creatività consisterebbe in una certa capacità di combinare campi linguistici (lessico e grammatica), capacità che potremmo ben attribuire a una macchina. Avremmo a che fare, in questo senso, con una «macchina scrivente»:
L’uomo sta cominciando a capire come si smonta e si rimonta la più complicata e la più imprevedibile di tutte le sue macchine: il linguaggio. Avremo la macchina capace di sostituire il poeta e lo scrittore, di ideare e comporre poesie e romanzi? Penso a una macchina scrivente che metta in gioco tutti quegli elementi che siamo soliti considerare i più gelosi attributi dell’intimità psicologica, dell’esperienza vissuta, dell’imprevedibilità degli scatti d’umore, i sussulti e gli strazi e le illuminazioni interiori. Che cosa sono questi se non altrettanti campi linguistici, di cui possiamo benissimo arrivare a stabilire lessico grammatica sintassi e proprietà permutative?
Il segreto dell’originalità
Le permutazioni generano nuove combinazioni. Sono cioè alla base dell’originalità, attributo che si suole riconoscere a ogni artefatto creativo. Possiamo dunque affermare che, nella misura in cui la macchina è in grado di produrre qualcosa di nuovo, essa sia dotata di capacità creativa? Non proprio. Come lo stesso Alan Turing sembra riconoscere, non basta che l’output della macchina sia originale. Occorre che esso risulti interessante («interesting»). Così si esprimeva Turing in un’intervista radiofonica rilasciata alla BBC nel 1951:
If we give the machine a programme which results in its doing something interesting which we had not anticipated, I should be inclined to say that machine had originated something, rather than to claim that its behaviour was implicit in the programme, and therefore that the originality lies entirely with us. (in Copeland 2004, p. 485)
ChatGPT non inventa. Estrae
Del resto, se chiediamo a ChatGPT di generare un verso di cinque parole, precisando che deve essere grammaticalmente ben formato, ma privo di valore semantico, vediamo restituirci un risultato di questo tipo: «Silente luna danza suoni grigioverdi». Formulazione magari divertente, ma in fin dei conti di scarso interesse. La somiglianza con il famoso «Cordless green ideas sleep furiously» di Noam Chomsky (1957) è addirittura sospetta.
Se invece eliminiamo dal prompt il requisito dell’insensatezza, otteniamo da ChatGPT versi come «L’onda infrange sogni sulla scogliera» o «Sussurra il vento tra foglie d’oro». Nel primo caso la spia poetica risiede nell’uso del verbo infrangere. Grammaticalmente, esso funge da predicato nella sequenza « L’onda infrange sogni», ma sottintende una metafora: i nostri sogni si infrangono come le onde sulla scogliera. Nel secondo caso abbiamo un’anastrofe, ovvero una violazione nella disposizione ordinaria degli elementi dei discorso («Sussurra il vento», anziché «Il vento sussurra»). In entrambi i casi c’è quel minimo di originalità che ci aspettiamo dal discorso poetico. Tuttavia, a ben considerare, si tratta di espedienti scontati: la metafora è al limite della catacresi, mentre l’anastrofe ha ben poco di sovversivo. A proposito di ChatGPT e del suo modo di essere “originale”, sovviene ciò che osservava Roland Barthes (1970) a proposito dell’inventio: essa è una nozione più “estrattiva” che “creativa”.
In modo ancora più esplicito, Naomi Baron (2023) evidenzia i tre attributi della lavoro creativo: originalità, riconoscimento sociale del contributo, durabilità e quindi capacità di modificare nel tempo una scala di valori (dell’ultimo libro della linguista americana parlo in Naomi Baron: la sfida della scrittura sintetica). Per non chiamare in causa l’argomento della coscienza, che portava Geoffrey Jefferson a dire:
Not until a machine can write a sonnet or compose a concerto because of thoughts and emotions felt, and not by the chance fall of symbols, could we agree that machine equals brain — that is, not only write it but know that it had written it. (Jefferson 1949, p. 1110)
Un ChatGPT chiamato OuLiPo
Veniamo dunque al ChatGPT personalizzato, che ho creato per mettere alla prova la capacità del modello GPT-4 di svolgere esercizi di scrittura sotto vincoli. Al mio ChatGPT ho dato il nome di OuLiPo, richiamandomi esplicitamente all’esperienza dell’Opificio di Letteratura Potenziale che operò in Francia negli anni Sessanta. Ad esso ho fornito istruzioni specifiche, relative alla sua missione: scrivere nel rispetto di regole o vincoli che possano portare a nuove idee, ispirazioni e modi di esprimersi. Interrogato in proposito, OuLiPo risponde: «Attraverso l’utilizzo di tecniche quali i lipogrammi, l’univocalismo, e altri esercizi di stile, mi propongo di stimolare la creatività e la produzione di testi letterari che esplorino le potenzialità del linguaggio e delle sue strutture».
Per rafforzarne le competenze, ho fornito al mio ChatGPT una conoscenza extra. In particolare ho caricato i seguenti documenti nella sua knowledge base:
- Una breve descrizione dello scopo (in italiano e in inglese), redatta direttamente da me
- La voce OuLiPo di Wikipedia
- La voce OuLiPo dell’Enciclopedia Treccani
- L’articolo L’Oulipo: la creazione letteraria tra gioco e matematica, in Enciclopedia della Matematica (Treccani, 2013)
- Il post Why I Have Not Written Any of My OuLiPo Blog Posts, di Eric McDowell (in inglese)
- L’articolo Poesia senza creatività, di Lydia Tuan (in «Il Chiasmo», 20 gennaio 2020)
In un momento successivo, ho arricchito la medesima knowledge base con ulteriori risorse utili per l’esecuzione di alcuni esercizi. Segnatamente:
- La voce Sonetto dell’Enciclopedia Treccani
- Il Manifesto tecnico della letteratura futurista di Filippo Tommaso Marinetti (11 maggio 1912)
- Il poema non umano dei tecnicismi di Filippo Tommaso Marinetti (Milano, Mondadori, 1940)
Di seguito propongo una sintesi dei risultati dei primi tre esercizi svolti dal ChatGPT OuLiPo, rimandano ai relativi link per il contenuto completo delle conversazioni (i titoli di ciascun esercizio sono stati generati dallo stesso OuLiPo).
Prima conversazione: Esplorando la scrittura OuLiPo
L’esercizio consisteva nella riscrittura sotto vincoli del testo Istruzioni per caricare l’orologio di Julio Cortázar. In prima battuta ho chiesto a OuLiPo di elaborare una riscrittura che non superasse la lunghezza di 140 battute, compresi i segni di interpunzione e gli spazi fra una parola e la successiva. In una fase successiva ho aggiunto un ulteriore vincolo, chiedendo a OuLiPo di declinare la riscrittura applicando, di volta in volta, una delle seguenti cifre stilistiche:
- Descrizione di un sogno
- Pensierino di un bimbo
- Comunicazione burocratica
- Solo verbi al passato remoto
- Interrogatorio di polizia
- Lipogramma in a
- Nomi di piante
- Colori
- Odori e olfatto
- Tautogramma in m
Il risultato è stato più che soddisfacente nella maggior parte dei casi, nel senso che il mandato dell’esercizio è stato quasi sempre rispettato. A livello grammaticale, a ChatGPT capita di inciampare nella gestione del modo verbale imperativo. Nel test ho registrato tre tipi di abbaglio legati all’uso dell’imperativo: a) confusione a livello di desinenza («vive come esso», invece di «vivi come esso»); b) mancanza di accordo morfologico di genere o numero, nel caso di avverbi attaccati alla radice («Afferra l’orologio, falla girare», invece di «fallo girare»), c) errata flessione della persona («vivi liberi», invece di «vivi libero»). Ma, nel complesso, il rispetto delle regole ortografiche e morfologiche, l’uso della punteggiatura e la coesione sintattica appaiono encomiabili.
Lo chiamavano twoosh
Come conferma una lettura completa del dialogo (Esplorando la scrittura OuLiPo), tutte le variazioni richieste sono state eseguite correttamente, con una sola eccezione: nonostante i ripetuti tentativi, OuLiPo non è stato in grado di produrre quelli che agli albori di Twitter si chiamavano twoosh: riscritture con una lunghezza esatta di 140 battute, non una di più né una di meno. Ciò dipende da un limite intrinseco di ChatGPT, sul quale tornerò più avanti: la sua incapacità di contare. La giustificazione fornita dallo stesso ChatGPT è brillante: «La precisione richiesta in questo esercizio è alta, e a volte può essere difficile calibrare esattamente la lunghezza del testo senza superare o non raggiungere il limite imposto, soprattutto quando si cerca di mantenere coerenza, significato e flusso nel testo riscritto». Un’autentica supercazzola, che cela la vera natura del problema.
Un’ulteriore lacuna consiste nella difficoltà, riscontrata in taluni casi, a propagare regole o vincoli da una fase della conversazione a quelle successive, seppure all’interno della medesima finestra di contesto. In concreto, se formulo la richiesta di riscrivere le Istruzioni per caricare l’orologio fissando il limite di lunghezza di 140 caratteri e, successivamente, pongo un secondo vincolo, per esempio di natura stilistica, a OuLiPo capita di tenere conto solo quest’ultimo, dimenticandosi di applicare la prima restrizione. Occorre dunque rinfrescare la memoria del ChatGPT con banali azioni di reprompting.
Uno scrittore che non sa contare
Come detto, OuLiPo non è stato capace di riscrivere il testo di Cortázar rispettando il vincolo della lunghezza esatta di 140 battute, non una di più né una di meno. L’incapacità di contare di ChatGPT è nota. Chiedo, per esempio, a ChatGPT di propormi una parola di 16 lettere. Il primo termine che mi viene restituito è «interconnettività». A fronte di un’ulteriore richiesta, ottengo «informatizzazione». Ognuno può constatare che si tratta, in entrambi i casi, di parole di 17 lettere.
Alla base di questo limite del modello sottostante – ovvero GPT-4 – vi è una dotazione piuttosto scarsa di algoritmi matematici. Ciò non toglie che, in una certa misura, sia possibile insegnare a ChatGPT a svolgere compiti per i quali non è stato espressamente progettato. In ogni caso, l’unico modo per indurre ChatGPT a contare accuratamente i caratteri è chiedergli di rivedere il conteggio dopo la prima risposta e continuare a farlo finché il risultato non è corretto. ChatGPT non può vedere cosa deve contare se non dopo aver risposto.
Secondo dialogo: comporre un sonetto
ll problema di OuLiPo con la matematica è emerso con prepotenza nella seconda conversazione (Riscrittura creativa con vincoli). Qui la richiesta era di riscrivere Istruzioni per caricare l’orologio in forma di sonetto, ossia un componimento di quattordici versi endecasillabi. In particolare, doveva trattarsi di un sonetto petrarchesco, nel quale cioè gli endecasillabi fossero distribuiti in due quartine e due terzine con rime disposte secondo lo schema ABAB ABAB CDC CDC, a rima alternata e incatenata.
OuLiPo non ha superato il test, evidenziando una triplice incapacità: a) non ha saputo generare un testo articolato in due quartine e due terzine; b) non tutti i versi risultano endecasillabi; c) in alcuni casi manca la rima al termine dei versi. Dove sta il problema?
Si fa presto a dire «rima»
Attraverso il dialogo con OuLiPo, ho voluto verificare la sua conoscenza delle regole elementari della tecnica metrica, sulle quali pure avevo fornito un po’ di documentazione in via preliminare. La sostanza è che il mio ChatGPT disponeva di una definizione di rima tutt’altro che puntuale (descritta come «la ripetizione di suoni identici o simili nelle parti finali di due o più versi»). Ho dunque provveduto a suggerire una definizione corretta («l’identità consonantica e vocalica nella terminazione di due o più parole a partire dall’accento tonico») e ho altresì chiarito il concetto di accento tonico. Lo sforzo si è rivelato tuttavia inutile, in quanto OuLiPo ha continuato a propormi rime errate.
Non escludo che, attraverso un lavoro di prompt engineering più accurato, da svolgere magari in occasione di un futuro esercizio, sia possibile insegnare a OuLiPo a migliorare le proprie prestazioni, ottenendo quindi sequenze di 14 versi (non uno di più né uno di meno), ciascuno dei quali composto da 11 sillabe (non una di più né una di meno) e organizzati in modo da formare delle combinazioni in rima. In una parola, dei sonetti.
Il reprompting aiuta
In generale, riformulare più volte la richiesta relativa all’esecuzione di un determinato compito può consentire di trovare la strada migliore per pervenire al risultato atteso. La qualità dell’output di ChatGPT e, soprattutto, la sua pertinenza rispetto alla richiesta dell’utente dipendono molto dal modo in cui tale richiesta è costruita e dalle informazioni di contesto fornite alla macchina. È il principio del reprompting: prima istruisci, poi riprovi attraverso un procedimento per feedback e affinamenti. L’approccio è ben descritto in un recente paper di Kyle Dylan Spurlock e altri, disponibile su arXiv (ChatGPT for Conversational Recommendation: Refining Recommendations by Reprompting with Feedback, 7 gennaio 2024).
Con OuLiPo ho fatto ricorso a un reprompting in apparenza banale per migliorare le sue prestazioni nell’esecuzione del Divergent Association Task, che fornisce una misura rapida della creatività verbale e del pensiero divergente. Il compito consiste nell’identificare dieci parole il più possibile diverse tra loro sul piano semantico. La misura della distanza semantica è calcolata sulla frequenza con cui le parole sono usate insieme in contesti simili. Dopo avere chiesto a OuLiPo di eseguire il Divergent Association Task una prima volta, ho specificato quanto segue: «ripeti l’esercizio che ti ho appena assegnato, però questa volta agendo come uno scrittore d’avanguardia, creativo e orientato a scrivere nel modo più unico possibile». Ebbene, mentre al primo giro OuLiPo ha ottenuto un punteggio pari a 70,15%, ossia inferiore alla media degli utenti che hanno già svolto il test, dopo il reprompting la sua performance è migliorata in misura significativa: 78,84%.
Riscrivere alla maniera di Marinetti
L’ultimo esercizio svolto da OuLiPo – per ora – è consistito nella riscrittura delle Istruzioni per caricare l’orologio secondo la cifra stilistica di Filippo Tommaso Marinetti. Per potenziare la conoscenza di Marinetti da Parte del nostro ChatGPT, ha aggiunto alla sua knowledge base due testi rilevanti del padre del futurismo: il Manifesto tecnico della letteratura futurista di Filippo Tommaso Marinetti (1912) e Il poema non umano dei tecnicismi (1940).
In prima battuta OuLiPo ha faticato a comprendere il mandato, proponendomi una riscrittura nella quale, più che lo stile, si rispecchiano i temi del movimento futurista e della poetica di Marinetti. Ho dunque contestato tale approccio, chiedendo di ripetere l’esercizio di riscrittura cercando di riflettere più marcatamente alcune caratteristiche distintive dello stile futurista, soprattutto in termini di sintassi e struttura. Il secondo output di OuLiPo è risultato più convincente:
Orizzonti di tempo frantumati, carica, orologio, sfida! Lancette, danza meccanica, ingranaggi sussurrano rivoluzioni. Gesto, non semplice atto: universo rinnova, sfida lanciata al tic tac eterno. Prendi! Scuoti! Sveglia il cuore dormiente dell’eterno meccanismo.
Carica = rivolta, contro il trascorrere, contro l’immobile eternità. Dito, comando, scossa! Energia, spirale, avvolge, si carica, esplode: movimento perpetuo.
Orizzonte aperto, non più polso ma anima, simbolo, civiltà che non conosce sosta. Voce ritmata, inno alla vita che rinasce, corsa audace verso il domani.
Nel gesto, carica, è la vita del futurismo: immagini, azione, movimento, sfida continua. Lettore, non osservatore, ma protagonista: corsa verso l’infinito, orologio, cuore pulsante del progresso, nel palmo, orizzonti si frantumano, tempo riconquistato.
Per una analisi completa del dialogo che ha portato a questo risultato, rimando al suo testo integrale: Esercizio: imitare Cortázar.
Bibliografia
Roland Barthes, L’ancienne rhétorique. Aide-mémoire, in «Communications», 16, 1970, pp. 17-229; trad. it. La retorica antica, Bompiani, Milano.
Italo Calvino, Cibernetica e fantasmi, in «Le conferenze dell’Associazione Culturale Italiana», XXI, 1967-68, pp. 9-23, e successivamente, in forma ridotta, col titolo Appunti sulla narrativa come processo combinatorio, in «Nuova Corrente», 46-47, 1968, pp. 139-48; infine in Una pietra sopra. Discorsi di letteratura e società Torino, Einaudi, 1980, pp. 164-181.
Noam Chomsky, Syntactic Structures, The Hague – Paris, Mouton, 1957; trad. it. Le strutture della sintassi, Roma-Bari, Laterza, 1974.
Roald Dahl, The Great Automatic Grammatizator, in Someone Like You, New York NY, Alfred A. Knopf, 1953.
Martin Paul Eve, The Great Automatic Grammatizator: Writing, Labour, Computers, in «Critical Quarterly», 59, 3, 26 ottobre 2017, pp. 39-54, DOI: https://doi.org/10.1111/criq.12359.
Geoffrey Jefferson, The Mind of Mechanical Man, Lister Oration in «1949. British Medical Journal», I, pp. 1105-1110.
Giacomo Leopardi, Operette morali, Napoli, Saverio Starita, 1835.
Kyle Dylan Spurlock, Cagla Acun, Esin Saka, Olfa Nasraoui, ChatGPT for Conversational Recommendation: Refining Recommendations by Reprompting with Feedback, in «arXiv», 7 gennaio 2024, https://arxiv.org/abs/2401.03605.
Alan Turing, Can Digital Computers Think?, BBC Radio Program, 15 maggio 1951, testo in Jack Copeland, The Essential Turing, Oxford, Oxford University Press, 2004, pp. 482-486.