[Paper] [modelo] [demo]
La generación de poesía ha sido una tarea desafiante en el campo del procesamiento del lenguaje natural, ya que requiere que el modelo comprenda los matices del lenguaje, el sentimiento y el estilo. En este documento, proponemos el uso de modelos de lenguaje grandes para generar poemas vietnamitas de varios géneros a partir de indicaciones de lenguaje natural, facilitando así un proceso intuitivo con un mayor control de contenido.
Nuestro modelo más eficaz, la variante Babbage GPT-3, logra una puntuación de evaluación personalizada de 0.8 , específicamente adaptada al género "Luc Bat" de la poesía vietnamita. Además, también exploramos la idea de parafrasear poemas en las indicaciones de texto normales y producir una puntuación relativamente alta de 0.781 en el género "Luc Bat". Este experimento presenta el potencial de traducción de poema a poema de lenguaje cruzado con poemas traducidos como las entradas, al tiempo que mantiene simultáneamente un control completo sobre el contenido generado.
El conjunto de datos Orignial es una colección de poemas vietnamitas de 171188 con diferentes géneros: Luc-Bat, 5-chu, 7-chu, 8 chu, 4-chu. Descargar aquí.
Para obtener más detalle, consulte la sección de reconocimientos
También creamos nuestros propios conjuntos de datos para la generación basada en el aviso en la carpeta de recursos/datos.
Entrenamos un clasificador de género personalizado basado en Bert con la precisión del 99.7% para clasificar el género correcto antes de obtener la puntuación. Para obtener más detalles, consulte nuestro clasificador vietnamita-poem. Esto sería útil durante la prueba ciega (donde el género no se especifica).
El código de entrenamiento está en este repositorio. Para entrenar el clasificador, ejecute:
python poem_classifier_training.py
Utilizamos una función personalizada para calificar la calidad de un poema, basada con ventaja en su conformación con la regla rígida de varios tipos de poema vietnamita. Usando 3 criterios: longitud, tono y rima de la siguiente manera: score = L/10 + 3T/10 + 6R/10
Tabla 1: Comparación de resultados de modelos
| Modelos | Bat de Luc | Ciego | 7 chu | 8 chu | 5 chu | 4 chu |
|---|---|---|---|---|---|---|
| texto a poema | ||||||
| Chatgpt (shot cero) | 0.440 | 0.345 | 0.292 | 0.197 | 0.284 | 0.238 |
| Davinci (1000 muestras) | 0.580 | - | - | - | - | - |
| Bloom (20k muestras) | 0.678 | 0.596 | 0.367 | 0.279 | 0.480 | 0.440 |
| Babbage (20k muestras) | 0.718 | - | - | - | - | - |
| Babbage | 0.805 | 0.795 | 0.661 | 0.500 | 0.382 | 0.392 |
| poema a poema | ||||||
| Babbage | 0.781 | - | - | - | - | - |
Actualmente, el género Luc Bat es el más alto debido al tamaño de la muestra. También tiene la tendencia a generar Luc Bat cuando no se especifica el género, por lo que también obtiene un puntaje muy alto durante la prueba ciega.
La versión de OpenSource usa un Lora para Bloom-7b1 en 8 bits y puede funcionar con Colab. Puede probarlo aquí (probablemente se quede sin memoria y bloquee. Solía ejecutar muy bien, nuevas versiones de la biblioteca conflictos)
@misc { huynh2024vietnamese ,
title = { Vietnamese Poem Generation & The Prospect Of Cross-Language Poem-To-Poem Translation } ,
author = { Triet Minh Huynh and Quan Le Bao } ,
year = { 2024 } ,
eprint = { 2401.01078 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
} Este proyecto se inspiró en el método de evaluación del generador de poemas SP-GPT2 de fsoft-ailab
Conjunto de datos también tomado de su repositorio