
Gutentag Tool se utilizó para construir el corpus de poesía requerido en el sitio web del Proyecto Gutenberg, que es una base de datos en línea masiva que contiene más de 59000 libros electrónicos.
Emolex es un conjunto de datos de crowdsourcing de asociaciones entre palabras y emociones. Se usó para clasificar el corpus de poesía basado en la emoción de los poemas. Se creó un modelo de lenguaje para cada emoción mediante el uso de poemas correspondientes a esa emoción.
Huggingface es una comunidad de IA que proporciona varios modelos de código abierto en el procesamiento del lenguaje natural. El modelo GPT-2 de OpenAI se utilizó en el Model Hub de Huggingface, que estaba ajustado en un gran corpus de poesía.
Flask es un marco web micro escrito en Python. Se utilizó para crear una aplicación web que se utiliza para interactuar con los modelos GPT-2 sintonizados.
La algoritmia es una herramienta MLOPS que proporciona una forma simple y más rápida de implementar su modelo de aprendizaje automático en producción. Se utilizó para crear una API web para interactuar con el modelo. Los usuarios pueden realizar solicitudes de API al modelo a través de la aplicación Flask.
Heroku es una plataforma como servicio (PAAS) que permite a los desarrolladores construir, ejecutar y operar aplicaciones completamente en la nube. Se utilizó para implementar la aplicación web para que los usuarios de todo el mundo pudieran acceder a ella de todo el mundo 24x7.
Este proyecto se desarrolló con el objetivo de crear una herramienta que pueda componer automáticamente la poesía original dentro de un instante incrustar la emoción requerida. El GPT-2 de OpenAI se eligió como el modelo de lenguaje base porque su arquitectura de transformador con cabezales de autoatimiento enmascarados ha permitido funcionar excepcionalmente bien con las tareas relacionadas con la generación.
El conjunto de datos se obtuvo del sitio web del Proyecto Gutenberg. La herramienta Emolex se usó para segmentar el corpus de poesía en 8 clases de emociones diferentes: anger, anticipation, disgust, fear, joy, sadness, surprise and trust . Los poemas que no encajaban en ninguna de estas categorías se agregaron a la categoría neutral.
Inicialmente, el modelo GPT-2 fue entrenado en los poemas neutros. Esto nos dio el modelo 'neutral' para generar cualquier poema general. Los modelos para cada emoción se crearon al ajustar este modelo 'neutral' en poemas de las emociones correspondientes. Todo el proceso de construcción de estos modelos se puede encontrar en Colab. Estos modelos también se pueden encontrar en el Hub Model Hub.
Los siguientes son los enlaces a los modelos de cada emoción:
La algoritmia se usó para construir una API para interactuar con estos modelos. Se creó una aplicación Flask para permitir a los usuarios enviar solicitudes de API a la algoritmia y recibir los poemas generados. La aplicación fue implementada y se hizo en vivo usando Heroku.
?AutoCompose
┣ data --> Contains entire poetry corpus as well as poem collections of each emotion stored in json format
┣ models --> Contains language models fine-tuned for each emotion
┃ ┣ anger
┃ ┣ anger2
┃ ┣ anticipation2
┃ ┣ disgust2
┃ ┣ fear
┃ ┣ fear2
┃ ┣ joy
┃ ┣ joy2
┃ ┣ neutral
┃ ┣ sadness2
┃ ┣ surprise2
┃ ┣ trust2
┣ notebooks --> Contains .ipynb files used to work with dataset and train the model
┣ outputs --> Contains 25 poems generated by the model for each emotion
┣ readme-assets --> Contains images and gifs used in readme file
┣ src --> Contains flask app and other supporting python files
┃ ┣ static
┃ ┃ ┗ images
┃ ┣ templates
Pensamientos enojados
I am not jealous; but this does vex
My heart so full of misery that I cannot stop
From angry thoughts. This brings me relief,
And a painful torment; and I
Am content to part from thee alone.
Dios en misterio
Thence down the river to the mountain-side
I travelled with my boats and my oarsmen,
To seek a haven near the southern cape
Where dwelt some mighty god in mystery,
Unknowing I wandered therefrom, so
Unconscious I lay, and rested there.
Margaritas y suciedad
The little pool, by the house-wall,
Is covered with daisies and filth;
The fountains are withered and dim,
And the lizards writhe in rags.
Te veo en un rincón lejano
I see thee in a far corner,
With a stealthy stride, and a trembling soul
I know thou, Dear, who should'st not fear
That I should come near thee!
I know thee.
Gentil
Thy soul has joy, and thy soul is free,
And all the things it loves can live
In thy love for me and thee!
O gentle-throat, why sing so low,
Or do thy music too loudly?
Whence are all thy numbers fit?
If that thy mind is fix'd upon one,
It joys not to hear thee speak.
Luna
He took them home, and soon set them down
In a chest at the door of his room,
And asked them if they knew
What the moon was about.
Querido corazón
For you, dear heart, so lone and worn and weary,
Hear me, and the silence dies,
That still I think you must come near me,
And not so be blest.
La naturaleza propia
He is a wild magician,
Who takes up the air and vanishes
As though his name were Nature's own,
And that it were Nature's own prompting,
That he should leave school in such a way.
Damiselas disfrazadas
He sees the aged damsels in disguise,
And how the princely damsels are dressed;
The queen of Sariola, as she stands,
Is clad in rich embroidery;
And every thing that she does wear
Is a royal dame in finest form,
And a queen in fairest posture too.