Skip to content

Latest commit

 

History

History
1486 lines (1196 loc) · 37.7 KB

content.md

File metadata and controls

1486 lines (1196 loc) · 37.7 KB

layout: true

Sächsische Landesbibliothek – Staats- und Universitätsbibliothek 06.06.19 www.slub-dresden.de
Referat 2.5
Kay-Michael Würzner
Referat 2.5
6. Juni 2019
IT-Kolloquium, SLUB Dresden

class: title-slide count: false

(Open-Source-)OCR-Workflows

Ein Aufriss über Techniken und Werkzeuge zur automatischen Texterkennung


Überblick

  • Einleitung
    • Was ist OCR?
    • Wozu benutzt man OCR?
    • Warum überhaupt OCR?
  • Technische Aspekte
    • Komponenten einfacher OCR-Workflows
    • Modelltraining
    • Optimierungsoptionen
  • Anschauungsbeispiele
  • Nichttechnische Aspekte
    • OCR-D
    • Open-Source, und dann?

class: part-slide count: false

Was ist OCR?


Was ist OCR?

.cols[ .sixty[

  • Optical Character Recognition: Automatische Erfassung von Text in Bildern
  • ursprünglich begrenzt auf Zeichenerkennung
  • heute häufig Synonym für den gesamten Texterfassungsprozess
    • Bildvorverarbeitung
    • Layoutanalyse (OLR)
    • Zeilenerkennung
    • ... ] .fourty[

] ]

Zeichenorientierte Ansätze

.cols[ .seventy[

  • Erkennung erfolgt glyphenweise
    • Mustervergleich: Vergleich der Zeichenbilder zu in einem „Setzkasten“ gespeicherten Glyphen Pixel für Pixel
    • Merkmalsvergleich: Zerlegung der Glyphen in vordefinierte, bedeutungstragende Eigenschaften wie Einfärbung, Kurven, Linien etc. und Vergleich zu Referenzmaterialien
  • Kombination beider Ansätze!
  • Zerlegung der Seite in Zeilen und Zeichen notwendig
  • Vorgehen in ABBYY FineReader ] .fourty[

] ]

Zeilenorientierte Ansätze

  • Erkennung erfolgt zeilenweise
    1. Skalierung: einheitliche Höhe für alle Zeilen
    2. Merkmalsextraktion: Raster mit festgelegter Anzahl (horizontaler) Zeilen und variabler Anzahl (vertikaler) Spalten → Zeilen als Sequenzen binärwertiger Vektoren fixer Länge

- kontextsensitive Erkennung über *Übergangswahrscheinlichkeiten* der Vektoren - Zerlegung der Seite in *Zeilen* notwendig - Vorgehen *robuster* gegenüber Varianz durch Artefakte als zeichenorientierte Ansätze - `Tesseract` (ab Version 4), `OCRopus`, `kraken`, `Calamari` + Einsatz *neuronaler Netze* für die Sequenzklassifikation

class: part-slide count: false

Wozu benutzt man OCR?


Wozu benutzt man OCR?

.cols[ .sixty[

  • typische Anwendungen
    • Nummernschilderkennung ] .fourty[

Image by Achim Raschka, CC BY-SA 3.0

] ]

count: false

Wozu benutzt man OCR?

.cols[ .sixty[

  • typische Anwendungen
    • Nummernschilderkennung
    • Captcha-Umgehung ] .fourty[

Image by JD, CC BY-SA 2.0

] ]

count: false

Wozu benutzt man OCR?

.cols[ .sixty[

  • typische Anwendungen
    • Nummernschilderkennung
    • Captcha-Umgehung
    • Schlüsselinformationsextraktion ] .fourty[

Image by Eluminary, CC BY-SA 2.0

] ]

count: false

Wozu benutzt man OCR?

.cols[ .sixty[

  • typische Anwendungen
    • Nummernschilderkennung
    • Captcha-Umgehung
    • Schlüsselinformationsextraktion
    • Handschrifterkennung ] .fourty[

] ]

count: false

Wozu benutzt man OCR?

