Downloads · 30 days
22
1% of all-time downloads
somosnlp-hackathon-2022/poem-gen-spanish-t5-small
poem-gen-spanish-t5-small is a machine learning model from somosnlp-hackathon-2022. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as mit.
This model is a fine-tuned version of flax-community/spanish-t5-small on the Spanish Poetry Dataset dataset.
Downloads · 30 days
22
1% of all-time downloads
All-time downloads
1.9K
Public
Parameters
60.5M
8.5 GB on disk
Likes
5
Public
Click a slice to open those files.
.bin242 MB · 50%
From the Hugging Face model README
This model is a fine-tuned version of flax-community/spanish-t5-small on the Spanish Poetry Dataset dataset.
The model was created during the First Spanish Hackathon organized by Somos NLP.
The team who participated was composed by:
It achieves the following results on the evaluation set:
The model was trained to generate spanish poems attending to some parameters like style, sentiment, words to include and starting phrase.
Example:
poema:
estilo: Pablo Neruda &&
sentimiento: positivo &&
palabras: cielo, luna, mar &&
texto: Todos fueron a verle pasar
You can use this model directly with a pipeline for masked language modeling:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
model_name = 'hackathon-pln-es/poem-gen-spanish-t5-small'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
author, sentiment, word, start_text = 'Pablo Neruda', 'positivo', 'cielo', 'Todos fueron a la plaza'
input_text = f"""poema: estilo: {author} && sentimiento: {sentiment} && palabras: {word} && texto: {start_text} """
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(inputs["input_ids"],
do_sample = True,
max_length = 30,
repetition_penalty = 20.0,
top_k = 50,
top_p = 0.92)
detok_outputs = [tokenizer.decode(x, skip_special_tokens=True) for x in outputs]
res = detok_outputs[0]
The original dataset has the columns author, content and title.
For each poem we generate new examples:
The resulting dataset has the columns author, content, title and generated.
For each example we compute the sentiment of the generated column and the nouns. In the case of sentiment, we used the model mrm8488/electricidad-small-finetuned-restaurant-sentiment-analysis and for nouns extraction we used spaCy.
The following hyperparameters were used during training:
| Training Loss | Epoch | Step | Validation Loss |
|---|---|---|---|
| 2.7082 | 0.73 | 30000 | 2.8878 |
| 2.6251 | 1.46 | 60000 | 2.8940 |
| 2.5796 | 2.19 | 90000 | 2.8853 |
| 2.5556 | 2.93 | 120000 | 2.8749 |
| 2.527 | 3.66 | 150000 | 2.8850 |
| 2.5024 | 4.39 | 180000 | 2.8760 |
| 2.4887 | 5.12 | 210000 | 2.8749 |
| 2.4808 | 5.85 | 240000 | 2.8707 |