Wie wir neue Deep-Learning-Modelle für die Informationsextraktion aus Dokumenten entwickeln
Bei Gini sind wir immer bestrebt, unsere Informationsextraktions-Engine zu verbessern. Wir haben uns auf eine Reise begeben, um unser System mit der Entwicklung von Algorithmen des maschinellen Lernens (ML), insbesondere Deep Learning (DL) zu verbessern. Die Techniken, die wir verwenden, basieren sowohl auf dem Stand der Technik als auch unserer eigenen Forschung.
Für die Menge und Vielfalt der Dokumente, die wir erhalten, ist dies ein geeigneter Ansatz und besser zu warten als ein regelbasiertes System.
Wenn es um Machine Learning geht, ist eine große Menge an Daten entscheidend, um gute Modelle zu trainieren. Wir sind in der guten Ausgangslage, dass wir von unseren Partnern viele Rechnungen erhalten, die für diese Aufgabe ausreichen. In Bereichen, in denen wir andere Arten von Dokumenten verarbeiten, erhalten wir kleinere Datenmengen. Außerdem sind alle Daten, mit denen wir zu tun haben, als sensibel eingestuft, und wir halten uns an strenge Datenschutzrichtlinien nach ISO 27001-Standard. Um diese Herausforderung zu meistern, haben wir ein System zur Datengenerierung entwickelt und sind in der Lage, künstliche Daten zu erzeugen, die von echten Dokumenten (fast) nicht zu unterscheiden sind.
Unser Hauptziel war es, eine Machine Learning-Lösung zu entwickeln die in der Lage ist, Informationen aus strukturiertem Text zu extrahieren, welche noch besser funktioniert als unser aktuelles System, welches auf manuellen Regeln, regulären Ausdrücken und CRF-Modellen basiert.
Wir begannen unsere Forschung im Rahmen der Personal Invoice Assistant Academy, die sich auf die Informationsextraktion aus Rechnungen konzentriert, und wollten die Extraktion der Zahlungsempfänger verbessern. Wir formulierten das Problem so, dass wir Wörter danach klassifizieren wollten, ob sie Teil dieser Information sind oder nicht. Nachdem wir die Daten untersucht hatten, wählten wir eine Reihe von Merkmalen aus, die diese Wörter aufweisen (z. B. ihre Position auf dem Dokument oder ob sie wiederholt auf dem Dokument erscheinen).
Die ersten Ansätze mit einem einfachen Feed-Forward-Netz funktionierten nicht besser als unser bereits vorhandenes System auf Basis von CRFs, Regeln und regulären Ausdrücken.
Dies veranlasste uns, komplexere Architekturen zu erforschen. Da es sich bei den Informationen auf den Dokumenten meist um sequenziellen Text handelt, schien es logisch, rekurrente neuronale Netze (RNNs) einzusetzen, die bekanntermaßen gut mit sequenziellen Informationen umgehen können. Unsere Experimente bestätigten diese Hypothese. Allerdings sind RNNs typischerweise langsamer zu trainieren, da sie sequenziell arbeiten und nicht parallelisiert werden können. Um dies in Zukunft zu überwinden, werden wir weiterhin mit anderen Architekturen experimentieren und die Forschung der Community aufmerksam verfolgen. In letzter Zeit mehren sich die Hinweise, dass andere DL-Methoden in der Lage sind, sequenzielle Daten gut zu verarbeiten. (Interessante Arbeiten zu diesem Thema findest Du hier oder in Bai, et al. 2018.)
Vorerst haben wir, basierend auf vielen Experimenten, eine Erweiterung des im Paper Neural Architectures for Named Entity Recognition vorgestellten State of the Art NER-Systems entwickelt. In einem ersten Schritt wandeln wir Wörter in Vektoren um, indem wir sie in einer Embedding-Tabelle nachschlagen. Wörter, die wir noch nicht gesehen haben und für die es keine Embeddings gibt, werden auf denselben Vektor abgebildet. Um mit solchen Fällen besser umgehen zu können, werden die Zeichensequenzen dieser Wörter von einem bidirektionalen LSTM (BiLSTM, eine populäre Instanz von RNNs, die Sequenzen in beide Richtungen – vorwärts und rückwärts – liest) gelesen, und so eine zusätzliche Repräsentation des Wortes aufgebaut. Bei deutschem Text ist das Modell z.B. in der Lage, Wörter, die auf „straße“, „weg“ oder „gasse“ enden, als Straßennamen zu klassifizieren, ohne das eigentliche Wort jemals zuvor gesehen zu haben. Dieser Schritt hilft auch beim Umgang mit OCR-Fehlern, da die endgültige Berechnung der Darstellung eines Wortes tolerant gegenüber Abweichungen von wenigen Zeichen ist. Zusätzlich zum reinen Text liefern wir Positionsinformationen zu jedem Wort, um die 2D-Struktur von Dokumenten zu modellieren. Nach Anwendung eines weiteren BiLSTM sagt ein abschließendes CRF-Layer die Klasse eines Wortes voraus, d. h. ob es Teil einer bestimmten gesuchten Information ist.

