El repositorio contiene código para generar poemas cortos utilizando modelos de lenguaje generativo con arquitectura GPT.
Se utiliza un modelo de lenguaje transformador basado en la arquitectura GPT. Este modelo tiene en cuenta tanto la gramática de la lengua rusa (similar a modelos lingüísticos como rugpt) como su fonética, incluidas las reglas de rima y la construcción de la métrica poética. Los detalles están en la presentación.
Los archivos binarios del modelo están disponibles en la imagen acoplable inkoziev/verslibre:latest.
Descargue y ejecute la imagen:
sudo docker pull inkoziev/verslibre:latest
sudo docker run -it inkoziev/verslibre:latest
Después del lanzamiento, el programa le pedirá que ingrese un token para el bot de Telegram.
Después de cargar todos los modelos, puedes iniciar el bot en su chat con el comando /start. El bot le pedirá que elija uno de tres temas aleatorios para su ensayo o que ingrese su propio tema. El tema puede ser cualquier frase que tenga un sustantivo como protagonista, por ejemplo “generador de poesía”.
Este bot está disponible en Telegram como @verslibre_bot
Ejemplos de generación:
* * *
Любовь - источник вдохновения,
Души непризнанных людей.
И день весеннего цветения,
Омытый зеленью дождей…
* * *
Душа, гонимая страстями,
Тревожит, веет теплотой.
Любовь, хранимая стихами,
И примиренье, и покой.
Además del modelo generativo en sí, para el correcto funcionamiento es de gran importancia el transcriptor de poesía, que marca los poemas originales para los modelos de entrenamiento. Puedes leer más sobre el trabajo del transcriptor aquí.
Hay una imagen acoplable inkoziev/haiku:latest disponible para ejecutar el generador como un bot de Telegram.
Descarga la imagen y ejecuta:
sudo docker pull inkoziev/haiku:latest
sudo docker run -it inkoziev/haiku
El programa le pedirá que ingrese un token de bot de Telegram. Luego los modelos se cargarán (aproximadamente un minuto) y podrás comunicarte con el bot. Introduzca una semilla: un sustantivo o frase. Generar varias opciones en la CPU toma aproximadamente 30 segundos. Luego, el bot mostrará la primera opción y se ofrecerá a evaluarla, o mostrará la siguiente opción.
Este bot está disponible en Telegram como @haiku_guru_bot.
Dado que se trata de un modelo generativo aleatorio, sus resultados normalmente no pueden replicarse simplemente introduciendo la misma semilla. Copie buenos resultados, complételos con un modelo ilustrativo, como ruDALLE, y obtenga contenido completamente único:
Puedes ver más ejemplos de haiku en mi blog.
El subdirectorio tmp contiene archivos con parte de los datos de entrenamiento:
poesía_corpus.txt - corpus de cuartetas filtradas, símbolo | como separador de líneas; utilizado para entrenamiento adicional del modelo ruGPT.
poet_generator_dataset.dat: conjunto de datos para entrenar ruGPT, que produce el texto de un poema por tema (frase clave).
captions_generator_rugpt.dat: conjunto de datos para entrenar ruGPT, generando un título de verso basado en su contenido.
Puede encontrar una descripción del proceso de preparación del cuerpo de entrenamiento aquí.