Automatische Texterkennung

Grundlagen

Texterkennung (auch: Automatic Text Recognition, ATR) ermöglicht es Text auf Bilddateien automatisiert in strukturierte Texte zu überführen. Sie bildet oftmals den ersten Schritt zur Digitalisierung analoger Inventarlisten, kann aber auch bei der Erfassung textbasierter Sammlungsobjekte wie etwa Postkarten oder Briefen helfen. Gleichzeitig erleichtert Texterkennung die automatisierte Analyse textueller Sammlungsobjekte. Durch die automatisierte Erkennung ist die gleichzeitige Verarbeitung und Aggregation großer Datenmengen möglich, die dann mit Techniken des Natural Language Processing (NLP) weiterverarbeitet werden können. Man unterscheidet zwischen der Erkennung maschinengeschriebener Texte (Optical Character Recognition, OCR) sowie Handschrifterkennung (Handwritten Text Recognition, HTR), wobei viele Methoden beide Anwendungsfälle gleichzeitig abdecken. Tendenziell ist die Erkennung handschriftlicher Texte bedeutend schwieriger und bestehende Modelle müssen so gut wie immer nachtrainiert werden, um akzeptable Präzision zu erreichen. Für maschinengeschriebene Texte kann die Anwendung vortrainierter Modelle ausreichen, grundsätzlich lassen sich aber auch hier bessere Genauigkeiten erreichen, wenn die Modelle mit eigenen Daten nachtrainiert werden.

Technische Aspekte

Klassische Algorithmen der Texterkennung basieren häufig auf visuellen Merkmalen wie Gradienten zwischen benachbarten Pixeln und lokalisieren und klassifizieren einzelne Buchstaben separat. Daher rührt auch der geläufige Name Optical Character Recognition. Heute kommen solche Algorithmen aber kaum noch zur Anwendung. Üblicherweise werden stattdessen Deep-Learning-basierte Ansätze verwendet, die einen gelernten Merkmalsraum verwenden, anhand dessen ganzen Textzeilen modelliert werden. Dabei kommt eine mehrstufige Pipeline zum Einsatz, in der zunächst Layout und Textbereiche, dann Zeilen lokalisiert werden, um dann eine Texterkennung für jede einzelne Zeile durchzuführen. Die neusten Methoden basieren auf großen Sprachmodellen (Large Language Models, LLMs) und Bild-Sprachmodellen (Vision Language Models, VLMs). Diese Ansätze nehmen Layout- und Texterkennung in einem Schritt vor und modellieren direkt die gesamte Eingabeseite. Durch Prompting der Sprachmodelle ist es daher auch möglich, direkt strukturierte Informationen aus dem Text zu entnehmen.

Loslegen

Aufgrund der Fülle an Frameworks, Software und Möglichkeiten kann ein Einstieg in das Thema schnell überfordern. Um einen ersten Überblick über bestehende Software zu bekommen, eignet sich der OCR Recommender des Berd@NFDI Projektes. Gerne können Sie sich auch an den SODa Helpdesk unter soda@sammlungen.io wenden um einen Beratungstermin mit uns auszumachen. Empfehlenswert ist auch die offene OCR Sprechstunde der Universitäten Mannheim und Tübingen, wo Fragen zum Thema fachkundig beantwortet werden.
Daneben gibt es einige Selbstlernressourcen, wie etwa den OCR Kurs der Platform programming historian, oder den Getting Started Kurs von Ariane Pinche und Pauline Spychala. 

Bei einigen Anbieter:innen können vortrainierte Modelle auch direkt über den Browser ausprobiert werden. Diese Online Demos können ebenfalls eine Orientierung geben. Es bietet sich an, einige Algorithmen auszuprobieren, bevor eine Entscheidung getroffen wird. Empfehlenswert für historische Handschriften sind etwa PERO OCR oder ScribbleSense, kommerziell aber mit einigen free Credits pro Monat ist Transkribus nutzbar. Über die üblichen Chat Interfaces können auch die meisten gängigen Sprachmodelle wie ChatGPT, DeepSeek, oder Mistral (gehostet in Europa), eine Texterkennung vornehmen. 

Speziell für die Erfassung strukturierter Dokumente wird bei SODa das inventory-ocr Tool entwickelt. Mit dessen Hilfe können Dokumente mit festem Layout in strukturierte Ausgangsdaten (csv, xml etc.) überführt werden. Aktuell ist hier allerdings noch die Nutzung der Kommandozeile und eine funktionierende Python-Umgebung notwendig.

SODa Format
Übersicht
OER?