Quantcast

Leggi il prossimo libro di 'Game of Thrones' scritto da una rete neurale

Dato che George R.R. Martin non si decide a farlo, ci ha pensato l'intelligenza artificiale.

Sam Hill

Immagine: HBO/Shutterstock. Composizione: Jason Koebler

*L'inizio di questo articolo è privo di spoiler. Trovate l'avviso di spoiler più avanti.*

A distanza di minuti dall'epico finale della settima stagione di Game of Thrones, i fan dello show sono stati colti da totale raccapriccio nello scoprire che i sei episodi della stagione finale non andranno in onda fino alla primavera 2019.

Per i lettori della serie di romanzi A Song of Ice and Fire su cui la serie TV si basa, la delusione provocata da questo ritardo è ridicola. Il quinto romanzo su sette previsti, A Dance with Dragons, è stato pubblicato nel 2011 e l'autore George RR Martin è al lavoro su quello successivo, The Winds of Winter, da allora, senza una data certa di pubblicazione in vista. Non potendo contare sulla fonte primaria di materiale, i produttori della serie TV sono stati costretti a mandare avanti la storia da soli, fin dalla scorsa sesta stagione.

Stufo di aspettare e armato di una tecnologia che i gran maestri di Oldtown non possono neanche immaginare, l'ingegnere informatico Zack Thoutt sta allenando una rete neurale ricorrente (RNN) per farle predire gli eventi del sesto e incompiuto romanzo. Leggere il primo capitolo del libro qui.

"Sono un grande fan di Game of Thrones, sia i libri che lo show," ha detto Thoutt, che ha appena completato un corso Udacity sull'intelligenza artificiale e il deep learning, per applicare ciò che ha imparato nel progetto. "Avevo lavorato con le RNN in quella classe e ho pensato di provarci con i libri."

Non tutte le predizioni sono completamente assurde

Le reti neurali sono una classe di algoritmi di machine learning modellati sul cervello umano e le reti neurali ricorrenti sono una sottoclasse che funziona bene con le sequenze di dati, come il testo.

"Con una rete neurale prendi un set di dati di input, li fai macinare alla rete e ottieni un set di output," ha detto Thoutt. "Per allenare questi modelli devi sapere qual'è il tuo output ideale, un insieme di valori altrimenti noti come etichette o variabili di obiettivo. La rete neurale mette a confronto i dati che produce con quelli di riferimento e si aggiorna in modo da imparare a imitare meglio l'obiettivo."

Thoutt sta lavorando a una RNN "dalla lunga memoria a breve termine" (o LSTM), che ha una memoria ancora migliore, una caratteristica importante se vuoi allenare una rete a ricordarsi snodi narrativi successi migliaia di parole fa. In teoria questo tipo di memoria dovrebbe prevenire la rete dal ripetere eventi che sono già successi, permettendo al libro generato di essere una continuazione del plot anziché una versione alternativa di un lavoro già pubblicato.

In questo senso, la rete sta cercando di scrivere veri e propri sequel, anche se, ovviamente, ogni tanto inciampa malamente. Per esempio, in certi casi ha inserito personaggi già morti nella serie.

"Sta cercando di scrivere un nuovo libro. Un modello perfetto prenderebbe in considerazione tutto ciò che è già successo nei libri e non tratterebbe da vivi personaggi morti magari due libri prima," ha detto Thoutt. "La realtà, però, è che il modello non è abbastanza buono per riuscirci. Se fosse così bravo, gli scrittori dovrebbero preoccuparsi. Il modello cerca di produrre un nuovo libro e di tenere tutto in considerazione, ma fa molti errori perché la tecnologia per allenare un generatore di testo perfetto che può ricordarsi trame complesse su milioni di parole non esiste ancora."

Dopo aver aggiunto le 5.376 pagine dei primi cinque libri della serie alla rete, Thoutt ha prodotto cinque capitoli di predizioni e li ha pubblicati sulla pagina GitHub del progetto.

"Ho iniziato ogni capitolo dandogli una parola, che in genere era il nome di un personaggio, e poi il numero di parole da generare," ha detto Thoutt. "Volevo che ogni capitolo fosse relativo a personaggi specifici come nei romanzi, per cui ho sempre usato il nome di un personaggio come parola primaria… non ho fatto modifiche, solo fornito alla rete la prima parola."

