BookTranslator
BookTranslator

Fraktur-tekst OCR'en: behoud het origineel voordat je moderniseert

Gebruik een klein, reproduceerbaar Fraktur-OCR-experiment om herkenningsfouten te onderscheiden van de normalisatie van de lange s, voordat je een oud boek doorzoekt of vertaalt.

BookTranslator

BookTranslator Team

10 min lezen

Om gedrukte Fraktur te OCR'en, kies je een model dat het schrift ondersteunt, test je een kort fragment aan de hand van de pagina en beslis je of je transcriptie de lange s moet behouden, ſ, of deze moet normaliseren naar s. Houd de gecontroleerde brontranscriptie gescheiden van eventuele moderniseringen of vertalingen. Een woord dat er vertrouwder uitziet, is niet per se een getrouwere weergave van het drukwerk.

We hebben twee korte, synthetische Duitse fragmenten getest in een Fraktur-lettertype en een modern controlelettertype. Zelfs op deze zuivere afbeeldingen veranderde het Fraktur-model iſt in ift in het ene fragment en in if in het andere. Het waardevolle resultaat was geen ranglijst van de beste tools: het was het bewijs dat het herkennen van de tekens, het kiezen van een transcriptieconventie en het moderniseren van de taal drie verschillende taken zijn.

Deze handleiding is bedoeld voor gedrukte pagina's. Het biedt geen workflow voor handgeschreven Kurrent of Sütterlin, beschadigde manuscripten of een complete historische collectie.

Bepaal wat als correct geldt voordat je OCR uitvoert

Formuleer een transcriptiebeleid van één zin voordat je tools gaat vergelijken. Bijvoorbeeld: “Behoud de oorspronkelijke spelling en de lange s; markeer woorden die ik niet kan verifiëren.” Anders beoordeel je een bewuste normalisatie wellicht ten onrechte als een fout — of accepteer je een ongewenste herschrijving puur omdat deze vloeiend oogt.

OCR-D biedt een concreet voorbeeld van dit onderscheid. De richtlijnen voor Niveau 1 geven zowel de lange s als de ronde s weer als s; Niveau 2 en 3 maken wel onderscheid hiertussen. Dit zijn transcriptieconventies, geen instructies om elke oude spelling om te zetten naar de moderne variant. Bekijk de officiële Niveau 1 s-regels en Niveau 2/3 s-regels.

Houd voor een persoonlijk leesproject deze outputs gescheiden:

UitvoerVoorbeeld uit onze zelfgeschreven voorbeeldtekstWaar het voor dient
Brongeoriënteerd transcriptDie rothe Blume ſteht hier.De herkende tekens vergelijken met de afbeelding
Lange-s-genormaliseerd afgeleideDie rothe Blume steht hier.Zoeken of lezen zonder het onderscheid van de lange s
Gemoderniseerde afgeleideDie rote Blume steht hier.Een afzonderlijke redactionele versie met spellingswijzigingen

De tweede rij verandert alleen ſ in s; deze implementeert niet alle OCR-D Niveau 1-regels. De derde rij wijzigt ook de spelling van de bron. Geen van beide afgeleiden mag geruisloos in de plaats komen van het brongeoriënteerde transcript.

Vervang in het bijzonder de letter f niet overal door s. Onze mislukte OCR-uitvoer bevat ift, maar een echte f kan eveneens in de bron voorkomen. Corrigeer het woord aan de hand van de afbeelding, niet met een algemene vervangingsregel.

Wat er gebeurde in ons experiment van acht runs

Op 11 september 2026 hebben we twee originele, drieregelige leerfragmenten gerenderd in UnifrakturMaguntia en Noto Sans. Elke afbeelding werd herkend met twee vaste Tesseract-modellen: het tessdata_best -Fraktuurschriftmodel en het bijbehorende Engelse model. De Engelse configuratie dient als contrast, niet als een moderne Duitse baseline.

Alle acht aanroepen gebruikten Tesseract 5.5.3, LSTM-modus (--oem 1), een enkel tekstblok (--psm 6) en 300 dpi. We hebben de instellingen niet gewijzigd, geen resultaten uitgesloten en de herkenning binnen het oorspronkelijke experiment niet opnieuw uitgevoerd. Een herhaling van het verpakkingsproces op 12 september met dezelfde acht afbeeldingen leverde exact dezelfde opgeslagen uitvoerbytes op.

