La primera parte de este artículo no contiene spoilers. Más adelante encontrarás una advertencia de spoilers*.
Minutos después de terminar el épico último episodio de la séptima temporada de Juego de tronos, a los fans de la saga casi les da un tabardillo al saber que la última temporada, que constará de solo seis episodios, no verá la luz hasta la primavera de 2019.
Videos by VICE
Para los lectores de la saga de novelas Canción de hielo y fuego, en las que se basa la serie de televisión, esa espera es casi irrisoria, y es que el quinto de los siete volúmenes de que consta, titulado Danza de dragones, se publicó en 2011, y desde entonces George R. R. Martin no ha anunciado una fecha estimada para la publicación de Vientos de invierno, el sexto título. A falta de material en el que basarse, los productores de la serie se vieron obligados a continuar la historia por su cuenta desde los últimos capítulos de la sexta temporada.
Cansado de esperar, y armado con avances tecnológicos con los que los grandes maestres de Antigua ni podrían soñar, el ingeniero de software Zack Thoutt ha decidido programar una red neuronal recurrente (RNR) para que pronostique los acontecimientos de la sexta novela. Aquí podéis leer el primer capítulo del libro.
En ese sentido, la red trata de escribir verdaderas secuelas, aunque no siempre le resulta sencillo. En algunos casos, por ejemplo, escribió fragmentos sobre personajes que habían muerto
“Me apasiona Juego de tronos, tanto la serie como los libros”, dijo Thoutt, que acaba de finalizar un curso de Udacity sobre inteligencia artificial y aprendizaje profundo y ha utilizado los conocimientos adquiridos para este proyecto. “En clase tocamos un poco las RNR y se me ocurrió que podría probarlas aplicadas a los libros”.
Las redes neuronales son una clase de algoritmos de aprendizaje automático creados basándose en el cerebro humano; las redes neuronales recurrentes son una subtipo de redes neuronales que funcionan bien con secuencias de datos, como el texto, por ejemplo.
“Con una red neuronal sencilla puedes tomar una serie de datos de entrada, procesarlos en dicha red y obtener un conjunto de datos de salida”, apunta Thoutt. “Para entrenar estos modelos, primero tienes que saber qué te gustaría que estos produjeran. Este producto final son las etiquetas o las variables objetivo. La red neuronal compara los datos que produce con los objetivos y actualizaciones que va aprendiendo para lograr emular mejor los objetivos”.
Tras haber volcado a la red las 5.376 páginas de los primeros cinco volúmenes, Thoutt ha producido cinco capítulos, que ha publicado en la página de GitHub para el proyecto
Thoutt trabaja con una red neuronal dotada de una memoria de corto-largo plazo, un elemento esencial para conseguir que una red recuerde acontecimientos de una trama ocurridos miles de palabras atrás. Teóricamente, este tipo de memoria evitaría que la red repitiera eventos que ya han sucedido, de forma que la novela que se generara sería una continuación de la trama, más que una versión alternativa de una obra ya publicada.
En ese sentido, la red trata de escribir verdaderas secuelas, aunque no siempre le resulta sencillo. En algunos casos, por ejemplo, escribió fragmentos sobre personajes que habían muerto.
“Quería hacer capítulos separados para cada personaje, como en los libros. Aparte de esa palabra principal que le indico a la red, no hago ningún otro tipo de edición”
“Está intentando escribir una nueva novela. Un modelo perfecto tendría en cuenta todo lo que ha ocurrido en los libros anteriores y no hablaría de personajes que murieron hace dos libros como si todavía siguieran vivos”, señaló Thoutt. “La realidad, en cambio, es que el modelo no es lo suficientemente bueno como para hacer eso. Si lo fuera, los escritores deberían empezar a temer por su profesión. Pese a los esfuerzos por tener todos los factores en cuenta, el modelo comete muchos errores porque todavía no se ha inventado una tecnología capaz de entrenar a un generador de textos perfecto, que pueda recordar tramas complejas con una extensión de millones de palabras”.
Tras haber volcado a la red las 5.376 páginas de los primeros cinco volúmenes, Thoutt ha producido cinco capítulos, que ha publicado en la página de GitHub para el proyecto.
“Empiezo cada capítulo dándole una palabra principal, casi siempre el nombre de un personaje, y le decía a la red cuántas palabras debía generar”, explica Thoutt. “Quería hacer capítulos separados para cada personaje, como en los libros. Aparte de esa palabra principal que le indico a la red, no hago ningún otro tipo de edición”.
Hasta 2019, quizá el único material nuevo que veamos de Juego de tronos sea el que genera una inteligencia artificial
Por el momento, no parece que George R. R. Martin vaya a pedir a la red neuronal consejos sobre narrativa, aunque hay que decir que la inteligencia artificial es capaz de crear frases legibles y giros argumentales nada desdeñables.
Por ejemplo, (aquí empiezan los spoilers y las teorías de los fans aplicadas a la saga producida por la inteligencia artificial), la red predice que Sansa Stark pertenece en realidad a la Casa Baratheon y forma parte de una fuerza totalmente nueva:
“Temía al Amo Sansa, ser”, le recordó ser Jamie. “Ella Baratheon es una de la encrucijada. Los segundos hijos de vuestra concubina de la cebolla”.
“Esa fue la primera frase que creó. Me pareció muy divertida. En la serie, los Segundos Hijos son una compañía de mercenarios que han jurado lealtad a la Madre de Dragones, Daenerys Targaryen. Respecto a la ‘concubina de la cebolla’, tendremos que esperar a los próximos capítulos para averiguar quién es”.
La red también creó un nuevo personaje llamado Barbaverde:
“Oye, Pate”. El hombre alto levantó la espada, haciéndole señas, y empujó el gran trono de acero hacia donde la chica había avanzado. Barbaverde esperaba cerca de las puertas, el enorme grano barbudo y ciego con su cuerpo caído se rascó el dedo de un anillo de manzana blanca. Estaba medio enterrado, loco por la miel de un cerebro seco, de dos exploradores, un frey pesado.
“Obviamente no es perfecto. No está creando una historia y la gramática no es perfecta. Pero la red es capaz de asimilar los rudimentos del idioma inglés y la estructura del estilo de Martin”, afirmó Thoutt.
No todas las predicciones son totalmente disparatadas. Por ejemplo, la red predijo que Jamie Lannister acabaría matando a su hermana-amante Cersei, que Jon Nieve acabaría montando un dragón y que Varys envenenaría a Daenerys, teorías las tres largamente debatidas entre los fans de la serie.
Jamie mató a Cersei y fue frío y lleno de palabras, y Jon se creyó que era el lobo, ahora, y puerto blanco…
“Supongo que esto valida la teoría de que todo es posible en Juego de tornos”, añade Thoutt. “No he incluido nada de los sitios web de teorías de los fans, solo lo que está escrito en los libros”.
Thoutt señaló que las novelas tienen cerca de 32.000 palabras únicas, lo que hacía mucho más difícil adiestrar a la red.
“Obviamente, Martin tiene una narrativa muy descriptiva, por lo que todos esos adjetivos adicionales, los topónimos ficticios y los títulos suponen representan más complicaciones para la red”, añadió.
Lo cierto es que el texto de las cinco novelas no deja de ser un conjunto de datos relativamente reducido para entrenar una RNR. La fuente ideal sería un libro de una extensión 100 veces superior a la de la saga actual, pero escrito con el vocabulario de un libro infantil, según Thoutt.
Thoutt se ha planteado la posibilidad de añadir más textos a los datos disponibles, como los guiones de la serie de televisión, pero no quiere arriesgar la calidad del material original de las novelas ni complicar la labor de la red incluyendo un estilo propio de los guiones cinematográficos.
Hasta 2019, quizá el único material nuevo que veamos de Juego de tronos sea el que genera una inteligencia artificial. Y quién sabe si al principio de la temporada ocho aparece Barbaverde y se hace con el Trono de Hierro de forma inesperada.