In-context learning improves Devanagari OCR correction with new retrieval method

Evaluating In-Context Learning and Retrieval Strategies for Devanagari Post-OCR Correction

Computation and LanguageComputer Vision and Pattern Recognition

Summary

OCR software often makes mistakes reading Hindi and Marathi text in Devanagari script because of complex characters. The authors tested how large language models can fix these mistakes without extra training by showing examples related to the errors. They found that choosing examples based on character patterns in the text works much better than random or semantic choices, especially with bigger models. Marathi text is harder to correct than Hindi due to its complex word forms. Their new method offers a simple way to improve accuracy on scanned documents without extra training.

What this means in practice

  • For software engineers: Improve OCR text correction in Hindi and Marathi documents using GPU-free character-based retrieval and large language models without retraining.
  • For digital archivists: Enhance the accuracy of digitizing Devanagari printed materials by applying targeted example retrieval strategies with language models for post-OCR cleanup.

Authors

Abhishek Bhandari, Gaurav Harit

Abstract

In-context learning using Large Language Models (LLMs) offers a compelling path to training-free post-OCR correction, yet its effectiveness for Devanagari script remains entirely unexplored. We present the first systematic evaluation of LLMs (3B-32B) for post-OCR correction in Hindi and Marathi, comparing three in-context example retrieval strategies: domain-random selection, dense semantic retrieval, and our proposed CharBM25, which retrieves examples by character n-gram BM25 similarity over OCR inputs to target shared error patterns with the test sentence. Across a 20,000-sentence benchmark spanning five news domains, retrieval strategy is the decisive factor in correction quality: CharBM25 outperforms domain-random selection by 2.8-4.0pp absolute WER on Hindi and 2.9-3.8pp on Marathi, using character trigrams, which consistently outperform bigrams and unigrams. Scale dominates performance: Gemma-3-27B achieves WER reductions of 55.0% for Hindi and 33.3% for Marathi under CharBM25-5. Few-shot gains are capacity-gated: models below 8B do not reliably improve over the OCR baseline, and on Marathi the smallest models (3B) degrade more sentences than they improve. Marathi is persistently harder to correct than Hindi across all scales, reflecting its greater morphological complexity. These findings establish CharBM25 as an effective, GPU-free retrieval strategy that matches or exceeds dense retrieval at negligible computational cost, and show that combining it with a general-purpose LLM of 12B+ parameters delivers reliable, training-free Devanagari post-OCR correction without task-specific fine-tuning. Dataset: https://huggingface.co/datasets/AbhishekBhandari/Devanagari-OCR-ICL-Benchmark