[Paper] [Modelo] [Demo]
A geração de poesia tem sido uma tarefa desafiadora no campo do processamento de linguagem natural, pois exige que o modelo compreenda as nuances da linguagem, sentimento e estilo. Neste artigo, propomos o uso de grandes modelos de linguagem para gerar poemas vietnamitas de vários gêneros a partir de avisos de linguagem natural, facilitando assim um processo intuitivo com controle de conteúdo aprimorado.
Nosso modelo mais eficaz, a variante de Babbage GPT-3, atinge uma pontuação de avaliação personalizada de 0.8 , especificamente adaptada ao gênero "Luc Bat" da poesia vietnamita. Além disso, também exploramos a idéia de parafrasear poemas em instruções normais de texto e produzir uma pontuação relativamente alta de 0.781 no gênero "Luc Bat". Este experimento apresenta o potencial de tradução de poema a poema entre idiomas com poemas traduzidos como entradas, mantendo simultaneamente o controle completo sobre o conteúdo gerado.
O conjunto de dados orignial é uma coleção de 171188 poemas vietnamitas com diferentes gêneros: Luc-Bat, 5-Chu, 7-Chu, 8-Chu, 4-Chu. Baixe aqui.
Para mais detalhes, consulte a seção Agradecimentos
Também criamos nossos próprios conjuntos de dados para geração rápida baseada na pasta Recurso/DataSet.
Treinamos um classificador de gênero personalizado com base em Bert com a precisão de 99.7% para classificar o gênero correto antes de marcar. Para obter mais detalhes, consulte o nosso classificador vietnamita-poem. Isso seria útil durante o teste cego (onde o gênero não é especificado).
O código de treinamento está neste repositório. Para treinar o classificador, execute:
python poem_classifier_training.py
Utilizamos uma função personalizada para pontuar a qualidade de um poema, baseado em sua conformação com a regra rígida de vários tipos de poema vietnamita. Usando 3 critérios: comprimento, tom e rima da seguinte forma: score = L/10 + 3T/10 + 6R/10
Tabela 1: Comparação de resultados dos modelos
| Modelos | Luc Bat | Cego | 7 Chu | 8 chu | 5 chu | 4 chu |
|---|---|---|---|---|---|---|
| texto a poema | ||||||
| Chatgpt (zero-shot) | 0,440 | 0,345 | 0,292 | 0,197 | 0,284 | 0,238 |
| DaVinci (1000 amostras) | 0,580 | - | - | - | - | - |
| Bloom (20k amostras) | 0,678 | 0,596 | 0,367 | 0,279 | 0,480 | 0,440 |
| Babbage (20k amostras) | 0,718 | - | - | - | - | - |
| Babbage | 0,805 | 0,795 | 0,661 | 0,500 | 0,382 | 0,392 |
| Poema a poema | ||||||
| Babbage | 0,781 | - | - | - | - | - |
Atualmente, o gênero Luc Bat pontua mais alto devido ao tamanho da amostra. Ele também tem a tendência de genrerar Luc Bat quando o gênero não é especificado, por isso também é muito alto durante o teste cego.
A versão OpenSource usa um Lora para Bloom-7b1 em 8 bits e pode ser executado no COLAB. Você pode experimentar aqui (provavelmente sem memória e trava. Costumava correr bem, novas versões da biblioteca conflitam muito)
@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 projeto foi inspirado no método de avaliação do gerador de poema SP-GPT2 do fsoft-ailab
Conjunto de dados também retirado de seu repositório