Verbeteren OCR-tekst met een lokale AI / LLM

  • gisteren
  • René Voorburg
  • 34
Profielfoto van René Voorburg
KIA Community
  • Profielfoto van Ger Wischmann
  • Profielfoto van Marco Streefkerk

Onze online krantencollectie omvat 500.000 pagina's. Ze zijn doorzoekbaar met Elasticsearch. De tekst is uit de scan geëxtraheerd met behulp van tesseract OCR, en opgeslagen als alto.xml.

De kwaliteit van die OCR-tekst is aardig, maar voor verbetering vatbaar. In een poging de vindbaarheid te verbeteren hebben we het volgende experiment gedaan: de OCR-tekst uit de alto.xml hebben we naar een lokale LLM gestuurd (gemma4) met deze prompt:

"Je bent een expert in het reconstrueren van historische Nederlandse teksten uit OCR-output van gedigitaliseerde regionale kranten. Corrigeer spelfouten, ontbrekende letters en verkeerd herkende tekens. Schrijf afkortingen volledig uit waar mogelijk. Voeg afgebroken woorden (woorden met een afbreekstreepje aan het regeleinde) weer samen. Geef alleen de gereconstrueerde tekst terug, zonder uitleg of commentaar."


Dat werkt best goed. Idee is om deze gecorrigeerde tekst te gebruiken om nieuwe trefwoorden aan de zoekindex toe te voegen (door een 'delta' of diff te doen tov de OCR-tekst). We willen vooralsnog niet de alto.xml aanpassen.

Deze aanpak lijkt veelbelovend alleen te traag. De machine die wij er voor beschikbaar hebben zou een jaar continu moeten werken, ongeveer 1 pagina per minuut. Dit was na optimalisatie van de tekstgrootte / batches (eerste pogingen 5 minuten per pagina).

Ik vraag me daarin af of anderen een dergelijke aanpak hebben gevolgd om met AI de vindbaarheid van OCR teksten te verbeteren, op zo'n manier dat 500.000 pagina's in maximaal een paar maanden te verwerken zijn?

Dank!

Trefwoorden