SSyntha
arabic-nlp11 Sept 2026·3 min read

MSA or dialect — which should your Arabic training data be?

If your users type the way they speak, MSA-only training data will fail on them. The practical answer is a deliberate mix with the ratio stated, not a choice between the two.

Match your training data to the register your users actually write in, which for consumer products is dialect and for formal documents is MSA. The mistake is treating this as a binary when it is a ratio you should choose deliberately and then state.

The failure mode in each direction

MSA-only data, dialect users. This is the common one. Modern Standard Arabic dominates available corpora because it dominates published text — news, books, official documents. A model trained on it handles a support message like "أرغب في الاستفسار عن حالة طلبي" perfectly and falls over on "وش صار على طلبي؟", which is what someone actually types.

Dialect-only data, formal input. Rarer, but real for products that process documents or official correspondence. A model tuned hard on conversational Gulf Arabic can misread formal register as out-of-domain.

Why "just use MSA, it's the standard" fails

Two reasons people underestimate.

Nobody's first instinct is MSA. In chat, support, reviews and social text, Arabic speakers write in dialect. MSA in those channels is a marked choice, usually signalling formality or distance. Training only on MSA means training on the register your users switch into when they are annoyed with you.

The dialects are not small variants. Gulf, Levantine, Egyptian and Maghrebi differ in vocabulary, negation, question formation, future marking and pronoun system. A model that has seen only MSA has not seen a slightly informal version of its training data — it has seen a different variety.

The practical answer: a stated mix

Rather than choosing, decide the proportion your product needs and publish it:

Product Reasonable mix
Consumer chat / support bot 80–90% dialect, 10–20% MSA-leaning
Document processing, legal, gov 80%+ MSA, some formal dialect
General assistant Balanced, with dialect coverage across regions
Dialect ID or robustness benchmark Deliberately even across varieties

The number matters less than stating it. A dataset that says "85% Gulf dialect, 15% MSA-leaning" lets a buyer decide whether it fits. One that says "Arabic" does not.

Include the in-between register

The most useful thing missing from most Arabic corpora is not more MSA or more dialect. It is the middle: lightly formal dialect, the register people use with an institution they are not angry at yet.

It appears constantly in real support text and almost never in training corpora, because it is neither the published register nor the stereotypically colloquial one. Budget for it explicitly — a "white" or generally-Saudi register that is dialect-grounded without regional markers is often the single most represented register in real traffic.

How to check what you actually need

Before deciding, take a few hundred real messages from your product — or from a competitor's public reviews if you have none — and classify them by register. Almost everyone doing this for the first time finds more dialect than they expected, and more code-switching into English than they expected.

That distribution is your target. Build to it and state it, rather than inheriting whatever a scraped corpus happened to contain.

One thing that is not a solution

Translating MSA data into dialect with a model produces text that is dialectal in vocabulary and MSA in structure. It reads wrong to native speakers in a way that is hard to articulate and easy to detect, and it teaches your model a register nobody speaks. If you need dialect data, generate or collect it as dialect.

Syntha · SynthaAll notes