IbrahimAmin/marbertv2-arabic-written-dialect-classifier
โ๐ป MARBERTv2 Arabic Written Dialect Classifier
Model Overview
This model is a fine-tuned version of `UBC-NLP/MARBERTv2` for Arabic written dialect classification. It identifies Modern Standard Arabic (MSA) and 4 regional Arabic dialects from raw text.
This model is intended for use in tasks such as dialect identification, linguistic research, and dialect-aware natural language processing systems.
๐ Model Details
This model is fine-tuned from MARBERTv2, a transformer-based language model optimized for Arabic, on a multi-dialect classification task. It distinguishes among five major written Arabic dialect regions:
- MAGHREB (North African dialects)
- LEV (Levantine dialects)
- MSA (Modern Standard Arabic)
- GLF (Gulf dialects)
- EGY (Egyptian Arabic)
It is intended for dialect identification in short Arabic text snippets from various sources including social media, forums, and informal writing.
๐ Labels (id2label)
The model predicts one of the following five classes:
{
"0": "MAGHREB", // Maghreb dialect (Northwest Africa: Morocco, Algeria, Tunisia, etc.)
"1": "LEV", // Levantine dialect (Lebanon, Syria, Jordan, Palestine)
"2": "MSA", // Modern Standard Arabic
"3": "GLF", // Gulf dialect (Saudi Arabia, UAE, Kuwait, etc.)
"4": "EGY", // Egyptian dialect
}๐ Training Data
The model was trained about 850,000+ Arabic sentences from 9 different publicly available datasets, covering a wide variety of written Arabic dialects.
Distribution by Dialect:
โ๏ธ Training Details
- Architecture: MARBERTv2 (BERT-based)
- Task: Text Classification (Dialect Identification)
- Objective: Multi-class classification with softmax over 5 dialect classes
- Tokenizer:
UBC-NLP/MARBERTv2
๐ Datasets Used
Below is a detailed overview of the datasets used in training and/or considered during development:
๐ก Usage
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_name = "IbrahimAmin/marbertv2-arabic-written-dialect-classifier"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
text = "ุงูุฏููุง ู
ุด ู
ุณุชุงููุฉ ุชุฌุฑู ูุฏูุ ุฎุฏ ููุชู ูุงุณุชู
ุชุน ุจุงูุญุงุฌุฉ ุงูุจุณูุทุฉ"
inputs = tokenizer(text, return_tensors="pt")
# Run inference
with torch.inference_mode():
logits = model(**inputs).logits
pred = torch.argmax(logits, dim=-1).item()
print(f"Predicted Dialect: {model.config.id2label[pred]}")โจ Acknowledgements
- MARBERTv2 team at UBC-NLP
- Contributors of the Arabic dialect datasets used in training
๐ Citation
If you use this model in your research or application, please cite:
@misc{ibrahimamin_marbertv2_arabic_written_dialect_classifier,
author = {Ibrahim Amin},
title = {MARBERTv2 Arabic Written Dialect Classifier},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/IbrahimAmin/marbertv2-arabic-written-dialect-classifier}},
}