In meinem beruflichen Alltag begegne ich oft dem Begriff OCR. Mein Team und ich beschäftigen uns mit automatisierter Buchhaltung und der Extraktion von Buchungssätzen aus Belegen. In diesem Artikel möchte ich erläutern, was OCR genau ist und warum es nur ein Teilaspekt der KI-gestützten Dokumentenverarbeitung ist.
Häufig wird das Auslesen und Verarbeiten von Dokumenten fälschlicherweise als “OCR” bezeichnet. Tatsächlich steht OCR für “Optical Character Recognition” und beschreibt den Prozess, bei dem Bilder in Text umgewandelt oder Text aus Bildern extrahiert wird.
Es stimmt, dass OCR zum Lesen von gescannten Dokumenten eingesetzt wird. Allerdings wird “Lesen” in diesem Kontext oft irrtümlich mit “Verstehen” gleichgesetzt. Ein Computer, der Bilder in Text umwandelt, versteht diesen Text jedoch nicht. Er fügt lediglich Buchstaben aneinander.
Nehmen wir das Beispiel eines Dokuments mit der Aufschrift “Rechnung 1245” oder “Rechnungsnummer: 1245”. Der Computer erkennt nicht, dass “1245” die Rechnungsnummer ist. Diese Art der Erkennung wird als “Extraction” oder “Capturing” bezeichnet. Mein Team nutzt hierfür die Abkürzung NER, was für “Named Entity Recognition” steht – das Erkennen benannter Entitäten wie eben der Rechnungsnummer.
Streng genommen ist dieser Begriff aus der Computerlinguistik entlehnt, wo er für das Erkennen solcher Entitäten in Fließtexten verwendet wird. In der Dokumentenverarbeitung spielen jedoch auch Bildelemente eine Rolle. Trotzdem finde ich die Bezeichnung NER für das Erkennen von Entitäten in Dokumenten passend.
Manchmal muss man in der Dokumentenanalyse noch einen Schritt weitergehen. Selbst die Erkennung benannter Entitäten reicht nicht immer aus, um den Sinngehalt vollständig zu erfassen. Ein gutes Beispiel hierfür ist die Kombination aus IBAN und BIC. Diese sind zwar einzeln erkennbare Entitäten, doch ihre Beziehung zueinander ist entscheidend. Wenn ein Dokument mehrere IBANs und BICs enthält, muss erkannt werden, welche IBAN zu welcher BIC gehört. Ich verwende für diesen komplexeren Fall den Begriff “Linked Named Entity Recognition” oder LNER – das Erkennen verknüpfter, benannter Entitäten.
Die wahre Herausforderung bei der Extraktion entsteht jedoch durch komplexe Strukturen auf Dokumenten, wie z.B. bei Rechnungszeilen. Viele denken, Rechnungszeilen seien einfache Tabellen, doch in Wirklichkeit sind sie oft hochkomplex und vielfältig. Handwerker nutzen sie zur Dokumentation, Großhändler weisen innerhalb dieser Zeilen Hierarchien auf “Warengruppen”. Rechnungszeilen enthalten Bilder, Bar-Codes, Linien, Rabatte, Stornierungen, Lieferinformationen, Leistungszeiträume und vielfältige Beträge in unterschiedlichsten Farben und Formen. Schon die Rechnungen von zehn verschiedenen Firmen können zwölf unterschiedliche Darstellungsweisen von Rechnungszeilen aufweisen. Nimmt man die Sonderfälle in Seitenumbrüchen dazu.
Das Erkennen solch komplexer Strukturen ist eine immense Herausforderung. Es gibt vermutlich nicht einmal eine digitale Struktur, die all diese Fälle geeignet abdeckt. Einen spezifischen Namen für dieses Problem kann ich euch nicht sagen – aber eines ist sicher: OCR ist etwas anderes.