Skip to content
← All research

paper

A Context-Aware Graph Neural Network for Banglish Spell Correction

December 19, 2025

Our ICCIT 2025 paper on normalizing Banglish — Bangla written in English letters — by treating a sentence as a graph of tokens instead of a sequence. The model reaches 92.64% word-level accuracy, ahead of BiLSTM, Transformer, and edit-distance baselines.

The problem

Millions of Bangladeshis write Bangla in English letters. It’s faster on an English keyboard and doesn’t need a Bangla layout, so social media, comments, and chat are full of it. The catch is that there’s no agreed-upon spelling. The single word “ভালো” (good) shows up as valo, bhalo, or bhallo; “এখনো” (still) as ekhno, ekhnno, ekhn, or just khno. Abbreviations drift from person to person — bcz for “কারণ” (because) — and the same string can mean two different things: bar is “বার” (time/occasion) in one sentence and “বাড়ি” (home) in another.

For a human this is easy. For an NLP system it’s a wall: before you can run sentiment analysis, translation, or a chatbot on Banglish, you have to normalize it back to standard Bangla — and the spelling is too irregular for the usual tools to handle reliably.

Why the usual approaches fall short

There are three common ways to attack this, and each hits a ceiling:

  • Rule-based transliteration is brittle. It can’t cope with spellings it has never seen, and informal text invents new ones constantly.
  • Edit-distance matching is cheap but blind to meaning. It happily “corrects” a word to the nearest-looking one, even when context says otherwise — lots of confident, wrong answers.
  • Sequence models (BiLSTM, Transformer) read the sentence left to right. They improved things, but they still struggle when the cue that disambiguates a word sits several tokens away, or when the sentence is short, noisy, and missing its usual structure.

The thread running through all three: they treat a sentence as a line. Banglish ambiguity is rarely resolved by the word next door — it’s resolved by the whole sentence at once.

The idea: read the sentence as a graph

So we stopped reading it as a line. Each token becomes a node in a graph, and edges connect tokens by three different signals at the same time:

  • Contextual similarity — how related two tokens are in meaning (cosine similarity of their embeddings).
  • Co-occurrence — how often the two tokens actually appear together in the training data.
  • Character proximity — how close they are in spelling (normalized edit distance), which catches the phonetic variants.

Those three are blended into a single weighted connection between tokens (weighted 0.5 / 0.3 / 0.2 respectively, tuned on a validation set). A graph neural network then passes messages along these edges for three rounds, so each token’s representation is shaped by its whole neighborhood — including words it isn’t adjacent to. A sentence-level summary is folded back into every token before the final prediction, which is what lets the model resolve the bar = time vs. bar = home case from context rather than spelling alone.

The data

We built a hand-annotated dataset for this: ~80,000 raw Banglish–Bangla pairs scraped from informal sources, filtered down to 63,132 clean, human-checked examples (annotators resolved the ambiguous and abbreviated tokens by hand using sentence context). Split 70/15/15 for training, validation, and test, and tokenized at both the word level (a 12,000-word vocabulary) and the character level (75 characters) — so the model sees meaning and spelling.

What we found

On held-out test data the graph model reached 92.64% word-level accuracy, ahead of every baseline:

ModelWord accuracySentence accuracyF1
Edit-distance78.42%18.36%0.751
BiLSTM86.53%27.42%0.859
Transformer89.15%32.87%0.887
Context-aware GNN (ours)92.64%40.25%0.917

The gains were largest exactly where they should be: disambiguating polyphonic and abbreviated tokens — the cases that need context, not just spelling.

The honest caveat is that sentence-level number, 40.25%. It looks low, but the metric is strict — a single wrong token fails the entire sentence — and the GNN still beat every baseline on it. Long sentences with long-range dependencies are where it struggles most, and the training is compute-heavy. Useful, not solved.

Why it matters

Banglish normalization is the unglamorous first step that makes everything downstream possible — sentiment analysis, machine translation, speech, and conversational AI that actually works for the way Bangladeshis really write online. Getting it right is partly a question of inclusion: a lot of NLP quietly assumes clean, standardized input, and a lot of real users don’t write that way.

Details

Published at the 28th International Conference on Computer and Information Technology (ICCIT 2025) in Cox’s Bazar, Bangladesh, with Abdullah Al Shafi, Syed Alve Ahad, Ashifur Rahman, Samin Yasar, and Md. Saddam Hossain. The full method — the adjacency construction, the message-passing equations, the hyperparameter search, and the ablation studies — is on IEEE Xplore, linked above as Source.