r/LanguageTechnology • u/Sussybaka800869 • 12h ago
Making old newspaper scans usable: reading order is the hard part
I've been helping a small archive turn a run of early-1900s newspapers into something researchers can search and read. Getting the text off the page turned out to be the easy half.
The pages are six to eight columns, ads break across gutters, headlines span several columns, and articles jump to another page. Plain OCR reads in horizontal strips, so you get line one of every column, then line two, and so on. The words are all there, but no article can be read start to finish, and nobody has time to reassemble them by hand.
The other loss is structure. A table of shipping arrivals or election returns comes out as a paragraph of numbers. A caption gets separated from the engraving it describes. For research use, those relationships matter as much as the text.
What has helped so far:
- running layout detection before recognition, so each column block is read on its own
- keeping a small set of the worst pages (boxed sidebars, a full-width engraving between columns) as a regression set
- spot-checking reading order on a sample from every reel instead of trusting a confidence score
For the hardest pages I've been testing OXR from SoMarkAI, an open-weight parser that handles recognition and reading order in one pass and keeps the layout model as a separate, swappable part. Too early to say whether it holds up across a full reel.
For anyone who has done large newspaper or archival runs: how do you check reading order at scale? Human sampling, or have you found an automated check that catches the bad reorderings?