Bangla Resume Summarizer — mT5
Fine-tuned mT5_multilingual_XLSum for abstractive summarization of Bangla-language resumes, section by section. Developed as part of the Onneshon thesis project at Bangladesh University of Professionals (BUP).
Given the raw sentences of a resume section (Objective, Experience, Education, or Skill), the model generates a fluent 2–3 sentence Bangla summary with strong semantic alignment to human-verified references.
Model Details
| Property | Value |
|---|---|
| Base model | csebuetnlp/mT5_multilingual_XLSum |
| Architecture | MT5ForConditionalGeneration (encoder-decoder) |
| Parameters | 12 encoder layers, 12 decoder layers, 768 hidden dim, vocab 250,112 |
| Language | Bengali (bn) |
| Task | Abstractive summarization (per section) |
| Language token | <2bn> prepended to all inputs (required by mT5_multilingual_XLSum) |
| Training data | 317 resume-summary pairs (80% of Onneshon dataset) |
| Validation data | 79 resume-summary pairs (20% of Onneshon dataset) |
| Epochs | 5 (with early stopping, patience=2) |
| Learning rate | 5e-4 |
| Batch size | 4 |
| Max input tokens | 512 |
| Max output tokens | 128 |
Dataset
Trained on Onneshon — an original Bangla resume dataset of 100 annotated resumes spanning 20+ professions.
Published on Mendeley Data: DOI: 10.17632/4md7bx6fd7.1
Reference summaries were generated using GPT-OSS-120B (via OpenRouter) and human-verified, producing 396 section-level summary pairs across 4 categories: Objective, Experience, Education, Skill.
Evaluation Results
Evaluated against human-verified abstractive reference summaries using a Bengali-aware ROUGE tokenizer and semantic similarity:
| Metric | Score |
|---|---|
| ROUGE-1 | 0.6171 |
| ROUGE-2 | 0.4361 |
| ROUGE-L | 0.5384 |
| Semantic Similarity (paraphrase-multilingual-MiniLM-L12-v2) | 0.8184 |
Note on ROUGE scores: ROUGE measures exact word overlap. Since references are abstractive paraphrases and Bangla has rich morphology, ROUGE can still underestimate quality relative to semantic similarity. Semantic similarity of 0.818 — the highest among all 4 methods evaluated — confirms this model produces summaries most aligned in meaning with human-verified references.
Per-section ROUGE-1 and Semantic Similarity:
| Section | ROUGE-1 | Semantic Sim |
|---|---|---|
| Objective | 0.6697 | 0.9120 |
| Experience | 0.4892 | 0.7209 |
| Education | 0.7557 | 0.8585 |
| Skill | 0.5487 | 0.7782 |
Comparison: BanglaT5 vs mT5
| Metric | BanglaT5 | mT5 | Better for |
|---|---|---|---|
| ROUGE-1 | 0.620 | 0.617 | BanglaT5 (marginal) |
| Semantic Sim | 0.808 | 0.818 | mT5 |
| Objective Sem | 0.848 | 0.912 | mT5 |
| Experience R1 | 0.504 | 0.489 | BanglaT5 |
mT5 produces more fluent, semantically natural summaries (higher semantic sim overall). BanglaT5 has higher word-level fidelity (higher ROUGE) for factual sections. Use mT5 when fluency and meaning alignment are priorities.
Usage
⚠️ Important: This model requires the Bengali language token
<2bn>prepended to every input. Without it, the model defaults to non-Bengali output.
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
LANG_TOKEN = "<2bn>"
tokenizer = AutoTokenizer.from_pretrained("your-username/bangla-resume-summarizer-mt5", use_fast=False)
model = AutoModelForSeq2SeqLM.from_pretrained("your-username/bangla-resume-summarizer-mt5")
model.eval()
def summarize(text):
# Prepend Bengali language token — required for this model
input_text = LANG_TOKEN + " " + text.strip()
inputs = tokenizer(input_text, return_tensors="pt", truncation=True, max_length=512)
outputs = model.generate(
inputs["input_ids"],
max_length=128,
min_length=20,
num_beams=4,
length_penalty=1.2,
repetition_penalty=2.0,
no_repeat_ngram_size=3,
early_stopping=True
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
# Example — Objective section
text = "অভিজ্ঞতা সম্পন্ন সফ্টওয়্যার ইঞ্জিনিয়ার হিসেবে একটি ডায়নামিক টিমে যোগদান করা যেখানে আমার জাভা এবং স্প্রিং ফ্রেমওয়ার্কের দক্ষতা কাজে লাগিয়ে প্রতিষ্ঠানের সাফল্যে অবদান রাখতে পারি"
print(summarize(text))
Input Format
Feed one section at a time. Join multiple sentences with । (Bengali danda). The <2bn> token is added automatically in the usage example above:
<2bn> sentence_1 । sentence_2 । sentence_3
Limitations
- Trained on only 317 pairs — a small dataset by deep learning standards. Outputs may be generic for unusual professions.
- Optimized for resume text. Performance on other Bangla document types is untested.
- Not suitable for very long inputs (>512 tokens); truncation will occur.
- The
<2bn>language token is mandatory — omitting it will cause incorrect (non-Bengali) output. - Compared to BanglaT5, this model has lower ROUGE on factual sections (Experience, Skill) but higher semantic similarity overall.
Citation
If you use this model, please cite the Onneshon dataset and XL-Sum:
@misc{onneshon2026,
title = {Onneshon: A Bangla Resume NLP Dataset},
author = {Tanvir and Shruti Khisa and Shaira Akther Diba and Fazli Rabbi Noor},
year = {2026},
doi = {10.17632/4md7bx6fd7.1},
publisher = {Mendeley Data}
}
@inproceedings{hasan-etal-2021-xl,
title = {XL-Sum: Large-Scale Multilingual Abstractive Summarization for 44 Languages},
author = {Hasan, Tahmid and Bhattacharjee, Abhik and Islam, Md. Saiful and Mubasshir, Kazi and Li, Yuan-Fang and Kang, Yong-Bin and Rahman, M. Sohel and Shahriyar, Rifat},
booktitle = {Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021},
year = {2021},
pages = {4693--4703}
}
Project
Part of the Onneshon thesis project — a Bangla NLP pipeline for resume processing.
- Dataset: Mendeley Data DOI: 10.17632/4md7bx6fd7.1
- Institution: Bangladesh University of Professionals (BUP), Dhaka, Bangladesh
- Supervisor: Rumana Yasmin, Lecturer, CSE Department, BUP
- Downloads last month
- 7
Model tree for resume-summerization-classification/bangla_resume_summarizerMT5
Base model
csebuetnlp/mT5_multilingual_XLSum