.cols[ .sixty[

  • typische Anwendungen
    • Nummernschilderkennung
    • Captcha-Umgehung
    • Schlüsselinformationsextraktion
    • Handschrifterkennung
    • Volltextdigitalisierung ] .fourty[

Image by Uwe Springmann, CC BY-SA 4.0

] ]

count: false

Wozu benutzt man OCR?

.cols[ .sixty[

  • typische Anwendungen
    • Nummernschilderkennung
    • Captcha-Umgehung
    • Schlüsselinformationsextraktion
    • Handschrifterkennung
    • Volltextdigitalisierung ] .fourty[

Image by Uwe Springmann, CC BY-SA 4.0

] ]

class: part-slide count: false

Warum überhaupt OCR?


Warum überhaupt OCR?

  • OCR ist immer fehlerhaft! Aber:
  • verändertes „Rechercheverhalten“ in Zeiten zunehmender Verfügbarkeit digitaler Quellen
    • Wissenserwerb durch Internetsuche
    • Sekundärliteratur (fast) vollständig textdigital verfügbar
    • Navigationssystem vs. Autoatlas
  • Ansprüche an Verfügbarkeit von Primärquellen wächst
  • vielfältige quantitative Auswertungsmethoden (i.e. distant reading)
  • für den digitalen Geisteswissenschaftler: Bruch mit dem „Diktat der Verfügbarkeit“

class: part-slide count: false

Komponenten von OCR-Workflows


Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[ ] .fourty[

] ]

count: false

Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[

  • Bildvorverarbeitung ] .fourty[

] ]

count: false

Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[

  • Bildvorverarbeitung ] .fourty[

] ]

count: false

Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[

  • Bildvorverarbeitung
  • Layoutanalyse ] .fourty[

] ]

count: false

Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[

  • Bildvorverarbeitung
  • Layoutanalyse ] .fourty[

] ]

count: false

Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[

  • Bildvorverarbeitung
  • Layoutanalyse
  • Texterkennung ] .fourty[

] ]

count: false

Komponenten eines einfachen OCR-Workflows

.cols[ .fifty[

  • Bildvorverarbeitung
  • Layoutanalyse
  • Texterkennung ] .fourty[

] ]

OCR-Workflow: Bildvorverarbeitung

  • Prozesse zur bestmöglichen Vorbereitung der Digitalisate für OLR und OCR
    • Cropping: Beschneidung des Digitalisats auf den Druckbereich
    • Deskewing: Rotation des Digitalisats zur Begradigung von Schrägstellungen
    • Binarization: Binäre Kodierung der Pixel (bedruckte Bereiche schwarz, nicht-bedruckte Bereiche weiß)
    • Despeckling: Entfernung von Bildartefakten (Verschmutzungen, sichtbare Papiermaserung etc.)
    • Dewarping: Begradigung von Wellen auf Zeilenebene
  • starker Einfluss auf Erkennungsqualität
  • besondere Relevanz für historische Vorlagen

OCR-Workflow: Cropping

.cols[ .fifty[

] .fifty[

] ]

OCR-Workflow: Deskewing

.cols[ .fifty[

] .fifty[

] ]

OCR-Workflow: Binarization

.cols[ .fifty[

] .fifty[

] ]

OCR-Workflow: Despeckling

.cols[ .fifty[

] .fifty[

] ]

OCR-Workflow: Dewarping


OCR-Workflow: Einfluss Bildvorverarbeitung

.cols[ .fifty[

Zuletzt wird anders nichts darans/
Dir zacke1 dieser Erden r ’’
Die Sonne/Kindrr/Frenud’ vnd Hauß
Muß übergeben werden/ ’’
Denn dirNatnr erlässt vns’ mehr ’
Der streugenSchnld ondPflichr.

] .fifty[

Zuletzt wird anders nichts darans/
Die Fackel dieser Erden
Die Sonne/Kinder/Frennnd’ vnd Hauß
Muß übergeben werden/
Denn deeNainr erlässt vns nicht
Der strengen Schuld vndPflicht.

] ]