De afbeeldingen zijn daadwerkelijk gevormd met Apple CoreText en ligatures ingeschakeld, en niet getekend als ongekoppelde tekenvakken. Ze gebruiken tekst van 64 pixels op een wit canvas van 2200 × 460. De afbeeldingen, controles van het aantal glyphs, lettertypelicenties, model-hashes en ruwe uitvoer zijn beschikbaar in de instructies van het experimentpakket.

Oorspronkelijke lespassage van drie regels weergegeven in UnifrakturMaguntia, inclusief de lange s en een regel met boek-, pagina- en nummerverwijzingen.

Een gespecialiseerd model had nog steeds correctie nodig

De eerste bronregel luidde:

Das Waſſer iſt klar.

Bij de afbeelding in het Fraktur-lettertype gaf het Fraktur-model het volgende als resultaat:

Das Waſſer ift klar.

Het grootste deel van de regel bleef behouden, maar ſ in iſt werd f. In de tweede passage werd Das Thal iſt weit. veranderd in Das Thal if weit.: bij de herkenning werd één teken gewijzigd en een ander weggelaten. Dat de uitvoer als aannemelijk Duits leest, is geen vervanging voor het controleren van het origineel.

Bij de controle met het moderne lettertype trad een andere fout op. Het Fraktur-model behield de woorden in de eerste passage, maar veranderde de twee puntkomma's in Buch 12; Seite 27; Nummer 105. in dubbele punten. Wie alleen op de lange s had gecontroleerd, zou die interpunctiewijzigingen hebben gemist.

Het doeldoelwit verandert de score

We hebben elke ruwe uitvoer vergeleken met twee doelen die voorafgaand aan de herkenning waren vastgelegd: de exacte brontekst en de bron waarbij uitsluitend ſ → s. Beide vergelijkingen normaliseren Unicode naar NFC en voegen witruimte samen; ze behouden hoofdlettergebruik en interpunctie. We vouwen de ruwe uitvoer niet samen voordat we deze beoordelen.

De onderstaande getallen zijn afstanden voor tekenbewerking (character-edit distances) — toevoegingen, verwijderingen en vervangingen — en geen nauwkeurigheidspercentage.

PassageWeergegeven lettertypeOCR-modelBewerkingen ten opzichte van exacte bronBewerkingen ten opzichte van genormaliseerd doel (alleen lange s)
Lange s en getallenFactuurFactuur16
Lange s en getallenFactuurEngels88
Lange s en getallenNoto SansFactuur28
Lange s en getallenNoto SansEngels77
Historisch ogende spellingFactuurFactuur24
Historisch ogende spellingFactuurEngels77
Historisch ogende spellingNoto SansFactuur03
Historisch ogende spellingNoto SansEngels44

De nul in een rij duidt op een exacte overeenkomst voor die ene korte invoer. Het zegt niets over de volgende pagina van een echt boek. Omgekeerd krijgt een model dat ſ correct behoudt, extra verschillen wanneer het wordt vergeleken met een doel dat svereist. Die verschillen duiden op een afwijking in het beleid, niet noodzakelijk op een herkenningsfout.

Bekijk alle originele resultaten en scores, de vastgelegde bronteksten en het scoringsbeleid, of het verificatiescript. Het pakket registreert SHA-256-hashes, zodat het model, de afbeelding en de uitvoer aan elk resultaat kunnen worden gekoppeld.

Wat dit experiment u niet kan vertellen

Dit zijn twee zuivere, synthetische fragmenten in een groot lettertype—geen scans van een oude editie. We hebben geen vervaagde inkt, kleine letters, binnennaden, kolommen, beschadigd papier, handschrift of onafhankelijke menselijke transcripties getest. We hebben evenmin een modern Duits model, commerciële OCR-tools of de OCR- of vertaaluitvoer van BookTranslator getest.

Beschouw de voorbeelden als redenen om uw eigen materiaal nader te bekijken, niet als een inschatting van foutpercentages voor een heel boek. We zouden op basis van deze tabel geen OCR-dienst voor een historische collectie kiezen.

Voer een gerichte test uit op de pagina's die u daadwerkelijk nodig hebt

Als u Tesseract lokaal gebruikt, leg dan de engineversie en het exacte modelbestand vast voordat u resultaten vergelijkt. Een modelnaam alleen identificeert het gedownloade bestand immers niet. Ons herkomstoverzicht linkt naar de vastgelegde openbare model- en lettertypebronnen; de grote modelbestanden worden niet bij het artikel meegeleverd.

