Downloads · 30 days
34
7% of all-time downloads
Anshler/vietnamese-poem-classifier
vietnamese-poem-classifier is a text classification model from Anshler. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as mit.
A Vietnamese poem classifer using BertForSequenceClassification with the accuracy of
Downloads · 30 days
34
7% of all-time downloads
All-time downloads
516
Public
Parameters
111M
443 MB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors443 MB · 100%
From the Hugging Face model README
A Vietnamese poem classifer using BertForSequenceClassification with the accuracy of 99.7%
This is a side project during the making of our Vietnamese poem generator
4 chu, 5 chu, 7 chu, luc bat and 8 chuscore = L/10 + 3T/10 + 6R/10The rules for each genre are defined below:
| Genre | Length | Tone | Rhyme |
|---|---|---|---|
| 4 chu | - 4 words per line <br>- 4 lines per stanza (optional) | For each line: <br>- If the 2nd word is uneven (trắc), the 4th word is even (bằng) <br>- Vice versa | Last word (4th) of each line: <br>- Continuous rhyme (gieo vần tiếp) <br>- Alternating rhyme (gieo vần tréo) <br>- Three-line rhyme (gieo vần ba) |
| 5 chu | - 5 words per line <br>- 4 lines per stanza (optional) | Same as "4 chu" | Same as "4 chu" |
| 7 chu | - 7 words per line <br>- 4 lines per stanza (optional) | For each line: <br>- If the 2nd word is uneven (trắc), the 4th word is even (bằng), the 6th word is uneven (trắc) <br> - 5th word and last word (7th) must have different tone | The last word of 1st, 2nd, 4th line per stanza must have same tone and rhyme |
| luc bat | - 6 words in odd line <br>- 8 words in even line <br>- 4 lines per stanza (optional) | For 6-word line: <br>- If the 2nd word is uneven (trắc) the 4th word is even (bằng), the 6th word is uneven (trắc) <br><br> For 8-word line: <br>- Must be same as previous 6-word line <br>- The last word (8th) mut have same tone as 6th word but different accent | The last word (6th) in 6-word line must rhyme with the 6th word in the next 8-word line and the 8th word in the previous 8-word line |
| 8 chu | - 8 words per line <br>- 4 lines per stanza (optional) | For each line: <br>- If the 3rd word is uneven (trắc), the 5th word is even (bằng), the 8th word is uneven (trắc) | Same as "4 chu" |
A collection of 171188 Vietnamese poems with different genres: luc-bat, 5-chu, 7-chu, 8-chu, 4-chu. Download here
For more detail, refer to the Acknowledgments section
Training code is in our repo Vietnamese poem generator
Run:
python poem_classifier_training.py
pip install vietnamese-poem-classifier
Or
pip install git+https://github.com/Anshler/vietnamese-poem-classifier
from vietnamese_poem_classifier.poem_classifier import PoemClassifier
classifier = PoemClassifier()
poem = '''Người đi theo gió đuổi mây
Tôi buồn nhặt nhạnh tháng ngày lãng quên
Em theo hú bóng kim tiền
Bần thần tôi ngẫm triền miên thói đời.'''
classifier.predict(poem)
#>> [{'label': 'luc bat', 'confidence': 0.9999017715454102, 'poem_score': 0.75, 'l_score': 1.0, 't_score': 1.0, 'r_score': 0.5833333333333333}]
The model's weights are published at Huggingface Anshler/vietnamese-poem-classifier
This project was inspired by the evaluation method from fsoft-ailab's SP-GPT2 Poem-Generator
Dataset also taken from their repo