IndexScans is op maat gemaakte software
om doodsprentjes automatisch om te zetten
van scans naar Excel-gegevens

Bidprentjes of doodsprentjes bevatten heel wat interessante informatie, lees er meer over in Haal het maximum aan informatie uit doodsprentjes.

Automatische indexering is een proces in vier stappen:

  1. Scannen
  2. OCR
  3. Informatie extractie
  4. Correctie

1. Scannen

Om snel en efficiënt veel doodsprentjes te scannen, heb je een documentscanner (bulkscanner, ADF-scanner) nodig. Die beschikt over een automatische documentinvoerlade (ADF) met een rechte doorvoer (zonder bochten). Je legt een stapel doodsprentjes in de invoerlade en ze worden automatisch één voor één gescand.

De minimumresolutie voor goede OCR resultaten is 300 dpi. Bij heel kleine lettertypes scan je eventueel op een hogere resolutie.

Kies 24-bit kleur voor een perfecte kleurweergave van het origineel. Als je digitale opslagruimte wil besparen dan werken 8-bit grijswaarden ook voor OCR.

Lees meer over Bidprentjes digitaliseren met het oog op automatische verwerking.

Bestandsformaten

Als je alleen scant om een digitale raadplegingskopie te hebben en die te gebruiken voor OCR dan is JPG perfect. Maar stel de kwaliteit wel in op hoog: 90% tot 95%, d.w.z. lage compressie. En bewerk de bestanden nooit (bvb bijknippen) om kwaliteitsverlies te vermijden.

TIF en PDF kan je ook gebruiken als bestandsformaat. Ze zijn eveneens geschikt voor digitale archiveringsdoeleinden, mits je de correcte instellingen gebruikt. Beiden kunnen zowel niet-gecomprimeerde, JPEG-gecomprimeerde, als verliesloos-gecomprimeerde (LZW, ZIP, …) scans bevatten. Ook hier moet je bij gebruik van JPEG-compressie zeker zorgen voor de instelling hoge kwaliteit.

Weet wat je doet en stel alles correct in bij de scannersoftware. Het volstaat niet om TIF of PDF aan te duiden, bekijk zeker de uitgebreide instellingen bij elke bestandsformaat.

Digitalisering en digitale archivering

Op zich zijn doodsprentjes tekstdocumenten, al zijn er heel wat doodsprentjes met portret die echte foto’s zijn en geen drukwerk.

Welke kwaliteitseisen je stelt aan digitalisering is afhankelijk van het soort organisatie en het doel van de digitalisering.

Heemkundige, geschiedkundige en genealogische verenigingen en andere organisaties met beperkte middelen moeten niet per se naar het allerhoogste kwaliteitsniveau streven. Het niveau “administratief digitaliseren” volstaat (zie FARO Handboek digitaliseren van documenten uit 2011). Daarbij wordt een afweging gemaakt tussen leesbaarheid, bestandsomvang (verliesloos gecomprimeerde, en zeker ongecomprimeerde, scans nemen veel digitale opslagruimte in beslag) en de kosten om dat te realiseren.

Richtlijnen voor digitalisering van tekstdocumenten zijn te vinden bij Project CEST: https://www.projectcest.be/wiki/Richtlijn:Tekstdocumenten_digitaliseren

2. OCR

IndexScans voert zelf OCR uit met de Open Source OCR-engine Tesseract (versie 5).

IndexScans kan ook van andere OCR-engines gebruik maken.

Zo is text detection met de Google Vision API ingebouwd. Dat is een betalende dienst vanaf meer dan 1000 scans per maand. De kwaliteit van de OCR is heel goed. Je kan het gebruiken met je eigen Google Cloud Platform account.
Google Vision kan bijvoorbeeld vrij goed overweg met cursief gedrukte fantasielettertypes waarmee in een bepaalde periode vaak de naam van de overledene werd gedrukt.

Daarom voorziet IndexScans in de mogelijkheid om de Google Vision API als tweede OCR-engine te gebruiken. Je gebruikt het dan als backup, alleen voor scans die met Tesseract geen goed resultaat geven.

Als je scans al OCR hebben ondergaan (in een PDF bijvoorbeeld), dan kan IndexScans die desgewenst hergebruiken. Helaas is de OCR die door scannerprogramma’s wordt aangeboden, in het geval van bidprentjes en rouwbrieven, meestal van bedroevende kwaliteit en zo goed als onbruikbaar. Je kan die beter uitzetten.

