KemiOm/poetry-rhyme-best
07
KemiOm/poetry-rhyme-best
KemiOm/poetry-rhyme-best is a LoRA-adapted google/flan-t5-large model that predicts the rhyme phonology ending for a single poetic line.
Task
Given one input line, the model outputs only the line-final rhyme phonology in ARPAbet-style phones.
- Input:
Tired Nature's sweet restorer, balmy Sleep! - Output:
IY1 PThis is a line-level labeling task (not stanza generation and not full combined-structure prediction).
Output Format
A short phonological ending sequence, e.g.:
IY1 PEY1 ZOW1AY1 N D
Training Data Format
The rhyme-only training set uses:
input: poetic line texttarget: rhyme phonology string only Example:input:He, like the world, his ready visit paystarget:EY1 Z
Model Details
- Developer: KemiOm
- Base model:
google/flan-t5-large - Method: LoRA fine-tuning
- Framework: Hugging Face Transformers + PEFT
Best Run Configuration
- epochs:
5.0 - learning rate:
5e-05(round2 setting) - batch size per device:
8 - gradient accumulation:
2 - max input length:
384 - max target length:
128 - LoRA rank (
r):32 - LoRA alpha:
64 - LoRA dropout:
0.05 - LoRA target modules:
q,k,v,o - seed:
42
Intended Use
- Rhyme-phonology annotation for poetry lines
- Rhyme diagnostics in constrained poetry pipelines
- Preprocessing/evaluation for poetry generation systems
Limitations
- Depends on learned orthography-to-phonology mapping; rare/archaic spellings may fail.
- Output reflects dataset conventions and may not capture all dialectal pronunciations.
- Best used with human review in literary-critical workflows.
Usage
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
model_id = "KemiOm/poetry-rhyme-best"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id)
line = "Tired Nature's sweet restorer, balmy Sleep!"
inputs = tokenizer(line, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=12, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
# expected format: "IY1 P"