A class with students
Extraktion von Entitäten aus Rechnungen und Bestellungen in SAP
Hintergrund
Eingehende Rechnungen und Bestellungen von externen Firmen treffen in einer Vielzahl von Formaten ein. Um die Dokumente weiter zu verarbeiten, müssen die wichtigsten Informationen extrahiert und in die Software des Unternehmens wie z.B. SAP eingegeben werden. Bei Eingangsrechnungen müssen mindestens die Bankkontonummer, der Nettobetrag, die Mehrwertsteuer, der Name des Lieferanten, das Fälligkeitsdatum der Zahlung und das Rechnungsdatum extrahiert werden.
Herausforderungen
Da die Rechnungen und Bestellungen von einer Vielzahl von Lieferanten und Kunden stammen, gibt es keine einheitliche Extraktionsmethode, die angewendet werden kann. Diese Herausforderung ist umso dringlicher, wenn das Unternehmen in verschiedenen Ländern mit unterschiedlichen Sprachen und Formaten tätig ist und eine hohe Anzahl von Kunden oder Lieferanten mit gelegentlichen Bestellungen oder Lieferungen hat. Optical Character Recognition (OCR) und schablonenbasierte Lösungen werden daher - in den meisten Fällen - keine zufriedenstellenden Ergebnisse liefern.
Lösungsansatz
In einem ersten Schritt muss der Dokumentinhalt mit OCR-Bibliotheken wie TesserAct, ABBYY FineReader oder Google Vision API extrahiert werden. Sobald das richtige OCR-Tool ausgewählt ist, muss eine Datenpipeline mit einer hohen Anzahl von Labels ("Ground Truth Data") eingerichtet und ein machine learning (ML) Modell trainiert werden.
Für Informationen innerhalb einer Tabelle muss eine Tabellensegmentierung angewendet werden, um die Position einer Entität innerhalb von Tabellen zu lokalisieren. Für einfache Extraktionsfelder, wie z.B. Daten, könnten z.B. regelbasierte Ansätze ausreichend zuverlässig sein.
Für komplexere Felder sind die Optionen für ML-Algorithmen Random Forest, Naive Bayes Klassifikatoren, TF-IDF- oder LSTM-Algorithmen. Graph Neural Networks sind eine weitere Option zur Abbildung von Beziehungen zwischen Entitäten (wie z.B. Fälligkeitsdatum und Zahlungsdatum). In den meisten Fällen liefert eine Kombination aus regulären Ausdrücken, traditionellen Methoden des maschinellen Lernens und tiefen neuronalen Netzen die besten Ergebnisse.