3. Informatie Extractie

Informatie extractie is informatie uit ongestructureerde tekst halen om entiteiten (zoals persoonsnamen, plaatsnamen, datums, …) te vinden, te classificeren en op te slaan.
Het resultaat is bijvoorbeeld een tabel met alle geïndexeerde gegevens in de juiste kolommen.

Technieken voor informatie extractie hebben een lange geschiedenis in de artificiële intelligentie, met name in text mining en natural language processing. Het is de laatste jaren door Machine Learning en Deep Learning in een stroomversnelling geraakt.

IndexScans maakt geen gebruik van Machine Learning of Deep Learning, dat zijn eigenlijk zwarte dozen waarbij je niet weet wat er precies in gebeurt, en die je niet zomaar kunt bijregelen als iets niet werkt. Je hebt er een grote trainingsset voor nodig, en wat niet werkt kan je alleen oplossen door hertraining.

IndexScans gebruikt een combinatie van een op regels gebaseerde aanpak, met patroonherkenning en woordenlijsten. Dat is de eenvoudigste vorm van kunstmatige intelligentie, en het is heel goed geschikt voor een afgelijnd domein met semi-gestructureerde documenten zoals bidprentjes en rouwbrieven:

  • geschikt voor een beperkt aantal duidelijke patronen die weinig of niet veranderen in de loop van de tijd.
  • levert hoge precisie
  • altijd bekend waarom een beslissing genomen is, regels kunnen geoptimaliseerd worden

IndexScans

IndexScans voert na de OCR-stap de informatie extractie uit. Het bedieningsscherm is heel eenvoudig. Als alles is ingesteld voor je eigen workflow moet je alleen maar de folder kiezen waar de scans staan en op “Start indexering” klikken.

Het resultaat is een CSV-bestand, dat je in Excel kan openen. Je kan het verder verwerken in een database, of op een andere manier, om de index beschikbaar te maken.

Als het indexeren afgelopen is kan je meteen naar het correctieprogramma gaan met de knop “Open in Viewer”.

4. Correctie

Waar het vrijwilligerswerk onvermijdelijke menselijke fouten meebracht, brengt een geautomatiseerde indexering “machinefouten” met zich mee. Een honderd procent correct resultaat zal helaas nooit mogelijk zijn op een grote collectie.

Automatische informatie extractie is niet foutloos, om verschillende redenen:

  1. de drukkwaliteit van het bronmateriaal
  2. de staat van het bronmateriaal (vlekken, scheuren, vouwen, stempels, opschriften, …)
  3. de kwaliteit van de scan (dpi, scherpte, vervorming, scheeftrekken, …)
  4. de mate van compressie bij het gebruikte bestandsformaat
  5. de kwaliteit van OCR (alle bovenstaande factoren, gebruikte lettertypes)
  6. het informatie extractie algoritme (onvoorziene, creatieve of afwijkende layouts en formuleringen)

Menselijke controle achteraf blijft dus noodzakelijk, maar het gaat wel veel sneller dan een volledig manueel proces. Daarom schreef ik ook een correctieprogramma, dat het nakijken en corrigeren nog gemakkelijker maakt.

Correctieprogramma

In het correctieprogramma zie je de geïndexeerde gegevens naast de scans. Het programma bezit een zekere intelligentie en geeft met kleuren (geel-oranje-rood) aan welke gegevens mogelijk, waarschijnlijk of zeker fout zijn of ontbreken. Dat versnelt het nakijken in grote mate.

Je moet uiteraard ook alleen maar de gegevens corrigeren die je gaat gebruiken om je collectie te ontsluiten.

Correctieprogramma

Correctieprogramma – aanduiding van fouten met drie niveaus van ernst. Onderaan lees je in het rood waarom iets als fout wordt gezien.

Je kan prentjes markeren om ze achteraf te verplaatsen of te kopiëren naar een andere folder.

Dat is bijvoorbeeld handig om, bij een eerste controle, de prentjes met fouten te markeren en ze naar een andere folder te verplaatsen om ze later te corrigeren. Zo kan je de correct geïndexeerde prentjes meteen publiceren.
De fout geïndexeerde kan je manueel corrigeren, proberen te indexeren met andere instellingen of eventueel later proberen te indexeren met een nieuwe versie van IndexScans.