Voor onze voorbeeldafbeelding met een enkel tekstblok, waarbij het Fraktuurschrift-model lokaal is opgeslagen als models/Fraktur.traineddata, luidde het commando:

tesseract samples/long-s-fraktur.png stdout --tessdata-dir ./models -l Fraktur --oem 1 --psm 6 --dpi 300

De opdrachtregeldocumentatie van Tesseract legt de LSTM-modus uit en de aanname van één uniform blok bij PSM 6. Die aanname past bij onze afbeelding van drie regels. Het is geen aanbeveling om elke boekpagina met meerdere kolommen met PSM 6 te verwerken.

Begin bij uw eigen boek met een passage die u met zekerheid kunt transcriberen en één moeilijkere pagina die representatief is voor het materiaal dat u nodig hebt. Zorg voor een naam of onbekende term, een getal en eventuele wisselende lettertypen. Als een boek verschillende schriften of talen afwisselt, gebruik dan de aparte OCR-handleiding voor meertalige PDF's in plaats van aan te nemen dat één overzichtelijke alinea in Fraktur voor het hele document geldt.

Laat de scan ongewijzigd. Sla de ruwe OCR gescheiden op van correcties en noteer het pagina- of afbeeldingsnummer voor elke gecontroleerde passage. Als de uitvoer onleesbaar is, controleer dan eerst de paginascan en de segmentatie voordat u de taak uitbreidt naar honderden pagina's.

Corrigeer het transcript zonder het ontbrekende woord erbij te verzinnen

Gebruik een beknopt correctielogboek met vier kolommen: bronlocatie, ruwe OCR, gecontroleerde lezing en reden. De reden moet een duidelijk zichtbare tekenfout onderscheiden van een redactionele aanpassing.

WaarnemingNuttige actieTe vermijden actie
De afbeelding toont duidelijk iſt; de OCR geeft iftCorrigeer dit specifieke geval aan de hand van de afbeeldingOveral in het document elk exemplaar van f vervangen
De OCR behoudt rothe, maar u wilt rote voor de leesbaarheidBehoud de bronvorm en maak een gelabelde, gemoderniseerde afgeleide versieModernisering beschouwen als een OCR-correctie
Een cijfer of leesteken wijkt afControleer die locatie, zelfs als de omliggende zin vloeiend leestAlleen ongebruikelijke lettervormen controleren
De afbeelding is echt onleesbaarOnzekerheid markeren in je werktranscriptie en de verwijzing naar de afbeelding bewarenEen aannemelijk gegenereerd woord accepteren als hersteld bewijs

Als tekst in een gedownloade pdf al kan worden geselecteerd, vergelijk de geplakte tekst dan met de afbeelding voordat je opnieuw begint. De diagnose voor kopiëren en plakken uit pdf's legt uit waarom een zichtbare pagina er goed uit kan zien terwijl de verborgen of toegewezen tekst niet klopt. Dat is een ander probleem dan het kiezen van een Fraktur-herkenningsmodel.

Stop na het produceren van betrouwbare brontekst als zoeken, het controleren van citaten of Duits lezen het enige doel was. Vertaling is geen verplichte opschoonstap.

Vertaal pas wanneer de taal nog steeds het obstakel vormt

Voor lezers die een andere taal nodig hebben, is de gecontroleerde bron het punt waarop vertalen zinvol wordt. Houd de scan, de gecontroleerde transcriptie en de vertaling herkenbaar gescheiden, zodat je kunt achterhalen of een twijfelachtige passage voortkomt uit herkenning of uit vertaling. De workflow voor het vertalen van gescande pdf's biedt de bredere overdracht.

Kies je voor de PDF Translator van BookTranslator, beoordeel dan een representatief deel van je eigen document voordat je op het volledige resultaat vertrouwt. Ons experiment verifieert niet hoe BookTranslator omgaat met historisch Fraktur. De OCR-modus bouwt een opgeschoond document opnieuw op en kan de oorspronkelijke paginalay-out, lettertypen en lettergroottes wijzigen; beschouw die uitvoer niet als een facsimile en ga er niet van uit dat originele paginawijzingen ongewijzigd blijven.

De praktische volgorde is eenvoudig: stel de bronlezing vast, markeer elke normalisatie en vertaal pas indien nodig. Vloeiendheid hoort aan het einde van dat proces — niet in plaats van bewijs aan het begin.

Gerelateerde berichten