domingo, 9 de mayo de 2010

Poesía generada por ordenador

Este fín de semana me he entretenido programando un generador de poesía, (¡otro más!)
Por ahora ofrece resultados como éste:

apareció la alameda acongojada
lagartija vespertina, ladinos abrigos
presteza helada, deshilachada estaca
amanecieron los ladrónes caídos

la desaparecida tormenta fallecerá
en las noches se levantaría sin camiseta
saqueaba la testa suculenta
se vengará en la fustigadora carraleja

se marchan  recaderos sedimentos
la herida alicaída crecerá
los entuertos andarían revueltos
a veces tomarán el anillo a la extremidad

se alimenta el plumero anticuado
trinó en las lloradas parras
en el destierro caminó sin descanso
la sociedad se levanta robada

Aunque lo iré ampliando con más modelos de frase. El programa va tomando palabras de unas bases de datos de nombres, adjetivos, verbos y complementos.
En esas bases de datos el vocabulario está clasificado por rimas posibles, ajustándose el género y número automáticamente en los casos en los que es posible.
Por ejemplo, la palabra "cansado" es un adjetivo, pero se define como "cansad" de forma que puede generar "cansado", "cansada", "casandos", y "cansadas", valiendo para rimar los nombres terminados en "a-o", y los terminados en "a-a", así como los verbos en pretérito imperfecto de la primera conjugación (-aba/n) en el primer caso, y para los verbos en pretérito perfecto plural de la primera conjugación en el primero. (-aron)
cansada- andaba
cansados- andaron

De los verbos se define la raíz, sólo verbos de la primera y segunda declinación, y con pequeñas irregularidades.
De ese modo a partir de "cant" puedo generar "cantó/cantaron", "canta/cantan", "cantaba/cantaban", "catará/carantarán" y "cantaría/cantarían". Lo mismo con los de la segunda declinación modificando la automatización de las terminaciones.
En cada tiempo generado se tiene el cuenta esta terminación para comprobar la rima.


Las estrofas se componen a base de guiones prefijados, por ahora un total de 19 variaciones, que se van escogiendo aleatoriamente.
Cada guión está compuesto de funciones encadenadas que van llamando a un verbo, un adjetivo, un nombre, un artículo (y todos se componen automáticamente en género y número)
por ejemplo:
estrofa 1:
(el) (nombre cualquiera) (adjetivo cualquiera) (verbo intransitivo con rima1)
estrofa 2:
(adjetivo cualquiera) (nombre cualquiera), (nombre cualquiera) (adjetivo rima2)
estrofa 3:
(verbo transitivo cualquiera conjugado con nombre primero de anterior estrofa) (el) (nombre cualquiera) (al) (nombre con rima1)
estrofa 4:
(complemento) (nombre cualquiera) (verbo intransitivo con rima2*)

* cuando el verbo va al final, pudiera ocurrir que no existiera conjugación posible para rimar correctamente. Entonces salta una coletilla automática (un breve complemento circunstancial) que se coloca detrás del verbo para terminar esa estrofa rimando.
Así, si tenemos que la estrofa nos termina en "cant..." y hay que rimar con "u-o". Como no hay conjugación posible con la tercera persona (en la que me baso exclusivamente por ahora) que rime eso, conjugamos el verbo al azar, por ejemplo "cantaba", y le añadimos una coletilla de la lista de rimas con "u-o", por ejemplo "con el puño":  "...cantaba con el puño".

Como se puede ver, los versos son seguidillas de métrica libre y rima asonante, donde se rima ABAB.

No hay comentarios: