Automatisierung bei BPO: Die Technologien OCR, Computer Vision und Word Embedding in der Buchhaltung – Teil 2

PrintMailRate-it

veröffentlicht am 14. Juli 2022 | Lesedauer ca. 4 Minuten

 

Die Software OCR (optical character recognition; deutsch: Optische Zeichener­ken­nung) ist seit vielen Jahren bekannt. In der Tat wurde das erste Patent für ein OCR-Programm in den USA im Jahr 1931 erteilt (Patentnummer 1,838,389) und dann von IBM erworben. Die Dinge nahmen in den 80er Jahren Fahrt auf, als LexisNexis als einer der ersten kommerziellen Kunden das Programm von Kurzweil erwarb. Der Anwendungsfall war damals, das Hochladen von rechtlichen Dokumenten in eine Online-Datenbank zu automatisieren. Zwei Jahre später verkaufte Kurzweil sein OCR-Geschäft an Xerox, die es weiterentwickelten. Mittlerweile gibt es viele kommerzielle OCR-Programme, wie Abbyy FineReader oder Adobe Acrobat Pro DC, oder auch kos­tenlose Open Source-Software wie tesseract-ocr. Tesseract, das zurzeit z.B. von UiPath genutzt wird, wurde im Jahr 1996 von Hewlett-Packard ins Leben gerufen und wird seit 2001 von Google entwickelt. Es wird mittlerweile kostenlos als Open-Source-Basis­programm angeboten. Das bedeutet, dass man es nutzen und seinen Quellcode än­dern kann, was praktisch ist, um auf der Basis von Komponenten mittels direkter Code-Integration oder einer geeigneten API auf niedriger Stufe eigene Programme zu entwickeln.

 

Das Kernstück des OCR-Programms bilden eine Datenbank mit Millionen von Abbildungen eines jeden verfüg­baren Buchstaben des Alphabets und Algorithmen, die die Pixel-Abbildungen der auf den eingescannten Dokumenten befindlichen Buchstaben mit ihren elektronischen Abbildungen vergleichen. Anders gesagt, wenn das OCR-Programm den Buchstaben „N“ sieht, sieht es nicht wirklich ein „N“, sondern den Vektor aus Pixeln, der diesen Buchstaben abbildet. Dann gleicht es die numerische Abbildung dieses Vektors mit vielen anderen Vektoren von „N“ und jedem anderen Buchstaben in seiner Datenbank ab und liefert uns das Ergebnis, das am besten passt – mit etwas Glück schlägt es tatsächlich den Buchstaben „N“ vor.
 
Aber das ist für uns nur begrenzt von Nutzen. Normalerweise wollen wir mehr von einem OCR-Programm. Üblicherweise sind in einem OCR-Programm auch zusätzliche Verarbeitungsmerkmale eingebettet, wie das Erkennen ganzer Wörter, Sätze oder Stellen im Dokument, die zu bestimmten Metazeichen passen (z.B. Rech­nungsnummer oder Bruttobetrag). Dies geschieht mithilfe eines anderen Algorithmus – Computer Vision. Computer Vision erfasst die Elemente eines Bildes, Videos oder einer Stimmenaufnahme, die zuvor in seiner Bibliothek definiert wurden und den vordefinierten Mustern gemäß einem Algorithmus entsprechen, der dieses vordefinierte Element anhand vieler historischer Beispiele gelernt hat. Ein sehr gutes Beispiel wäre hier das Erkennen eines menschlichen Gesichts in einer sich bewegenden Menschenmenge oder die Identifizierung von Verkehrsschildern für selbstfahrende Autos. Er kann uns sagen, wo sich auf dem eingescannten Dokument das ganze Fragment „Rechnungsnummer: 1U/8889/11“  befindet. Und dieses Wissen benötigen wir, um das passende Feld herauszufiltern und es im System im Feld „Rechnungsnummer“ oder „Dokumentnummer“ einzuordnen. 
 
Und dann kann man, wenn man aus dem OCR-Bereich weiter in den Bereich der Künstlichen Intelligenz vordringen will, über die Extraktion von Ontologien & semantische Analyse nachdenken. Ein Wort in einer Rechnung wird von Ihrem Computer nicht verstanden. Und er kann es sicherlich nicht mit anderen Definitionen und Werten in Verbindung bringen. Anders gesagt, dieses Wort enthält keine Information mit Bedeutung. 
 
Nehmen wir an, die Rechnung bezieht sich auf Kugelschreiber. Dieses Wort hat keine Bedeutung für eine Maschine. Es ist lediglich eine Zeichenfolge aus Nullen und Einsen – 00111110001010101010000011010101…. – aber wir wollen wissen, ob „Kugelschreiber“ eine Ähnlichkeit z.B. zu „Büromaterialien“ aufweist. Hierfür gibt es einen anderen Algorithmus, der  Word Embedding (Worteinbettung) heißt. 

   
 