OCR-Workflow: Werkzeuge Bildvorverarbeitung

  • Bestandteil der meisten OCR-Programme, häufig jedoch nicht modular
  • spezielle Tools
    • Scantailor
      • umfassendes, frei verfügbares Werkzeug
      • keine Programmierschnittstelle (API), keine Weiterentwicklung
    • Olena/SCRIBO
      • frei verfügbare Programmierbibliothek für Deskewing, Binarisierung
      • keine Weiterentwicklung/Pflege, schlechtes API-Design
    • Unpaper
      • frei verfügbare Programmierbibliothek für Deskewing und Despeckling

OCR-Workflow: Werkzeuge Bildvorverarbeitung

  • teilweise auch in Bildbearbeitungsbibliotheken integriert
  • zahlreiche wissenschaftliche Veröffentlichungen zu einzelnen Aspekten
  • wissenschaftliche Wettbewerb} zu ausgewählten Aspekten (insb. Binarization und Deskewing)
  • Forschungsergebnisse finden kaum Eingang in die Praxis

OCR-Workflow: Layoutanalyse

  • Prozesse zur Erkennung der Struktur auf Seiten- und Dokumentebene (Optical Layout Recognition, OLR)
    • Seitensegmentierung: Lokalisierung zusammenhängender Text- und Nichttextbereiche
    • Segmentklassifizierung: Typisierung von Textbereichen
    • Zeilen- bzw. Zeichentrennung: Lokalisierung einzelner Zeilen/Zeichen
    • Dokumentenanalyse: Konstruktion der logischen Dokumentstruktur (METS!)
  • entscheidend für die korrekte Rekonstruktion des Textflusses (und damit für maschinelle Auswertungen)

OCR-Workflow: Layoutanalyse