Dubito che Martin chiamerà tanto presto per chiedere consigli di scrittura, ma la rete di Thoutt è in grado di scrivere frasi quasi sempre leggibili ed è farcita di colpi di scena niente male.

ATTENZIONE: i riferimenti alle teorie dei fan e gli spoiler per la saga prodotta dall'intelligenza artificiale iniziano qui!

Per esempio, la rete predice che Sansa Stark appartenga in realtà alla casata Baratheon e faccia parte di una forza completamente nuova:

"I feared Master Sansa, Ser," Ser Jaime reminded her. "She Baratheon is one of the crossing. The second sons of your onion concubine." ["Avevo paura di Maestro Sansa, Sir," le ricordò Sir Jaime. "Quella Baratheon è una che attraversa. I secondi figli della tua concubina delle cipolle."]

"Questa è la prima frase in assoluto che ha creato. Ho pensato che fosse molto divertente," ha detto Thoutt. Nella serie, i Second Son sono una compagnia di mercenari che hanno giurato fedeltà alla regina dei draghi, Daenerys Targaryen. E per quanto riguarda invece la "concubine delle cipolle?" Dovremo aspettare altri capitoli per saperne di più.

La rete ha anche creato un nuovo personaggio chiamato Greenbeard:

"Aye, Pate." the tall man raised a sword and beckoned him back and pushed the big steel throne to where the girl came forward. Greenbeard was waiting toward the gates, big blind bearded pimple with his fallen body scraped his finger from a ring of white apple. It was half-buried mad on honey of a dried brain, of two rangers, a heavy frey. ["Aye, Pate." l'uomo alto alzò una spada e gli fece cenno in risposta e spinse il grosso trono di metallo dove la ragazza venne in avanti. Greenbeard stava aspettando ai cancelli, grosso brufolo barbuto cieco con il suo corpo caduto raschiava il suo dito da un anello di mela bianca. Era matto mezzo-intinto nel miele di un cervello secco, di due ranger, un frey pesante.]

"Ovviamente non è perfetto. Non sta costruendo storie a lungo termine e la grammatica lascia a desiderare. Ma la rete è in grado di imparare le basi della lingua inglese e le strutture dello stile di George RR Martin da sola," ha detto Thoutt.

Non tutte le predizioni sono completamente assurde. La rete ha predetto che Jaime Lannister finirà per uccidere la sorella-amante Cersei, che Jon Snow cavalcherà un drago, e che il consigliere Varys avvelenerà Daenerys — tutte teorie che sono state prese in considerazione anche dai fan dello show.

Jaime killed Cersei and was cold and full of words, and Jon thought he was the wolf now, and white harbor... [Jaime uccise Cersei ed era freddo e pieno di parole, e Jon pensò che fosse il lupo ora, e porto bianco…]

"Direi che conferma il fatto che tutto può succedere in Game of Thrones," ha detto Thoutt. "Non gli ho dato niente da elaborare che provenisse da teorie dei fan, solo libri."

Thoutt ha detto che i romanzi hanno circa 32.000 parole uniche, che hanno reso molto difficile allenare la rete.

"Martin ha ovviamente uno stile molto descrittivo, per cui tutti quegli aggettivi e nomi di luoghi di finzione e titoli erano tutti complicazioni ulteriori per la rete," ha detto Thoutt.

Inoltre, il testo di cinque romanzi è, in realtà, un data set relativamente piccolo su cui allenare una RNN. Una fonte idealmente migliore sarebbe un libro 100 volte più grande della serie, ma con un vocabolario da libro per bambini, ha detto Thoutt.

Thoutt ha considerato di aggiungere altri testi al data set, come le sceneggiature della serie TV, ma non vuole compromettere il materiale che deriva direttamente dai romanzi o complicare la rete includendo i parametri di scrittura di una sceneggiatura.

Fino al 2019, i racconti generati a computer sul mondo di Westeros potrebbero essere tutto ciò che avremo su Game of Thrones. E chissà, magari Greenbeard arriverà a sorpresa, prendendosi il trono con prepotenza e dando il via all'ottava stagione.