Texterkennung oder auch Optische Zeichenerkennung (Abkürzung OCR von englisch Optical Character Recognition, selten auch: OZE) ist ein Begriff aus der Informationstechnik und bezeichnet die automatisierte Texterkennung innerhalb von Bildern.
Texterkennung ist deshalb notwendig, weil optische Eingabegeräte (Scanner oder Digitalkameras, aber auch Faxempfänger) als Ergebnis ausschließlich Rastergrafiken liefern können, d. h. in Zeilen und Spalten angeordnete Punkte unterschiedlicher Färbung (Pixel). Texterkennung bezeichnet dabei die Aufgabe, die so dargestellten Buchstaben als solche zu erkennen, d. h. zu identifizieren und ihnen den Zahlenwert zuzuordnen, der ihnen nach üblicher Textcodierung zukommt (ASCII, Unicode).
Automatische Texterkennung und OCR werden im deutschen Sprachraum oft synonym verwendet. In technischer Hinsicht bezieht sich OCR jedoch nur auf den Teilbereich der Mustervergleiche von separierten Bildteilen als Kandidaten zur Erkennung von Einzelzeichen. Diesem OCR-Prozess geht eine globale Strukturerkennung voraus, in der zuerst Textblöcke von grafischen Elementen unterschieden, die Zeilenstrukturen erkannt und schließlich Einzelzeichen separiert werden. Bei der Entscheidung, welches Zeichen vorliegt, kann über weitere Algorithmen ein sprachlicher Kontext berücksichtigt werden.
Neben der reinen OCR-Erkennung des Textes einer Bilddatei werden von BMD Scan noch weitere Punkte erfüllt. Aus der Gesamtheit eines Textes wird aufgrund verschiedener Merkmale versucht, folgende Daten automatisch zu extrahieren:
- Rechnungsnummer
- Rechnungsdatum
- UID
- Gesamtsumme
Damit die OCR-Erkennung so gut wie möglich funktioniert, sollten folgende Punkte für das Dokument beachtet werden:
- Das Dokument sollte mit min. 200*200 dpi gescannt werden. Für die beste Erkennungsrate sollte die Auflösung 300*300 dpi gewählt werden.
- Das Dokument sollte in Schwarz/Weiß oder Graustufen gescannt werden. Es können zwar auch farbige Dokumente verarbeitet werden, jedoch gehen bei der Konvertierung Informationen verloren.
- Tif-Dokumente werden besser verarbeitet, da PDF-Dokumente erst in das Tif-Format übertragen werden müssen. Jedoch ist auch hier eine Erkennung möglich.
- Es dürfen nur Schriften verwendet werden, die getrennte Zeichen verwenden. Die Leserichtung muss immer von Links nach Rechts verlaufen. Es können alle Unicode-Zeichen verwendet werden, die in UTF-8 codiert sind.
Um nun die beschriebenen Felder automatisch erkennen zu können, wurden folgende Regeln hinterlegt:
Bei der UID-Nummer werden folgende Regeln bei der OCR-Erkennung angewendet:
- 2 - 3 alphanumerische Zeichen am Anfang,
- ein oder kein Leerzeichen und dann
- 5 - 13 numerische Zeichen
Beispiele
| | UID-Nummer | Regelanwendung | | ATU 24168102 | 3 alphanumerische Zeichen, 1 Leerzeichen als Trenner und 8 numerische Zeichen | | DE12545874 | 2 alphanumerische Zeichen, KEIN Leerzeichen als Trenner und 8 numerische Zeichen |
|
|
Beim Rechnungsdatum werden folgende Regeln bei der OCR-Erkennung angewendet:
- Kein oder 2 numerische Zeichen,
- Punkt oder Strich als Trenner,
- 1 oder 2 numerische Zeichen,
- Punkt oder Strich als Trenner und dann
- 2 - 4 numerische Zeichen (beginnend mit 19 oder 20, wenn es 4 Zeichen sind).
Beispiele
| Datum
| Regelanwendung
| | 21.02.2015 | 2 numerische Zeichen, Punkt als Trenner, 2 numerische Zeichen, Punkt als Trenner und dann 4 numerische Zeichen | | 24.3.15 | 2 numerische Zeichen, Punkt als Trenner, 1 numerisches Zeichen, Punkt als Trenner und dann 2 numerische Zeichen |
|
|
Bei der Rechnungsnummer wird nach beliebig vielen numerischen Zeichen in einem Wort gesucht. Da solche Zeichenfolgen im Text öfter vorkommen können, wird vor der Rechnungsnummer noch nach einer Beschreibung gesucht. Diese wiederum muss folgenden Regeln entsprechen:
- Alphanumerischer Text beginnend mit „Re“,
- dann kein oder beliebig viele Zeichen,
- kein oder Punkt oder Strich als Trenner und dann
- No, Num mit beliebig vielen alphanumerische Zeichen bzw. Nr mit und ohne nachfolgenden Punkt.
ODER
- RN mit oder ohne Punkt
- Rech mit beliebig vielen alphanumerischen Zeichen
- Honorar mit beliebig vielen alphanumerischen Zeichen
- Ähnlichkeitsanalyse der Texte Rechnung, Honorar bzw. Nummer, wenn diese durch die OCR-Erkennung nicht korrekt erkannt worden sind.
Beispiele
| Rechnungsnr.
| Regelanwendung
| | Honorarnote 123 | Beschreibung ist hier "Honorar" mit beliebig vielen alphanumerischen Zeichen (hier "note") und einem Wort mit nur numerischen Zeichen (in diesem Beispiel "123"). | | RN. 201503 | Beschreibung ist hier "RN." mit Punkt und einem Wort mit nur numerischen Zeichen (in diesem Beispiel "201503"). |
|
|
Bei der Gesamtsumme werden folgende Regeln bei der OCR-Erkennung angewendet:
- +/- oder kein Vorzeichen,
- beliebig viele numerische Zeichen oder
- beliebig viele numerische Zeichen gruppiert in 3-er Blöcken mit Punkt, Komma, oder Hochkomma als Tausendertrennzeichen und
- Punkt oder Komma als Dezimaltrennzeichen (je nach Tausendertrennzeichen),
- kein bis 2 numerische Nachkommastellen
- Betrag wird als solcher erkannt, wenn ein Währungszeichen davor/danach steht (unabhängig von Nachkommastellen)
Beispiele
| Gesamtsumme
| Regelanwendung
| | - 2.000,10 | Minus als Vorzeichen (optional), Tausendertrennzeichen Punkt, Dezimaltrennzeichen Komma. | | 1.215,27 | KEIN Vorzeichen, Tausendertrennzeichen Punkt, Dezimaltrennzeichen Komma. |
|
|
Der gesamte gescannte Text wird nach den oben beschriebenen Regeln durchsucht. Sollten mehrere Textstellen mit den Regeln übereinstimmen, dann werden diese in einer Combobox dargestellt.
Hinweis
| Bei der Gesamtsumme wird immer die höchste Summe als Auswahl herangezogen, beim Rechnungsdatum immer das älteste Datum. |
Die Regeln werden zwar ständig erweitert und an die Gegebenheiten der Rechnungen angepasst, jedoch kann es vorkommen, dass manche Felder nicht immer korrekt erkannt werden können. Für diesen Fall wurde die Erkennung mit Schablone umgesetzt.