Der Weg hin zum digitalen Unternehmen scheint langwierig, gewunden und steinig. Bestehende Prozesse digital abzubilden, bedarf häufig der Überarbeitung des gesamten Prozesses. Hinzu kommen meist neue Systeme und Werkzeuge, die eine Digitalisierung kostspielig werden lassen. Aber manchmal geht es gar nicht um den ganzen Prozess, oder die vollständig digitale Prozessabbildung. Manchmal wünscht man sich, die Daten, die heute im Prozess anfallen, einfach digital und auswertbar zur Verfügung zu haben. Eine Lösung hierfür kann der nun öffentlich verfügbare Microsoft Azure Form Recognizer sein.
Microsoft Azure Form Recognizer ist ein KI-basierter Dienst, der es erlaubt, Daten aus ihren analogen Formularen zu extrahieren. Der Form Recognizer ist Teil der Azure Cognitive Services und unterscheidet sich im Gegensatz zu den anderen Diensten darin, dass dieser optimiert ist, Texte und Strukturen wie Tabellen aus Dokumenten z.B. Formularen oder Belegen zu extrahieren.
Was erkennt der Form Recognizer?
Der Form Recognizer erkennt zum heutigen Stand sogenannte Key-Value-Pairs und Tabellen in Dokumenten. Key-Value-Pairs sind einfache Textpaare, die aus einer Bezeichnung und einem Wert bestehen. Das Beispiel in Abbildung 1 zeigt eine Rechnung mit Rechnungsanschrift am Kopf des Dokuments und einer Tabelle mit mehreren Rechnungspositionen. Lassen wir den Form Recognizer das Dokument analysieren, so erkennt es die Textpaare im Rechnungskopf (z.B. die Adresse oder Rechnungsnummer) sowie die Tabelle und deren Zeilen.
Die Erkennung erfolgt dabei über ein trainiertes Machine Learning Modell. Das Modell erkennt, wo sich gewisse Informationen befinden müssten und wie die Struktur aussieht, um dann die Informationen zu extrahieren.
Abbildung 1: Beispiel eines Form Recognizer Ergebnisses
Für die weitere Verarbeitung liefert der Form Recognizer das Ergebnis im JSON-Format. In diesem stehen nicht nur die Textpaare, sondern auch deren Position im Dokument sowie die Wahrscheinlichkeit, dass der erkannte Text auch stimmt. Die Wahrscheinlichkeit wird in vielen Machine Learning Algorithmen mit angegeben. So kann der Nutzer später selbst entscheiden, ob dieser dem Ergebnis vertrauen möchte oder die Wahrscheinlichkeit zu niedrig ist. Die Position der Textpaare kann Aufschluss darauf geben, ob der Form Recognizer auch Bezeichnung und Wert richtig zusammengefasst hat. Steht z.B. die Bezeichnung auf einer anderen Zeile als der Wert, kann durchaus etwas Falsches erkannt worden sein. Zusätzlich kann über die Position auch der Kontext des Texts ermittelt werden.
Der Form Recognizer ist in Azure gehostet und per API erreichbar, um Dokumente zu analysieren. Hierfür gibt es auch eine Client Library für C#, Java, JavaScript und Python. Doch was, wenn es keine Internetverbindung gibt? Dann kann das Modell auch mittels Docker Container offline betrieben werden. Somit steht einem Offlinebetrieb nichts im Wege und es müssten auch keine großen Datenmengen in die Cloud übertrage werden. Aus Datenschutzsicht erfreut der Offlinebetrieb auch viele Endnutzer, da die streng geheimen Dokumente nie das Firmennetz verlassen müssen.
Wo sind die Grenzen des Forms Recognizer?
Den Form Recognizer gibt es in drei Variationen: Prebuilt, Layout und Custom.
Die Prebuilt-Variante ist ein vortrainiertes Modell auf Basis von Kassenzetteln aus den USA. Das Szenario hier ist sehr eingeschränkt, liefert aber häufig schon ein gutes Ergebnis für ein Proof-of-Concept. Wer eine etwas allgemeinere Variante benötigt, kann die Layout-Variante verwenden.
Die Layout-Variante verwendet kein Machine Learning Modell, sondern erkennt Texte und Strukturen über OCR (Optical Character Recognition). Diese Funktion kennt man meist aus PDF-Anwendungen, bei dem Texte in Bildern erkannt werden, um das Dokument somit durchsuchbar zu machen. Der Nachteil: Die Texte werden ohne jeglichen Kontext erkannt. Es gibt also keine Textpaare, sondern nur einzelne Texte, die man selbst in Relation setzen muss. Alle die es etwas präziser möchten, können die Custom-Variante verwenden.
Die Custom-Variante bietet die Möglichkeit, eigene Modelle auf Basis von eigenen Dokumenten zu trainieren. Form Recognizer versucht dabei selbstständig die Relation zwischen Texten herauszufinden, das sogenannte Unsupervised Learning, bei dem nichts weiter getan werden muss, außer Beispiel-Dokumente bereitzustellen. Um bessere Ergebnisse zu erzielen, kann man die Beispiel-Dokumente noch mit Informationen (sogenannten Labels) anreichen. Diese Informationen beschreiben, wo welche Textpaare im Beispiel-Dokument zu finden sind. Beim sogenannten Supervised Learning hilft man dem Modell sozusagen, die Texte, die man haben möchte, besser zu finden. Das Training kann entweder lokal oder in Azure passieren. Für das Training mit Labels gibt es ein eigenes Tool von Microsoft, um die Beispiel-Dokumente mit den zusätzlichen Labeln anzureichern.
Aber welche Variante sollte nun verwendet werden? Während die Prebuilt- und Layout-Variante für einfache Anwendungszwecke oder PoCs ausreichen, und preislich auch deutlich unter der Custom-Variante liegen, eignet sich die Custom-Variante für komplexere Dokumente, die mit Layout nicht mehr richtig erkannt werden.
Weitere Einschränkungen zu Form Recognizer können in der Dokumentation nachgelesen werden. Diese beschränken sich meist auf die Dateiformate, Dateigrößen oder Dimensionen. Texte werden nur in lateinischem Alphabet erkannt und Checkboxen oder komplexe verschachtelte Tabellen aktuell überhaupt nicht.
Fazit
Aber allein mit dem Form Recognizer ist das Ziel der digitalen Erfassung und Auswertung von analogen Daten nicht erreichbar. Neben individuell entwickelten Anwendungen lassen sich Low Code Plattformen nutzen, um ein vollständiges Szenario abzubilden. So können z.B. Power Apps die Erfassung und Speicherung der Formulare übernehmen. Die gespeicherten Formulare können mittels Logic Apps an den Form Recognizer zur Auswertung übergeben und die erkannten Daten gespeichert werden. Die Auswertung sowie weitergehende Analysen lassen sich im Anschluss sehr leicht mittels Power BI umsetzen. Die besten Ergebnisse sind momentan aber trotz allem mit individuellen Lösungen möglich. Diese können unter Nutzung von Microsoft Azure IoT Edge sogar lokal ausgeführt werden. So kann unter Nutzung von AIT Smart Edge sowie den von Microsoft bereitgestellten Docker Containern eine Verarbeitungskette bereitgestellt werden, die vollständig auf dem Edge-Device läuft. Wie schnell sich Lösungen mit dem Forms Recognizer bewerkstelligen lassen, konnten wir bereits im Mai 2019 bei Hack the wood-Hackathon von tapio und Microsoft zeigen. Mit der nun erfolgten Veröffentlichung des Dienstes steht einem Produktiveinsatz nichts mehr im Weg.
Gern helfen wir auch Ihnen bei der Digitalisierung Ihrer Prozesse und Wertschöpfungsketten.