.cols[ .fifty[

  • strukturierende Elemente
    • Absätze
    • Überschriften ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse

.cols[ .fifty[

  • strukturierende Elemente
    • Absätze
    • Überschriften
  • textflussunterbrechende Elemente
    • Seitenzahlen
    • Kolumnentitel
    • Abbildungsunterschriften
    • Marginalien etc. ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse

.cols[ .fifty[

  • strukturierende Elemente
    • Absätze
    • Überschriften
  • textflussunterbrechende Elemente
    • Seitenzahlen
    • Kolumnentitel
    • Abbildungsunterschriften
    • Marginalien etc.
  • nichttextuelle Elemente
    • Abbildungen
    • Tabellen etc. ] .fourty[

] ]

OCR-Workflow: Werkzeuge Layoutanalyse

  • auch bei OLR Missverhältnis zwischen Forschungsergebnissen und verfügbaren Lösungen
  • OCR-Programme implementieren einfache Lösungen zur Seitensegmentierung, teilweise separat adressierbar
    • Klassifizierung beschränkt sich im Wesentlichen auf Text vs. Nichttext
    • Qualität auf schwierigen Vorlagen überschaubar
  • wissenschaftliche Wettbewerbe und Untersuchungen befassen sich mit der Erkennung komplexer Layouts und Dokumentstukturierung
    • elaborierte statistische Modelle (vs. Heuristiken)
    • neuronale Netze
    • polygone Segmente

OCR-Workflow: Werkzeuge Layoutanalyse

  • einzelner Befehl für Segmentierung in OCRopus
    • im Ergebnis nur Einzelbilder auf Zeilenebene
    • keine Koordinaten, kein Zugriff auf Seitensegmentierung
  • Zugriff auf alle Ebenen der Seitensegmentierung in Tesseract
    • inklusive Koordinaten
    • basale Klassifizierung der Segmente (Spalten, Abbildungen, Formeln, Tabellen, Text)
  • Layouterkennungswerkzeug Larex
    • Festlegung buchspezifischer Parameter durch den Nutzer (Spalten, Kolumnentitel etc.)
    • manuelle Nachkorrektur über Benutzeroberfläche
    • kein Training möglich, keine API
  • Generisches Segmentierungswerkzeug dhSegment
    • Layoutanalyse per Pixelklassifizierung

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[ ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse
    • Illustration durch Farbe pro Segmenttyp ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse
    • Illustration durch Farbe pro Segmenttyp ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse
    • Illustration durch Farbe pro Segmenttyp
  • Klassifikation der Pixel anhand ihrer Umgebung (i.e. Farbe im Original) ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse
    • Illustration durch Farbe pro Segmenttyp
  • Klassifikation der Pixel anhand ihrer Umgebung (i.e. Farbe im Original)
    • beliebig komplexe Schemata möglich
      • Text vs. Nichttext ] .fourty[

] ]

count: false

OCR-Workflow: Layoutanalyse per Pixelklassifizierung

.cols[ .fifty[

  • Training auf manuell strukturierten Seiten
  • jedes Pixel gehört in ein Segment
  • jedes Pixel gehört zu einer Klasse
    • Illustration durch Farbe pro Segmenttyp
  • Klassifikation der Pixel anhand ihrer Umgebung (i.e. Farbe im Original)
    • beliebig komplexe Schemata möglich
      • Text vs. Nichttext ] .fourty[

] ]

OCR-Workflow: Texterkennung

  • viele verfügbare OCR-Engines
  • ABBYY FineReader am Verbreitetsten im produktiven Einsatz
  • zwei Platzhirsche im Open-Source-Bereich
  • Tesseract
    • ursprünglich von Hewlett-Packard entwickelt
    • von Google übernommen und Open-Source gestellt
    • viele mitgelieferte Modelle (auch für Fraktur)
    • ab Version 4 Umstieg auf zeilenorientierte Erkennung auf Basis neuronaler Netze

OCR-Workflow: Texterkennung

  • OCRopus
    • entwickelt von Thomas Breul mit Unterstützung von Google
    • ursprünglich als Wrapper für Tesseract, später mit eigener Erkennungsroutine auf Basis neuronaler Netze
    • nur wenige mitgelieferte Modelle
    • weitere „Inkarnationen“
  • Gamera
    • komplettes Framework für Layoutanalyse und Texterkennung
    • zeichenorientierter Ansatz auf Basis des „k nearest neighbor“-Algorithmus'
    • nur ein mitgeliefertes Modell

class: part-slide count: false

Modelltraining


Modelltraining

  • Texterkennung auf Basis statistischer Modelle
    • Induktion einer Wahrscheinlichkeitsverteilung anhand manuell erstellter Trainingsdaten (Ground Truth)
  • unterschiedliche Ansätze erfordern unterschiedliche Trainingsprozeduren
  • grundsätzliches Vorgehen jedoch gleich: Alignierung von Text und Bild
    • unterschiedliche Anforderung an Annotationstiefe
    • Qualität und Quantität der Trainingsdaten bestimmt Qualität der Modelle
  • Kompromiss zwischen Übertragbarkeit und spezifischer Textqualität
    • mitgelieferte Modelle häufig zu allgemein
    • Qualität spezifischer Modelle signifikant höher

Modelltraining: Trainingsdaten

.cols[ .fifty[

  • Digitalisate und zugehöriger, fehlerfreier Volltext
  • Alignierung auf Zeichen- oder Zeilenebene
    • zeichenorientierte Ansätze: jedes Zeichen mindestens einmal im Trainingsmaterial
    • zeilenorientierte Ansätze: ca. 10 Seiten eines Buches
    • Tesseracts „Latin model“ (i.e. großmaßstäbliches Mehrsprachenmodell für Antiquaschriftarten): ca. 400000 Zeilen in ca. 4500 Schriftarten ] .fourty[

] ]

Modelltraining: Trainingseffekte

.cols[ .fifty[ ABBYY FineReader 11

ES kostet Om kein zeitlich Gut
Dns wieder zu erwerben/
ES that es nicht der OpfferBluk/
Cr muste selber sterben
Vnd emenTod zwar/ welcher gar
EinFluch vnd Grcwcl war.

] .fifty[ `OCRopus`

Es kostet jzm kein zattlchGut
Bns wteder zu crwerben?
Es that cs mcht der OpfferBlut?
Ermustcselbcr stcrbcn
Bnd emnenTodzwar, welchae gar
EtFluchvnd Grcwewar.

] ]

count: false

Modelltraining: Trainingseffekte

.cols[ .fifty[ ABBYY FineReader 11

ES kostet Om kein zeitlich Gut
Dns wieder zu erwerben/
ES that es nicht der OpfferBluk/
Cr muste selber sterben
Vnd emenTod zwar/ welcher gar
EinFluch vnd Grcwcl war.

] .fifty[ `OCRopus` (homebrew)

Es koſlet jhm kein zeitlich Gut
Vns wieder zu terwerben/
Es that es nicht der Opffer Blut/
Er muſte ſelber ſterben
Vnd einen Tod zwar/ welcher gar
Ein Fluch vnd Grewel war.

] ]

Modelltraining: Werkzeuge

  • jede OCR-Software kommt mit eigener Trainingsprozedur
  • zahlreiche „ease-of-use“-Wrapper
    • Tesseract: VietOCR, Aletheia
    • OCRopus: OCRocis, (eigene) HTML-Oberfläche
  • Probleme
    • (teilweise) kostenpflichtig, ungepflegt, umständlich
    • keine Abstraktion über Engines hinweg
  • okralact
    • Metatrainingsinfrastruktur für Tesseract und 🐙
    • entwickelt im OCR-D-Kontext
    • einheitlicher Parametersatz, einheitliche Formatvorgaben
    • Ziel: multiple Modelle für ein Training

class: part-slide count: false

Optimierungsoptionen


Optimierungsoptionen: Lokale Bildoptimierung

  • historische Vorlagen bzw. ältere Digitalisate oftmals suboptimal für OCR
    • unterschiedliche Beleuchtung
    • charakteristische Trapezform
  • verschiedene Bearbeitungsebenen
    • Dokument, Seite, Absatz (bzw. Textzone), Zeile
    • Operationen greifen wiederholt auf verschiedenen Ebenen ein
    • maximale Adaptivität bzgl. spezifischer Charakteristika auf Bild- und Textebene
    • Rekonstruierbarkeit über Koordinaten zu gewährleisten

Optimierungsoptionen: Lokale Bildoptimierung

.cols[ .sixty[

  • Rezept
    • Bildvorverarbeitung auf Seitenebene
    • Seitensegmentierung auf Seitenebene
    • Extraktion der Segmente aus dem (nichtoptimierten) Original
    • Bildvorverarbeitung auf Segmentebene
    • Zeilensegmentierung auf Segmentebene
    • Extraktion der Zeile aus dem (nichtoptimierten) Original
    • Bildvorverarbeitung auf Zeilenebene ] .fourty[

] ]

Optimierungsoptionen: Textvereinigung

  • Prozesse zur Vereinigung verschiedener OCR-Ergebnisse in einen Volltext
    • Fehler auch bei „optimaler“ Vorverarbeitung und Verwendung spezifischer Modelle
    • unterschiedliche Engines bzw. Modelle haben unterschiedliche Stärken und machen unterschiedliche Fehler
  • Idee: Extraktion korrekt erkannter Textbestandteile aus mehreren OCR-Durchgängen (Handley 1998)
  • große Wortlisten als Referenzmaterial
  • Integration vorhandener OCR ebenfalls möglich!
  • Reduktion der Anzahl der falsch erkannten Zeichen um 14% erzielt (Boenig et al. 2016)

Textvereinigung: Dach „Einfältige Leichreime“ (1653)

.cols[ .fifty[

] .fifty[
ABBYY FineReader 11

ES kostet Om kein zeitlich Gut
Dns wieder zu erwerben/
ES that es nicht der OpfferBluk/
Cr muste selber sterben
Vnd emenTod zwar/ welcher gar
EinFluch vnd Grcwcl war.


OCRopus

Es koſlet jhm kein zeitlich Gut
Vns wieder zu terwerben/
Es that es nicht der Opffer Blut/
Er muſte ſelber ſterben
Vnd einen Tod zwar/ welcher gar
Ein Fluch vnd Grewel war.

] ]

count: false

Textvereinigung: Dach „Einfältige Leichreime“ (1653)

.cols[ .fifty[

Tesseract

Es koſtet jhm kein zeitlich Gut
Vns wieder zu erwerben/
Es ihaietz?i1ichi der Opffer Blui/
Er muſte ſelber ſterben
Vnd einenTod zwar / welcher gar
EinFliich'vud Grewel war.

] .fifty[
ABBYY FineReader 11

ES kostet Om kein zeitlich Gut
Dns wieder zu erwerben/
ES that es nicht der OpfferBluk/
Cr muste selber sterben
Vnd emenTod zwar/ welcher gar
EinFluch vnd Grcwcl war.


OCRopus

Es koſlet jhm kein zeitlich Gut
Vns wieder zu terwerben/
Es that es nicht der Opffer Blut/
Er muſte ſelber ſterben
Vnd einen Tod zwar/ welcher gar
Ein Fluch vnd Grewel war.

] ]

count: false

Textvereinigung: Dach „Einfältige Leichreime“ (1653)

.cols[ .fifty[

Tesseract

Es koſtet jhm kein zeitlich Gut
Vns wieder zu erwerben/
Es ihaietz?i1ichi der Opffer Blui/
Er muſte ſelber ſterben
Vnd einenTod zwar / welcher gar
EinFliich'vud Grewel war.

] .fifty[
Merge

Es koſtet jhm kein zeitlich Gut
Vns wieder zu erwerben/
Es that es nicht der Opffer Blut/
Er muſte ſelber ſterben
Vnd einen Tod zwar/ welcher gar
Ein Fluch vnd Grewel war.


OCRopus

Es koſlet jhm kein zeitlich Gut
Vns wieder zu terwerben/
Es that es nicht der Opffer Blut/
Er muſte ſelber ſterben
Vnd einen Tod zwar/ welcher gar
Ein Fluch vnd Grewel war.

] ]

Optimierungsoptionen: Nachkorrektur

  • auch unter optimierten Bedingungen verbleiben OCR-Fehler
  • manuelle oder automatische Korrektur des Textes zur Erhöhung der Qualität
  • drei Ansatzmöglichkeiten:
    • manuell (Collaborative Manual Correction/Crowdsourcing)
    • programmunterstützt (Interactive Postcorrection)
    • automatisch
  • „klassische“ Aufgabe der Computerlinguistik
    • Anleihen bei Rechtschreibkorrektur
    • bzw. Schreibungsnormalisierung (Jurish 2012)

Optimierungsoptionen: Werkzeuge Nachkorrektur

  • manuell
    • manuelle Transkription/Korrektur des OCR-Ergebnisses, erfordert umfassende Konzeption und (anfängliche) Betreuung, bietet Ansatz für Gamification
    • diverse proprietäre und Open-Source-Lösungen, plattformgebunden, z.B. DTAQ, Wikisource
  • programmunterstützt
    • Unterstützung der manuellen Korrektur durch Korrekturvorschläge und Hervorhebung wahrscheinlich fehlerhafter Texterkennungsergebnisse
    • Post Correction Tool
  • automatisch
    • Korrektur auf Basis von (lexikalischen) Ground-Truth-Daten

Optimierungsoptionen: Werkzeuge Nachkorrektur

  • automatisch
    • Rechtschreibkorrekturprogramme wie hunspell
    • projektspezifische (Insel)-Lösungen wie der sog. Bremer Ansatz für die Zeitschrift „Die Grenzboten“ (Nölte et al. 2016)

Optimierungsoptionen: Synthetisches Trainingsmaterial

  • Volltexte historischer Drucke zunehmend vorhanden
    • manuelle Erfassung normalerweise ohne Text-Bild-Alignierung
    • Erstellung von Trainingsmaterial zeitaufwendig und teuer
  • Idee: Einsatz von Font-rendering-Software um automatisch alignierte Trainingsdaten zu erzeugen
    • Verwendung historischer Schriftarten (für Fraktur z.B. www.ligafaktur.de)
    • „künstliche“ Artefakte zur Nachahmung der Druckalterung

Optimierungsoptionen: Werkzeuge Synthetisches Trainingsmaterial

  • Tesseract und 🐙 mit Generierungsmechanismus auf Basis von FreeType
    • alle mitgelieferten Tesseract-Modelle auf diese Weise entstanden!
  • viele Projekte zur Erstellung historischer Fonts im TTF/OTF-Format für (praktisch) alle alphabetischen Schriftsysteme


Optimierungsoptionen: Komplexere OCR-Workflows

  • „einfache“ OCR-Workflows in allen OCR-Lösungen implementiert
  • keine Möglichkeit zur direkten Integration der diskutierten Optimierungsmöglichkeiten
  • kein modulares Workflowmanagmentsystem im Bereich OCR vorhanden
  • momentane Lösung
    • Zugriff auf einzelne Module
    • Kombination in spezifischem Workflow
    • aka. Skripte und Hacks
  • aber OCR-D

Optimierungsoptionen: Komplexere OCR-Workflows


class: part-slide count: false

Anschauungsbeispiele


Anschauungsbeispiele

  • generiert mit Hilfe von Tesseract (4.0)
  • gute bis sehr gute Textqualität abhängig von
    • (Qualität der Vorlage)
      • Analog
    • Digital
    • Alter des Werkes
    • Standardabweichung
  • schlechte bis sehr gute Strukturqualität abhängig von
    • (Qualität der Vorlage)
    • Komplexität der Struktur

Anschauungsbeispiele: Textqualität

.cols[ .fourty[

] .seventy[

Einleitung.

im Siidosten von Sachsen und im Xordosten Böhmens,i anf beiden Seiten der Elbe, dehnt sich ein von der Xaturwunderlieblich gebildeter, mit Felsen. Thälern, Schluchteni ' und Wasser reichlich und reizend geschmückter Landstrich; ‘ aus, der früher den Xamen des Meissner Hochlands1 führte, und seit dem Anfänge unseres Jahrhunderts die. sächsische Schweiz genannt wird. Seit der böhmischer . Theil bekannter geworden ist und mehr besucht wird, 'wirdt> • das Ganze die sächsisch- höhmische Schweiz ge-:i nannt.A\ er käme wohl nach Dresden, ohne nicht jene freund-;{ liehen, überaus malerischen, erhabenen, wilden, wie lieb-il liehen und idyllischen Berggebilde zu begrüssen? GewissI. ’ Jeder wird sie mit Begeisterung und hohem Wohlgefallenb durchwandern und von ihnen eine liebliche Erinnerung mitx zurücknehmen! Xur muss sich Xiemand durch den hoch-A klingenden Xamen „Schweiz“ verleiten lassen und sich ihnenii mit Ansprüchen nahen, welche sie nicht erfüllen können.’f : A\ ...

] ]

count: false

Anschauungsbeispiele: Textqualität

.cols[ .fourty[

] .seventy[

Einleitung.

In Südosten von Sachsen und im Nordosten Böhmens,
auf beiden Seiten der Elbe, dehnt sich ein von der Natur
wunderlieblich gebildeter, mit Felsen, Thälern, Schluchten
und Wasser reichlich und reizend geschmückter Landstrich
aus, der früher den Namen des Meissner Hochlands
führte, und seit dem Anfange unseres Jahrhunderts die
sächsische Schweiz genannt wird. Seit der böhmische
Theil bekannter geworden ist und mehr besucht wird, ‘wird
das Ganze die sächsisch-böhmische Schweiz ge-
nannt.

Wer käme wohl nach Dresden, ohne nicht jene freund-
lichen, überaus malerischen, erhabenen, wilden, wie lieb-
lichen und idyllischen Berggebilde zu begrüssen? Gewiss
Jeder wird sie mit Begeisterung und hohem Wohlgefallen
durchwandern und von ihnen eine Liebliche Erinnerung mit

] ]

Anschauungsbeispiele: Vorlagequalität

.cols[ .fourty[

] .seventy[

Б. Л. Фонкин

Греческие рукописи собрания Х. Ф. Маттеи
в Российском государственном архле древних актов

Сравнительно недавно в РГАДА был образован фонд
Х. Ф. Маттен, куда вошли принадлежавшие этому ученому
треческие рукописи 1Х--ХУЛ вв., а также некоторые другие
материалы!. Чтобы понять, как спожилось это собрание, необ-
ходимо обратиться к истории.

Вылающийся немецкий филолог-классик, Христиан Фрил-
рих Махтеи (1744—1811) значительную часть своей жизни провел
в Москве. В 1772 г оң был приглашен в Московский университет
на должность ректора университетских гимназий, в 1776 г стано-
вится экстраординарным, а 1778 г. — ординарным профессором
зтого учебного заведения. Возвратившись на родину в 1784 г,
Маттеи через 20 лет принимает приглашение возглавить кафедру
треческой и римской словесности Московского университета и
преподает в русской столице с 1804 г до своей кончины в 1811 г?

] ]

Anschauungsbeispiele: Gemischte Schriftarten


Anschauungsbeispiele: Strukturqualität


count: false

Anschauungsbeispiele: Strukturqualität


count: false

Anschauungsbeispiele: Strukturqualität


count: false

Anschauungsbeispiele: Strukturqualität


class: part-slide count: false

OCR-D


OCR-D: Überblick

  • DFG-Initiative zur Verbesserung von OCR-Methoden für historische Drucke insbesondere für die Volltextdigitalisierung aller in den Verzeichnissen der im deutschen Sprachraum erschienen Drucke (VD16, VD17, VD18) nachgewiesenen Exemplare
  • Koordinierungsprojekt
    • Partner
      • Herzog-August Bibliothek Wolfenbüttel
      • Berlin-Brandenburgische Akademie der Wissenschaften
      • Staatsbibliothek Berlin
      • Karlsruher Institut für Technologie
    • Implementierung Workflowmanagmentsystem
    • Bereitstellung von Ground-Truth-Daten
    • Ende 2015 bis Mitte 2020

OCR-D: Überblick

  • Modulprojekte
    • Bearbeitung inhaltlicher Desiderate für einen optimierten OCR-Workflow
    • Bildvorberarbeitung (DFKI Kaiserslautern)
    • Layoutanalyse (DFKI Kaiserslautern, JMU Würzburg)
    • Texterkennung/-optimierung (UB Mannheim, Uni Leipzig, LMU München)
    • Modelltraining (Uni Leipzig, FAU Erlangen, JGU Mainz)
    • Langzeitarchivierung (UB Göttingen)
    • (Qualitätssicherung)
  • Pilotbibliotheken
    • Projektpartner
    • SLUB Dresden
    • UB Rostock
    • ULB Darmstadt

OCR-D: Prämissen

  • Lückenschluss zwischen Forschung und Praxis
    • Transfer der Forschungsergebnisse
    • zugängliche und nachnutzbare Implementierungen
  • Methodenpluralismus
    • insbesondere bei schwierigen Vorlagen: kein bester Algorithmus
    • Implementierung möglichst vieler Ansätze samt Auswahlmechanismus
  • konsequent OpenSource
    • Veröffentlichung des Quellcodes und
    • Anschluss an vorhandene Communities

Open-Source-Paradigma

  • öffentlich geförderte Projekte ↦ öffentlich verfügbare Projektergebnisse
  • „Kulturrevolution“: Reproducible Science
    • Daten (Texte etc.) veröffentlicht unter CC
    • Methoden veröffentlicht als quelloffene Software
    • wissenschaftliche Dokumentation veröffentlicht als Open Access
  • „Belohnung“ durch wissenschaftliche Qualifikation und Zitierungen
  • Ziel: Einbindung der Nutzercommunity von Anfang an
    • Fehlermeldung und Funktionalitätsfeedback während der Entwicklung
    • Weiterentwicklung und Pflege auch nach Ablauf der Förderung

Zusammenfassung

  • Quantensprung im Bereich OCR durch Einsatz neuronaler Netze
  • Problem der Texterkennung „gelöst“
  • Strukturerkennung auf gutem Weg
  • Herausforderungen bei der Produktivierung der einzelnen Werkzeuge
    • Nachhaltigkeit der Softwarelösungen
    • Trainingsdaten und Modelle
    • Erfahrungswerte und systematische Evaluation

class: part-slide

Vielen Dank für Ihre Aufmerksamkeit!

wrznr.github.io/IT-Kolloquium-2019