Mit Word Embedding wird das Wort als Vektor abgebildet und dieser Vektor wird in einen n-dimensionalen Raum eingestellt. Oben sehen Sie ein Beispiel für einen Teil des Vektors für das Wort „Katze“. Dann sucht er für die bestimmte Sprache nach Distanzen zwischen diesem Vektor und anderen Vektoren für andere Wörter. Aber dann müsste man jedes Wort in der gewählten Sprache bereits in Wort-Vektoren konvertiert haben? Ja, das stimmt! Wir können Algorithmen wie GloVe, BERT oder FastText implementieren, die uns diese Abbildungen für ganze Sprachen bereits anwendungsbereit zur Verfügung stellen. Und dann kann der Computer prüfen, ob die Distanz des Wortes „Kugelschreiber“ zu anderen Wörtern größer oder geringer ist. Sie ist gering zu den Vektor­abbildungen von Wörtern wie „Büro“, „Papier“, „Tinte“, „Schreiben“ und ähnlichen. Wir können dann eine Verständnisebene haben und auf dieser Basis Künstliche Intelligenz mit diesem reichhaltigen Informations­kontext entwickeln. Jetzt können wir einer Maschine tatsächlich etwas beibringen (also Maschinelles Lernen), denn die Maschine kann uns verstehen. 
 
Aber kehren wir zu unserem Hauptthema zurück – Buchung einer Eingangsrechnung. Warum benötigen wir überhaupt die Technologien OCR, Computer Vision und Word Embedding?
 
Denken wir nur einmal an zwei extreme Varianten des Kreditorenprozesses – einerseits hätten wir einen Buch­halter, der die Rechnung in Papierform erhält, er prüft die Rechnung und gibt die wichtigsten Informationen aus der Rechnung manuell in das Buchhaltungssystem ein. Dann wird das Buchungskonto zugewiesen und die Steuersätze werden bestätigt. Erledigt. Die Buchung ist im System und ab jetzt wird jeder Prozess in der Be­richterstattung, Tax Compliance oder Wirtschaftsprüfung von diesem Buchungseintrag abhängen. Der gesamte Prozess für diese eine Rechnung kann von ein paar Minuten bis zu einer Viertelstunde dauern. 
 
Aber es gibt viele Varianten, bei denen etwas schiefgehen kann. Beginnend bei formalen Unstimmigkeiten, wie einer falschen Steueridentifikationsnummer, einem falschen Bankkonto, Fehlern bei den Daten des Lieferanten oder einem falschen Wechselkursdatum und endend bei inhaltlichen Fragen wie „Handelt es sich um betrieb­liche Aufwendungen oder einen Teil des Forschungsprojekts?“ oder „Was für eine Art von Vermögens­ge­gen­stand ist das“? Oft gibt es auch Aufwendungen, die von einer bestimmten Geschäftseinheit freigegeben oder nicht freigegeben wurden, oder eine Rechnung wurde zwei Mal ausgestellt.  Bei einer einzelnen Rechnung mit klaren und korrekten Informationen ist es daher kein komplizierter Prozess, aber bei einem rechnungs­bu­chen­den Ökosystem wird die Sache komplizierter. 
 
Wenn es noch viel mehr solcher Rechnungen gibt, wird es noch zeitraubender. Und normalerweise tendieren wir bei großen Mengen dazu, die Prozesse zu verbessern. Bei der Optimierung schauen wir uns normalerweise die manuellen Aufgaben an, die sich wiederholen, und versuchen, sie zu straffen.  Wenn der Prozess der Überleitung der Informationen von den Dokumentenscans in das Transaktionssystem, der Prüfung der formalen Korrektheit und der Beschreibung der Rechnungen bei den Kreditoren eine manuelle Aufgabe ist, sehen wir uns das gewöhnlich genau an. Hier kommen das OCR- und das Workflow-Management-System zum Einsatz.
 
Wenn wir dann nicht 1 sondern 10 000 Rechnungen zu verarbeiten haben, ist es einfacher, wenn die Doku­mentenverarbeitungs- und Buchhaltungseinheit über nachvollziehbare Workflow-Management-Systeme verfügen, um auch den Dokumentenumlauf zu managen. Aber der Effizienzgewinn kann nur ein bestimmtes Niveau erreichen – bis zu 10 bis 30 Prozent, nach meiner professionellen Erfahrung. Was kommt als nächstes? 

 

  

NB: Die Grafiken stammen aus internen Tools, die bei Rödl & Partner verwendet werden.
Deutschland Weltweit Search Menu