Guide · Dialects

Arabic dialect identification: datasets, models and why LLMs struggle

Dialect ID looks like a solved classification task until you try it on your own traffic. Here is what the public datasets actually contain, how the evaluated LLMs perform, and how to label and build a gold set that holds up.

Bayanat Labs Research· · 10 min read

Arabic dialect identification (ADI) is the task of deciding which variety of Arabic a text or recording is in: Modern Standard Arabic, a regional family such as Gulf or Maghrebi, a country, or a city. Supervised classifiers trained on native, in-domain data do this reasonably well for regions and poorly for fine-grained labels on short texts. General-purpose LLMs used zero-shot are much weaker than their fluency suggests. On LabelBench's balanced five-region test, a local language model (Qwen 2.5 3B) scored 22.4% on the fixed held-out manifest, against 20% for random guessing.

Below: the datasets most cited for dialect detection, the LLM numbers, how to pick a label granularity, and the labeling rules that make a dialect ID gold set worth having. The focus is written text.

What is Arabic dialect identification, and why does it matter?

Arabic is diglossic: people write formal MSA but speak, and increasingly type, their dialects (our explainer on MSA vs dialectal Arabic covers why that gap sets a model's ceiling). The same request looks very different across the region:

Variety"What do you want?""Now"
MSAماذا تريد؟ (mādhā turīd?)الآن (al-ān)
Egyptianعايز إيه؟ (ʿāyiz ēh?)دلوقتي (dilwaʾti)
Levantineشو بدك؟ (shū baddak?)هلق (halla')
Gulfوش تبي؟ (wish tibi?)الحين (al-ḥīn)
Iraqiشتريد؟ (shtrīd?)هسه (hassa)
Moroccanاش بغيتي؟ (ash bghīti?)دابا (dāba)

Common everyday forms; each has several accepted spellings, and local variation exists inside every row.

Dialect ID is rarely the product; it is the router in front of one. Teams use it to pick the right intent model or ASR engine, to measure how dialectal a corpus really is, to balance fine-tuning data by variety, and to report evaluation per dialect. If the router is wrong, everything downstream inherits the error.

How well do LLMs identify Arabic dialects?

Less well than their fluency suggests. LabelBench, our reproducible audit, tested this on a balanced 500-item held-out manifest of native tweets from the DART dataset, 100 per region, drawn from the IADD integration. A five-class guesser scores 20%. Scores are exact-match accuracy on this fixed held-out manifest:

System (zero-shot unless noted)AccuracyMacro-F1
Chance (five balanced regions)20.0%–
Qwen 2.5 3B22.4%14.9%
Qwen 2 7B22.6%16.2%
Llama 3 8B24.6%18.7%
Fanar 1 9B (Arabic-specialized)47.8%47.3%
Character n-gram Naive Bayes, trained on 100 examples per region69.8%68.8%

Source: LabelBench v0.1 (July 2026). The evaluated local models were run with structured JSON output; frontier API models were not part of v0.1.

Three findings matter for practitioners:

  • The failure is collapse, not noise. Qwen 2.5 3B labeled 85% of Egyptian examples correctly but also called 75% of Gulf, 70% of Iraqi, 80% of Levantine and 70% of Maghrebi examples Egyptian. On a test set that is mostly Egyptian, that model would look fine.
  • Arabic specialization helps a lot, but not enough. Fanar 1 9B beat Qwen 2.5 3B by 25.4 points on the identical items, with per-region recall ranging from 13% (Iraqi) to 75% (Gulf).
  • The task is learnable. A small character model trained on 500 disjoint examples still beat Fanar by 22 points. Dialect cues sit in spelling and morphology, which character n-grams capture cheaply.

No evaluated generative system achieved non-zero Safe Automation Coverage at a 95% quality floor under the tied-confidence v0.1 protocol, meaning none of their labels could be safely routed past human review. That is the evaluated local models on one manifest, not a verdict on every LLM, but independent work points the same way. Kanjirangat et al. (2025) report a zero-shot F-score of only 8% for Phi-3.5-mini on NADI-2023, with a strong bias toward Egyptian, while the Arabic-specific SILMA leaned toward Saudi; LoRA fine-tuning performed best, at an 85% F-score. Test any model on your own labeled data first; our guide to Arabic LLM evaluation covers how, and our human-in-the-loop framework covers when machine labels can leave the review queue.

Arabic dialect identification datasets: NADI, MADAR, QADI and others

Most dialect detection papers use a handful of public corpora. What matters most is how each label was produced:

DatasetLabelsContentsHow labels were madeWatch out for
MADAR corpus (2018)25 cities + MSA2,000 travel-phrase sentences translated into all 25 city dialects; 10,000 more for Doha, Beirut, Cairo, Tunis and RabatNative translators from each city translated English or French source sentencesShort, translated, tourism-domain text; not how people write online
DART (2018)5 regionsAbout 25K tweets, balanced across Egyptian, Maghrebi, Levantine, Gulf and IraqiTweets matched to dialect phrases, then crowd-annotatedAuthors report lower annotation quality for Iraqi and Maghrebi
QADI (2020)18 countries540K tweets from 2,525 usersUsers' country inferred from account descriptions; MSA filtered outUser-level labels applied to every tweet; 91.5% accurate on a checked sample
IADD (2021)5 regions, 9 countries135,804 texts merged from DART, SHAMI, TSAC, PADIC and AOCInherited from the source corporaHeavily imbalanced: about 64% Levantine, 216 Iraqi texts
NADI 2024Multi-label, country level120 dev and 1,000 test tweets; single-label training data from MADAR and earlier NADI releasesThree native speakers per country judged every tweetSmall test set; the winning team scored 50.57 macro-F1

The NADI shared task has run as a recurring shared task since 2020. Its 2024 edition changed the question: instead of assigning each tweet one country, annotators from each country were asked whether the tweet could have been written by a speaker of one of their country's dialects, answering yes, maybe or no. A tweet counted as valid for a country when one annotator said yes and another said yes or maybe. The change matches the argument of Keleg and Magdy (2023), who had seven native speakers review a single-label classifier's errors and found about 66% of the validated errors were not true errors: the "wrong" dialect was also a plausible one.

For off-the-shelf tooling, CAMeL Tools ships a pretrained classifier based on Salameh et al. (2018), covering the 25 MADAR cities plus MSA and reporting results at city, country or region level. A solid baseline, though the system it follows was built on MADAR's translated travel sentences.

Region, country or city labels?

Granularity is a product decision, not a research default. Finer labels need rarer annotators and are less accurate on short text. Salameh et al. report 67.9% accuracy across 25 cities plus MSA for sentences averaging 7 words, and more than 90% when considering 16 words. A four-word support chat gives a classifier very little.

GranularityTypical classesUse it whenAnnotator requirementMain risk
MSA vs dialect2–3 (plus mixed)Filtering training data, choosing an MSA or dialect pipelineAny fluent native speakerMixed texts forced into one bucket
Region5–6 plus MSARouting to regional ASR or intent models; per-dialect evaluationAt least one native speaker per regionHides real differences, e.g. within the Gulf or Maghreb
CountryAbout 18 (NADI 2023's label set)Market-specific products, localization, compliance by jurisdictionNative speakers per countryBorders are not dialect boundaries; many texts are valid in several countries
City / sub-national25+Research, speech and voice products for a specific marketNative speakers of each locality, hard to sourceShort texts rarely carry enough signal

A useful pattern is a hierarchical label: store the finest label the annotator can defend, and roll up to region for training and reporting. Saudi Arabia shows why. Najdi, Hijazi, southern and eastern speech differ enough that a single "Saudi" or "Gulf" label can hide failures (see our breakdown of Saudi Arabic dialects for AI).

How to label mixed-dialect and MSA-heavy text

Real text rarely fits one class: comments mix MSA with dialect, messages switch into English, and short phrases are shared across regions. Take الخدمة الجديدة حلوة بس الأسعار غالية ("the new service is nice but the prices are high"). حلوة (ḥilwa, "nice") and بس (bass, "but") mark it as dialectal, yet both are used across Egyptian, Levantine and Gulf speech. Forcing one label here creates exactly the false errors Keleg and Magdy measured. Rules that work:

  1. Separate "is it dialect?" from "which dialect?". Record a dialectness level first. NADI 2024's ALDi subtask used levels 0–3, from MSA to strongly dialectal.
  2. Allow multiple valid labels. Ask each native annotator whether the text is plausible in their variety, then aggregate, rather than asking one person to pick a single winner.
  3. Add explicit escape classes. MSA, mixed/unclear and too short to tell keep ambiguous items out of your training signal instead of polluting it.
  4. Label the evidence. Annotators highlight the deciding tokens, such as عايز or دابا, which speeds adjudication and exposes guessing.
  5. Route by dialectness. Keleg, Magdy and Goldwater (2024) found across 15 public datasets that highly dialectal samples are harder to label, especially for annotators who do not speak the dialect, and recommend routing them to native speakers of that dialect.
  6. Handle Arabizi and code-switching separately. Latin-script Arabic and English or French insertions need their own rules; tag them rather than forcing a dialect label.

Building an Arabic dialect identification gold set

A leaderboard score tells you little about your traffic; a gold set from your own channel does. The minimum:

  1. Fix the taxonomy and granularity first, including MSA and escape classes, and write them into a guideline with examples per class. Our annotation guidelines template is a starting structure.
  2. Sample from production, stratified. Cover each channel (chat, voice transcripts, social), each length bucket and each market. Keep a natural-distribution slice alongside any balanced one.
  3. Use native annotators per variety. Screen them on the dialect itself, not general Arabic fluency, and give each item to more than one.
  4. Aggregate with a written rule (for example NADI's yes-plus-yes-or-maybe), then adjudicate disagreements with a senior native reviewer and record the reason.
  5. Prevent leakage. Keep all texts from one user or conversation on the same side of the train/test split, so the model learns the dialect rather than the author.
  6. Report per-variety recall, macro-F1 and a confusion matrix, not headline accuracy. LabelBench's Qwen result shows how a collapse toward one dialect stays invisible in an average.
  7. Always run a cheap baseline. A character n-gram model on a few hundred labeled examples is a floor any LLM or vendor system should beat. On LabelBench's manifest, none of the evaluated zero-shot LLMs did.

This is the work Bayanat Labs does on Arabic dialect data collection and annotation. We cover 25+ Arabic varieties with vetted native speakers who pass dialect screening before touching client data, and work is calibrated against gold standards with adjudication and rework loops. A fixed-scope pilot, scoped to the label granularity you need, includes gold-standard QA and a benchmark/quality report, usually within two weeks.

Key takeaways
  • Zero-shot LLMs are a weak labeler here. The evaluated local models scored 22.4% to 47.8% on LabelBench's five-region manifest (chance 20%), and smaller ones collapsed toward Egyptian.
  • The signal is learnable. A character n-gram model with 100 examples per region reached 69.8%, ahead of every evaluated zero-shot LLM on the same manifest.
  • Know how a dataset's labels were made. MADAR is translated, QADI is user-level, DART is crowd-labeled; only NADI 2024 has multi-label test data validated by native speakers of each country.
  • Single labels undercount correct answers. Allow multiple valid dialects, record dialectness, and keep MSA and "unclear" as explicit classes.

Frequently asked questions

Can ChatGPT or other LLMs detect Arabic dialects reliably?

Not reliably enough to use as labels without checking. Published zero-shot results are weak: a 2025 study reports an F-score of 8% for Phi-3.5-mini on NADI-2023, and on LabelBench's fixed five-region manifest the evaluated local models scored between 22.4% and 47.8% against a 20% chance floor. Frontier models may do better, so measure the model you plan to use on a gold set from your own data.

What is the best dataset for Arabic dialect identification?

It depends on the label you need: MADAR for city-level research on short parallel sentences, QADI and NADI for country-level tweets, DART and IADD for regions. NADI 2024 alone has multi-label, native-validated test data. Check every licence before commercial use, and expect to add in-domain data from your own channel.

How many Arabic dialects can a dialect identification system distinguish?

Research systems go down to city level: MADAR and the CAMeL Tools classifier built on it cover 25 cities plus MSA, and NADI works with country-level labels (18 countries in its 2023 label set). Accuracy drops as classes get finer and texts get shorter. Many products are better served by five or six regions plus MSA than by a country list nobody can label consistently.

What is ALDi (Arabic Level of Dialectness)?

ALDi is a score for how far a sentence departs from Modern Standard Arabic, from 0 (MSA) to 1 (strongly dialectal). NADI 2024 ran it as a shared subtask, with native annotators assigning levels from 0 to 3. It is useful alongside dialect labels: Keleg et al. (2024) found that highly dialectal samples are harder to label, especially for annotators who do not speak that dialect.

Should I use user location or metadata as a dialect label?

Only as a weak signal. Where someone lives is not always the variety they write in, and a single user can switch between MSA and dialect. QADI built country labels from users' account descriptions and reports those labels were 91.5% accurate on a manually checked random sample. That is good for a large corpus, but it is not a native-validated gold standard.

Need dialect labels you can defend?

Bayanat Labs builds dialect ID gold sets with vetted native speakers across 25+ Arabic varieties, calibrated against gold standards with adjudication. A fixed-scope pilot with gold-standard QA and a quality report usually runs within two weeks.

Scope a dialect ID pilot