Dialogsysteme & Sprachverarbeitung · T10

OCR, Parsing & Dokument-Informationsextraktion

Überblick

Klassische und moderne Methoden zur optischen Zeichenerkennung (OCR) sowie zur regelbasierten und ML-basierten Extraktion strukturierter Informationen aus Dokumenten (Rechnungen, Formulare, PDFs).

Relevanz: OCR-Preprocessing-Schritte (Normalisierung, Binarisierung, Deskewing, Noise Removal) kennen; Segmentierungsverfahren (Connected Component Analysis, Projection Profiles, PSM) erklären; Unterschied regelbasierte vs. ML-basierte Extraktion verstehen; Layout-Analyse-Grenzen beschreiben.

Kernkonzepte
  • OCR (Optical Character Recognition): Technologie zur automatischen Erkennung von Text in Bildern oder Scans; historische Entwicklung von regelbasierter Zeichenerkennung (1950er) über Kurzweil (1974, Omni-Font) bis zum Open-Source-Durchbruch (Tesseract, 2005).
  • Tesseract: Open-Source-OCR-Engine; ursprünglich bei HP (1985), seit 2005 Open Source, seit 2006 von Google gepflegt; klassische Pipeline: Vorverarbeitung → Segmentierung → Klassifikation.
  • OCR-Preprocessing – Normalisierung: Glättung von Pixeln bei grossen Varianzen in Belichtung, Kontrast oder Rauschen.
  • OCR-Preprocessing – Binarisierung: Umwandlung in Schwarzweiss-Bild; Otsu-Verfahren findet den optimalen globalen Schwellwert über Histogramm-Varianz; Anpassung bei inhomogener Beleuchtung erforderlich.
  • OCR-Preprocessing – Deskewing: Korrektur von Schräglage via Hough-Transformation oder Projektionsprofile; Rotation um den geschätzten Winkel.
  • OCR-Preprocessing – Auflösung (DPI): Faustregel: Schriftgrösse > 8pt → 300 dpi; Schriftgrösse < 8pt → 400–600 dpi; beeinflusst OCR-Qualität und Verarbeitungsgeschwindigkeit.
  • OCR-Preprocessing – Noise Removal: Median- oder Gauss-Filter gegen Bildrauschen; Dilation und Erosion gegen «Ink Bleeding» und Korrekturen von Bold/Thin-Schriften.
  • OCR-Segmentierung: Aufteilung des Bildes in Text-Regionen; Methoden: Connected Component Analysis (CCA) und Projection Profiles; in Tesseract als PSM (Page Segmentation Mode) konfigurierbar.
  • Connected Component Analysis (CCA): Bottom-up: zusammenhängende schwarze Pixelgruppen → Zeichenkandidaten mit Bounding Boxes; Probleme bei Ligaturen und Handschrift.
  • Projection Profiles: Horizontales Profil für Zeilentrennung, vertikales Profil für Wort-/Zeichenlücken; einfach und schnell, versagt bei mehrspaltigen Layouts.
  • Klassische Zeichenerkennung: Template Matching (Pixel-für-Pixel-Vergleich mit Referenzschablonen; nur für bekannte Schriftarten) oder Feature Extraction + Klassifikator (Kanten-Features + k-NN/SVM/Random Forest).
  • Layout-Analyse – Klassisch: Top-down: XY-Cut (rekursive Schnitte entlang horizontaler/vertikaler Lücken); Bottom-up: CCA; funktioniert bei Manhattan-Layouts mit Linien, versagt bei komplexen Layouts und Tabellen ohne Linien.
  • Regelbasierte Informationsextraktion: Reguläre Ausdrücke auf OCR-Output, Templates mit Anker-Tokens, Wrapper Induction, Layout-Heuristiken; deterministisch, günstig, kein Training nötig; aber für jede neue Dokumentenvorlage neue Heuristik erforderlich.
Fachwörter & Glossar
  • OCR (Optical Character Recognition)Automatische Erkennung und Digitalisierung von Text aus Bildern oder gescannten Dokumenten.
  • TesseractOpen-Source-OCR-Engine; Standard-Tool, seit 2006 von Google gepflegt; konfigurierbar via PSM und OEM.
  • BinarisierungUmwandlung eines Graustufenbilds in ein Schwarzweiss-Bild; Grundlage für OCR; Otsu-Verfahren bestimmt den optimalen Schwellwert.
  • Otsu-VerfahrenAlgorithmus zur automatischen Schwellwertbestimmung bei der Binarisierung; minimiert die intraklassen-Varianz im Histogramm.
  • DeskewingKorrektur der Schräglage eines gescannten Dokuments; Winkelschätzung via Hough-Transformation oder Projektionsprofile.
  • PSM (Page Segmentation Mode)Konfigurationsparameter in Tesseract/Pytesseract; definiert, wie die Seitensegmentierung durchgeführt wird (z.B. einzelne Zeile, Block, Spalte).
  • CCA (Connected Component Analysis)Segmentierungsverfahren, das zusammenhängende Pixelgruppen im Binärbild zu Zeichenkandidaten gruppiert.
  • Projection ProfileSumme der schwarzen Pixel pro Zeile (horizontal) oder Spalte (vertikal) eines Binärbildes; dient zur Zeilen- und Worttrennnung.
  • XY-CutTop-down-Layoutanalyse; rekursive horizontale und vertikale Schnitte entlang von Leeräumen erzeugen einen Baum aus Inhaltsblöcken.
  • Template MatchingKlassische OCR-Methode; vergleicht Pixel-für-Pixel mit gespeicherten Zeichenschablonen; nur für bekannte Schriftarten und -grössen geeignet.
  • Anker-TokenBekanntes, eindeutiges Schlüsselwort in einem Dokument (z.B. «Rechnungsnummer:»), das als Startpunkt für die regelbasierte Informationsextraktion dient.
  • Wrapper InductionVerfahren zur automatischen Regelableitung aus wenigen annotierten Beispieldokumenten; Halbautomatisierung der Extraktionsregeln.
  • Ink BleedingUnerwünschtes «Ausbluten» von Druckertinte, das Buchstaben verdickt oder verbindet; wird durch Erosion/Dilation im Preprocessing korrigiert.
  • DPI (Dots Per Inch)Bildauflösung; beeinflusst OCR-Qualität massgeblich; Faustregel: ≥ 300 dpi für Standardschriftgrössen. ---