Praktikumsbericht
Im September 2023 absolvierte ich mein Praktikum im Rahmen meines Masterstudiums im Studiengang Digital Humanities beim Archiv der Universität Leipzig. Meine Aufgabe war das Schreiben eines Programms, welches Text auf gescannten Dokumenten mittels Optical Character Recognition (OCR) erkennt. Mein Programm wurde bei der internen
Umstellung auf ein neues System für die digitale Suche nach Archivdokumenten eingebunden, um Text auf Dokumenten durch die Suchmaschine auffindbar zu machen.
Es wurde in Python geschrieben und arbeitet mit Open-Source Bibliotheken. Der Workflow des Programms lässt sich in drei Teile einteilen: Vorverarbeitung, OCR und Nachbearbeitung.
Im ersten Teil wurden die eingegebenen Bilder in Graustufen umgewandelt. Anschließend wurden die Bilder so gedreht, dass sich der Text in gerade ausgerichteten Boxen befindet. Dieser Schritt ist Standard der Vorverarbeitung für OCR und ist notwendig, weil die eingebundenen Modelle, die die eigentliche Texterkennung ausführen, darauf trainiert sind, dass sich Text in solchen geraden Boxen befindet.
Als nächstes wird geprüft, ob sich überhaupt Text auf dem Dokument befindet oder nicht. Dieser Schritt spart Zeit, denn für Dokumente ohne Text kann man sich den folgenden OCR-Schritt sparen.
Das eigentliche OCR wird mit Tesseract ausgeführt, mehrmals mit verschiedenen Kontrasteinstellungen. Die Texte, die mit den verschiedenen Einstellungen erkannt wurden können sich dramatisch unterschieden. Daher wird der erhaltene Text jeweils mit einem Wörterbuch abgeglichen und der beste Text gespeichert.
In der Nachbearbeitung werden Interpunktion, Stoppwörter, und Wörter mit weniger als drei Zeichen gelöscht, Wortumbrüche werden korrigiert und Rechtschreibfehler, die durch das OCR aufgetaucht sind, werden so gut wie möglich korrigiert.
Von Julia Güttler