The OCR Specialist That Never Trained for the Job
Based on: Multi-Expert Routing for Multi-Domain Low-Resource OCR: A Manchu Case Study — Zhan Chen, Jiqiao Ma, Chih-wen Kuo
Here's the finding that made me sit up: the researchers built a system that picks the best OCR model for a given page of 17th-century Manchu handwriting, and two out of three times, the model it picked had never actually been trained to read that kind of handwriting. It got good at it as a side effect of training for something else entirely, and nobody knew until they checked.
That's the kind of result that sounds like a bug report until you read the paper (arXiv 2607.14041, from Zhan Chen, Jiqiao Ma, and Chih-wen Kuo) and realize it's actually a smart way to deal with a problem that OCR teams hit constantly: not enough labeled data, and documents that don't all look alike.

Why Manchu is a nightmare for OCR
Manchu is the language of the Qing dynasty court, written top to bottom in a vertical alphabet derived from Mongolian script. If you're building an OCR system for it, you inherit two problems at once.
First, it's low-resource. There isn't a firehose of labeled Manchu text the way there is for English or Chinese. Every character-level transcription used for training or evaluation had to be produced by someone who can actually read Manchu, which is a small pool of people.
Second, and this is the part that makes it a good stress test, Manchu documents come in wildly different handwriting styles depending on who wrote them and why. The paper works with three: regular script (careful, formal, closer to print), running script (faster, more fluid, letters blur into each other), and the semi-cursive "chancery hand" used specifically in palace memorials, the reports Qing officials sent up to the emperor. A model trained to read one of these can fall apart on another, the same way a human who reads clean printed English might struggle with a doctor's handwritten prescription.
Put those two problems together and you get the actual challenge: you need a system that handles three visually distinct writing styles well, but you don't have enough labeled examples of any single style to just throw more data at the problem.
The core idea: stop training one model, start routing to the right one
The standard move when you don't have enough data for one big general model is to fine-tune: take a pretrained model and keep updating it on your target data, saving checkpoints along the way. Normally you throw away all the intermediate checkpoints and keep the final one.
This paper's insight is that those discarded checkpoints aren't garbage. During iterative fine-tuning, a model passes through different stages, and at some point in that process it might become unusually good at handling a specific quirk of the data, even if that wasn't the training goal. The authors keep a pool of these checkpoints around and treat them as domain specialists.
Then they build a lightweight router: a small image classifier that looks at a page and predicts which of the three writing styles it's looking at (regular, running, or chancery memorial), then sends that page to whichever checkpoint in the pool is the known expert for that style. If the pool doesn't have a good specialist for a domain, they train one and add it.
A decent analogy is hospital triage. You don't want one doctor treating every patient. You want a nurse at the front desk who can glance at a patient and know which specialist down the hall to send them to. What's unusual here is that some of those "specialists" were never officially trained in their specialty. They picked up the skill as a byproduct of training for something else, and the system found out by testing them, not by asking what they were supposed to be good at.
What they measured, and why CER is the number that matters
The main metric here is CER, character error rate: the percentage of characters the OCR system gets wrong compared to a human-verified transcription. Lower is better, and in mature OCR pipelines the difference between a good and a mediocre model often comes down to less than a percentage point of CER, which is exactly the kind of thing that's easy to fake with a small or cherry-picked test set. This paper uses three frozen test sets, one per writing style, so the comparison stays consistent.
The routed system's results, per style:
- Regular script: 0.30% CER
- Palace memorials (chancery hand): 1.57% CER
- Running script: 4.83% CER
Two things stand out. First, these numbers match what you'd get if you already knew the correct domain for every single page and manually routed it to the best specialist. In other words, the automatic router isn't losing accuracy by guessing wrong. It performs as if it had been handed the answer key.
Second, running script is clearly the hardest of the three by a wide margin, over 16 times the error rate of regular script. That tracks with the general OCR pattern where the biggest challenges are almost always the loosest, most informal handwriting, not the neat stuff.
The router itself, the small classifier deciding which page goes where, hit 99.3% page-level accuracy at identifying the correct writing style. That's a strong number for what's a genuinely tricky visual classification task: telling apart three flavors of a script most people alive today can't read at all, let alone distinguish at a glance.

The accidental-expert finding, and why it's the real headline
Back to the detail that opened this piece. The paper reports that of the three specialists the router ended up relying on, only the running-script expert was a checkpoint originally trained with running script as its intended target. The other two, the ones handling regular script and palace memorials, came from checkpoints that were products of the iterative fine-tuning process aimed at different goals.
This matters more than it might first appear. It suggests that in a low-resource setting, whether a model becomes good at a particular domain isn't fully predictable from what you set out to train it on. Training dynamics create side effects, and some of those side effects are useful specialists you'd never think to build on purpose. The practical implication is that if you're sitting on a pile of intermediate checkpoints from past fine-tuning runs, treating them as disposable might mean throwing away specialists you already paid to create.
It also reframes what "the router" is actually doing. It's not just directing traffic. It's running a kind of blind audition, letting a lightweight classifier discover which of your existing assets are secretly good at a job nobody assigned them, and then acting on that discovery instead of on assumptions about what each checkpoint was "for."
Why it matters if you're building or buying OCR
If you run documents through OCR at any real volume, chances are you already deal with a version of this problem, just without the historical-manuscript framing. Scanned contracts, handwritten forms, faded receipts, and mixed-quality PDFs are all different visual domains competing for one model's attention, the same way regular script, running script, and chancery hand compete here.
The lesson isn't "go train a Manchu specialist." It's that a single "best" OCR model, the kind you'd pick off a leaderboard, is often the wrong frame. A router that sends different document types to different specialists, each tuned or simply discovered to be strong on that type, can beat any single model used across the board. That's the same logic behind why a service that tries several OCR engines per document and keeps the best result tends to outperform betting on one engine every time.
It's also a reason to be less quick to delete old model checkpoints. If you've ever fine-tuned a model through several iterations and only kept the final version, this paper is a case for keeping the intermediate ones and periodically testing whether any of them turned out to be quietly great at something you didn't plan for. The cost of storing a checkpoint is cheap. The cost of re-training a specialist you already had and threw away is not.
The honest limits of this approach
This is a small, carefully scoped study, not a general-purpose recipe, and the paper doesn't oversell it.
Three domains is a manageable number for a router to distinguish. It's unclear how this holds up with ten or twenty visually distinct document types, where a lightweight page classifier might start making more routing mistakes, and where wrong routing decisions get more expensive because there are more ways to be wrong.
The system still needs a fallback: when the checkpoint pool has no plausible specialist for a domain, someone has to train a new expert, which means someone still has to produce labeled data for that domain. The approach reduces how often you need fresh training data, but it doesn't eliminate the need for it.
Routing here happens at the page level, not line by line or word by word. A single page that mixes two writing styles (not unheard of in real historical documents, where a scribe might switch hands mid-page) could confuse a router built around one classification per page.
And this is Manchu specifically: a script with clear structural differences between its style variants. Domains that blur into each other more (say, several people's cursive handwriting in the same general school of penmanship) might be much harder for a lightweight classifier to tell apart, which would undercut the whole premise of confident routing.
None of that erases the core result. The paper shows a genuinely clever way to squeeze more value out of a checkpoint pool you already have, and a reminder that "make one really good model" isn't always the right question. Sometimes the right question is "which of the things I've already built is secretly the best at this," and building a system to actually go find out.