Reading Beyond OCR Noise

Reading Beyond OCR Noise: Robust Cross-Lingual RAG for Legislative Archives

Radha Krishna Deshpande, Ajoy Mondal, Akash Manna, C V Jawahar

CVIT, International Institute of Information Technology, Hyderabad, India

ਪੰਜਾਬ ਵਿਧਾਨ ਸਭਾ

Punjabi, Gurmukhi script

पंजाब विधान सभा

Hindi, Devanagari script

Punjab Vidhan Sabha

English, Latin script

Abstract

Decades of Indian parliamentary records survive only as degraded, multi-column scans that mix Hindi, Punjabi and English. On these pages, OCR failure is the main obstacle to finding information.

We present an end-to-end framework that pairs vision-based layout segmentation and multi-script OCR with an agentic retrieval-augmented generation (RAG) pipeline. An iterative loop checks the retrieved evidence, rewrites the query when it falls short, and searches again before answering. On the 200,000-page Punjab Vidhan Sabha archive, the system outperforms standard text-only baselines.

200,000pages, 1950–2024
3 scriptsoften on one page
1 GPUopen-weight models, RTX 4060
0.810MRR@1 on 200 queries

Architecture

Questions are embedded in their own language, so a Punjabi question can find an English page. Answers come back in the language of the question.

Figure 1. The agentic RAG system. Click to enlarge.
  1. Read the pages

    A fine-tuned YOLO layout model splits each scan into regions and a CRNN recognizer reads them.

  2. Index

    BAAI/bge-m3 embeds the text and metadata into a ChromaDB vector store.

  3. Retrieve and check

    The top-5 chunks come back by cosine similarity. An LLM judges whether they are enough.

  4. Rewrite and retry

    If not, the query is rephrased around terms that OCR errors may have hidden, then retrieval runs again.

  5. Answer from evidence

    A generation LLM answers in the user’s language, grounded in the validated pages.

Results

On 1,000 stratified pages and 200 gold questions, indexed against the full archive, the optimized pipeline leads on every retrieval metric.

Model / pipelineMRR@1Hit@3Hit@5Prec@3
LaBSE0.3200.5100.5900.170
NetraEmbed (dim 2560)0.6050.8430.9120.281
Multilingual-E5-Large0.6200.8550.9150.285
Standard BGE-M30.7750.9000.9400.300
Ours (optimized pipeline)0.8100.9250.9550.325

Selected baselines shown. The paper compares more embedding models.

Ablations

What each part of the system contributes, measured on the same 200-query benchmark and the 20 hand-transcribed pages.

Agent loop iterations

L is the maximum number of retrieve–rewrite rounds. L = 1 is single-pass retrieval with no query rewriting. Answer F1 nearly doubles, so the loop mostly recovers context that one pass misses entirely.

Max loops (L)MRR@1Precision@3Answer F1
1 (no rewriting)0.890.330.18
20.930.350.26
30.970.370.35

Values read from the paper’s Fig. 6 and rounded. The text states only the L = 1 and L = 3 values.

Layout and OCR quality

With the same CRNN recognizer, the fine-tuned YOLO layout model lifts word accuracy from 60.35% to 80.03% over CRAFT. Larger OCR systems score higher, but our pipeline stays fully local.

Layout modelOCR modelCRR (%)WRR (%)
Gemini-3.1Gemini-3.199.789.6
Surya2Surya299.688.9
SarvamSarvam99.589.4
YOLO (fine-tuned)CRNN (ours)95.6780.03
CRAFTCRNN (ours)89.0060.35

OCR choice and retrieval

Swapping in stronger OCR changes retrieval only slightly: MRR@1 stays between 0.810 and 0.825 across all four systems.

OCR modelMRR@1Hit@3Hit@5Prec@3
Gemini-3.10.8250.9200.9600.3533
Sarvam0.8200.9350.9550.325
Surya20.8150.9250.9500.305
Ours0.8100.9250.9550.325

Language model on OCR-noisy text

Average perplexity of three instruction-tuned backbones on the multi-script archive documents. Lower is better.

Language modelAverage perplexity
Mistral-7B7.81
Phi-34.99
Qwen2.54.46

Cite this work

@misc{deshpande2026readingocrnoiserobust,
      title={Reading Beyond OCR Noise: Robust Cross-Lingual RAG for Legislative Archives}, 
      author={Radha Krishna Deshpande and Ajoy Mondal and Akash Manna and C V Jawahar},
      year={2026},
      eprint={2610.35240},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2610.35240}, 
}