AI for Indian languagesMiddleLesson 2346 min read

Why Indian languages are hard for AI

India has 22 scheduled languages and hundreds of languages and dialects overall. Here is why AI often works less well in them, and what builders can do.

Lesson in motion

In 60 seconds

Why Indian languages are hard for AI

India has 22 scheduled languages and hundreds of languages and dialects overall. Here is why AI often works less well in them, and what builders can do.

1/5
In simple words
Imagine a student who read ten thousand English storybooks but only a few books in Odia or Konkani. That student will speak English easily and struggle in the others. The languages are not harder or less rich. The student simply saw less of them. Many AI models are like that student.
The Constitution of India lists 22 scheduled languages, and people in India speak hundreds of languages and dialects overall. Every one of them is a complete language, with its own grammar, poetry, jokes and ways of saying things. When AI works badly in a language, that is a gap in the data and the tools, not a problem with the language.
Large language models learn from text. Speech models learn from recordings with transcripts. If a language has less of that material online, the model learns less about it. That is the first and biggest reason for the gap.

Six reasons AI finds it hard

ReasonWhat it meansAn everyday example
Less digital textFor many languages there is far less clean text online than for English. Some have very little.A model may write good Hindi or Tamil news prose but struggle with a smaller language from the North-East or a tribal language.
Many scriptsIndian languages use many writing systems: Devanagari, Bengali-Assamese, Gurmukhi, Gujarati, Odia, Tamil, Telugu, Kannada, Malayalam, Perso-Arabic, Ol Chiki, Meitei Mayek and more.The same language may be written in more than one script. Konkani and Santali are examples.
DialectsOne language name can cover many regional ways of speaking, with different words and sounds.A model trained on formal written Marathi may miss words a farmer uses in daily speech.
Code-mixingPeople mix languages inside one sentence."Kal meeting cancel ho gayi, reschedule kar do."
TransliterationPeople often type their language in Roman letters, with no fixed spelling."nahi", "nahin" and "nai" can all mean the same word.
Speech-first usersMany people prefer to speak, not type, especially on phones and for first-time internet users.A farmer sends a voice note to ask about crop prices instead of typing.

What goes wrong for users

  • Answers in the right script but the wrong register: too formal, too bookish, or mixed with odd words.
  • Wrong names of places, people, crops and government schemes.
  • Numbers, dates and currency amounts read or written wrongly.
  • Speech recognition that works for studio speech but fails with accents, background noise or code-mixing.
  • Higher cost and slower answers, because Indic text often becomes more tokens (next lesson).

What builders can do

  1. 1

    Start from users

    Find out which language, script and style your users really use. Ask them; watch them type and speak.
  2. 2

    Test in that language

    Build a small test set of real phrases, not only translated English examples.
  3. 3

    Use open work

    Start from open datasets and models built for Indian languages, and check their licences.
  4. 4

    Measure honestly

    Report quality per language and per dialect, not one average number.
  5. 5

    Involve speakers

    Pay native speakers to review outputs and to help collect data with consent.
Building for Indian languages badly
  • Testing only in English and hoping it transfers
  • Treating one "standard" form as the only correct way to speak
  • Reporting one average score across all languages
Building for Indian languages well
  • Testing with real phrases from real users in each language
  • Supporting the scripts, dialects and mixing people actually use
  • Reporting results per language, and fixing the weakest first
Note
Models change fast. A language that works poorly in one model may work better in the next, and the other way round. Always test the model you will actually ship, in the languages your users actually use.
Try this. Ask a chatbot the same simple question in English, in a language you know well, and in that language typed in Roman letters. Compare the three answers. Where did it do worse?

Watch and read more

Lab

A small comparison of how a chatbot handles one question in three forms of language.

~25 min

The problem

Pick one language you speak well, other than English.

  1. Write five simple, everyday questions (for example about train times, crop prices or a school form).
  2. Write each one three ways: in English, in your language in its own script, and in your language typed in Roman letters.
  3. Ask a free chatbot all fifteen questions. Do not share any personal data.
  4. For each answer, mark: correct meaning (yes / partly / no), natural language (yes / partly / no), right script (yes / no).
  5. Write three sentences: where it did worst, and one guess why.

You are done when

Hard questions

Try to answer before you reveal. If you can answer these, you understood the lesson.

Q1A model scores well on a public benchmark in your language, but your users complain. How can both be true?Reveal

The benchmark may use formal written text, often translated from English, while your users write in a dialect, mix languages, or type in Roman letters. The benchmark may also have leaked into training data. A score only tells you about text like the test text. Build a test set from your own users' real input.

Q2Why is "just translate everything to English, run the model, and translate back" risky?Reveal

Each translation step can lose or change meaning, especially names, numbers, local terms and tone. Errors from both steps add up, and it costs time and money twice. It can be a useful baseline, but you should compare it with direct use of the language on a real test set.

Please sign in to continue.

Questions people ask

Are some Indian languages "harder" than others?

Not as languages. Every language is complex in its own way. What differs is how much digital text, speech and tooling exist for each one. That is a question of resources and history, which builders can help change.

What does "low-resource language" mean?

It is a technical term for a language with little data available for training AI: few digitised books, little web text, few transcribed recordings. It says nothing about the value of the language or the number of its speakers.

If a model already speaks Hindi, why build anything special?

Because your users may speak another language, a dialect, or a mix, and may type in Roman letters or send voice notes. General models can be a good start, but you still need to test them with your users' real input and fix what fails.

Where do I begin as a student?

Pick one language you know well. Build a small, honest test set of real sentences. Try open models on it and write down where they fail. That small study is useful work and a good project for your portfolio.

Lesson test

5 questions. Get 3 right (60%) to pass and complete this lesson.

Sign in to take the test and save your progress