Architektur des für die Informationsextraktion verwendeten Modells
. . .
In der Application Handling Academy, die viel mit Gehaltsabrechnungen zu tun hat, konnten wir eine Verbesserung der Extraktionsgenauigkeit für mehrere Felder erreichen.
Bei einem Satz von 100 Gehaltsabrechnungen haben wir die folgenden Genauigkeitsraten bei der Extraktion erreicht. Beachte, dass einige der Informationen möglicherweise nicht auf allen Dokumenten vorhanden sind und leere Extraktionen für diese korrekt sind.
Der größte Leistungsanstieg ist bei arbeitgeberbezogenen Feldern zu beobachten. Wir führen dies auf die Stärke des Modells bei der Erkennung von feststehenden Begriffen wie Städten und Straßennamen zurück.
Wir sind von den bisherigen Ergebnissen begeistert und freuen uns auf die weitere Entwicklung und darauf, bald mehr unserer DL-Modelle in Produktion zu bringen.
Ein weiteres wichtiges Ergebnis unserer Forschung ist, dass die Einbeziehung von künstlich erzeugten Dokumenten für das Training unserer Modelle wirklich hilft. Im Durchschnitt führt eine Vergrößerung des Trainingsdatensatzes um 30 % mit künstlichen Daten zu einer Verbesserung der Extraktionsgenauigkeit um 7,9 Prozentpunkte im Vergleich zu dem Datensatz, der nur aus echten Dokumenten besteht. Bei einer Verdopplung der Größe des Trainingsdatensatzes mit generierten Dokumenten sehen wir eine Steigerung um durchschnittlich 9,3 Prozentpunkte. Die Erkenntnis, dass sich größere Trainingssätze positiv auf die Leistung auswirken, ist an sich nicht neu. Die gute Nachricht ist, dass die Beschaffung der notwendigen Daten für uns ein gelöstes Problem ist.
Dazu muss man beachten, dass wir für Bilddaten eine OCR-Engine verwenden, um maschinenlesbaren Text zu erhalten, was die Rechenkosten erhöht. Der OCR-Schritt ist jedoch nicht für alle Anwendungsfälle notwendig, und visuelle Informationen können ebenfalls zur Verbesserung der Extraktionsqualität beitragen. Aus diesem Grund forschen wir auch an End-to-End-Ansätzen, die Informationen direkt aus den Eingabebildern extrahieren und den OCR-Schritt überspringen. Mehr zu diesem Thema folgt in einem der nächsten Beiträge.
. . .
Wenn Du bis hierher gelesen hast, schau Dir unsere offenen Stellen an. Wir sind immer auf der Suche nach exzellenten Experten, die sich uns anschließen möchten!
Wir bei Gini möchten mit unseren Beiträgen, Artikeln, Leitfäden, Whitepaper und Pressemitteilungen alle Menschen erreichen. Deshalb betonen wir, dass sowohl weibliche, männliche als auch anderweitige Geschlechteridentitäten dabei ausdrücklich angesprochen werden. Sämtliche Personenbezeichnungen beziehen sich auf alle Geschlechter, auch dann, wenn in Inhalten das generische Maskulinum genutzt wird.