CoolFace
Modelpublic

oddadmix/dialect-router-v0.2

sourceHugging Faceupdated 2mo agoView on Hugging Face
2likes192downloads
Model Card

dialect-router-v0.2

A lightweight Arabic dialect identification model that classifies input text into one of 15 language codes: 13 Arabic dialects, Modern Standard Arabic, and English. It is the routing backbone in the Lahgtna pipeline, automatically selecting the correct voice reference and Chatterbox language token for speech synthesis.

v0.2 is a fine-tune of `asafaya/bert-mini-arabic` and expands coverage from 10 to 13 Arabic dialects, and adds an English label.

Model Details

PropertyValue
Base modelasafaya/bert-mini-arabic
ArchitectureBERT-mini encoder + sequence classification head
TaskMulti-class text classification (15 classes)
InputRaw text (up to 512 tokens)
OutputOne of 15 dialect / language codes
LanguagesArabic (ar), English (en)
LicenseMIT

Evaluation Results

MetricScore
Accuracy0.9359
F1 Macro0.9052
Eval Loss0.4537

Dialect Labels

IDLabelDialect / LanguageRegion
0arModern Standard Arabic (MSA)
1bhBahrainiBahrain
2dzAlgerianAlgeria
3egEgyptianEgypt
4enEnglish
5iqIraqiIraq
6lbLebaneseLebanon
7lyLibyanLibya
8maMoroccan (Darija)Morocco
9psPalestinianPalestine
10saSaudiSaudi Arabia
11sdSudaneseSudan
12sySyrianSyria
13tnTunisianTunisia
14yeYemeniYemen

What's New in v0.2

  • 13 Arabic dialects (up from 10): adds Bahraini (bh), Algerian (dz), and Yemeni (ye)
  • English label (en) — English input is now routed explicitly instead of being out-of-scope
  • Moroccan label renamed moma (ISO 3166 country code)
  • New base model: asafaya/bert-mini-arabic — smaller and faster for routing workloads
  • Retrained on an expanded multi-dialect corpus

Intended Use

Primary use Dialect-aware TTS routing — given an Arabic utterance, predict the dialect so the correct speaker reference audio and Chatterbox language code can be selected automatically.

Secondary use Standalone Arabic dialect identification for NLP pipelines, content filtering, dataset analysis, or any application that needs to distinguish Arabic dialects programmatically.

Out-of-scope use

  • Languages other than Arabic and English
  • Code-switched text (Arabic + English mixed)
  • Dialect intensity scoring or fine-grained subdialect classification
  • High-stakes decisions without human review

How to Use

Direct inference

python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model_id = "oddadmix/dialect-router-v0.2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
model.eval()

text = "اه ياراسي الواحد دماغه وجعاه"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
    logits = model(**inputs).logits

pred_id = torch.argmax(logits, dim=-1).item()
dialect = model.config.id2label[pred_id]
print(dialect)  # e.g. "eg"

With the Transformers pipeline

python
from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="oddadmix/dialect-router-v0.2",
)
result = classifier("اه ياراسي الواحد دماغه وجعاه")
print(result)
# [{'label': 'eg', 'score': 0.94}]

Inside Lahgtna TTS

python
from inference import run_pipeline

# Dialect is detected automatically
run_pipeline(
    text="اه ياراسي الواحد دماغه وجعاه",
    output_path="output.wav",
)

Training Procedure

Hyperparameters

  • learning_rate: 3e-05
  • trainbatchsize: 64
  • evalbatchsize: 64
  • seed: 42
  • optimizer: AdamW (betas=(0.9, 0.999), epsilon=1e-08)
  • lrschedulertype: cosine
  • num_epochs: 20
  • mixedprecisiontraining: Native AMP

Limitations & Biases

  • Short texts (< 5 tokens) may produce unreliable predictions — the model benefits from sentence-length input.
  • Code-switched text (e.g. Arabic + French in Maghrebi dialects, or Arabic + English) may confuse the classifier; heavily mixed input may be routed to en.
  • Dialect continuum — dialects from geographically adjacent regions (e.g. sy / lb / ps, ma / dz / tn, sa / bh) may be confused by the model.
  • Corpus bias — label distribution in training data may not reflect real-world dialect prevalence; some dialects (e.g. sd, ly, bh, ye) may have lower recall.
  • This model should not be used for identity classification of individuals.

Citation

bibtex
@misc{lahgtna-dialect-router-2026,
  title  = {dialect-router-v0.2: Arabic Dialect Identification for TTS Routing},
  author = {Oddadmix},
  year   = {2026},
  url    = {https://huggingface.co/oddadmix/dialect-router-v0.2}
}