Was ist Dokumentenverarbeitung?
Die Dokumentenverarbeitung ist der Prozess der Automatisierung der Extraktion strukturierter Daten aus Dokumenten. Dies kann für jedes Dokument gelten, z. B. eine Rechnung, einen Lebenslauf, Ausweise usw. Der herausfordernde Teil hier ist nicht nur die OCR. Es gibt viele kostengünstige Optionen, die Text extrahieren und Ihnen den Standort mitteilen können. Die eigentliche Herausforderung besteht darin, diese Textteile genau und automatisch zu beschriften.
Geschäftliche Auswirkungen der Dokumentenverarbeitung
Mehrere Branchen sind für ihre täglichen Abläufe stark auf die Dokumentenverarbeitung angewiesen. Finanzorganisationen benötigen Zugriff auf SEC-Unterlagen, Versicherungsunterlagen, ein E-Commerce- oder Lieferkettenunternehmen benötigt möglicherweise Zugriff auf Rechnungen, die verwendet werden, die Liste geht weiter. Die Genauigkeit dieser Informationen ist genauso wichtig wie die Zeitersparnis, weshalb wir immer empfehlen, fortschrittliche Deep-Learning-Methoden zu verwenden, die mehr verallgemeinern und genauer sind.
Laut diesem Bericht von PwC, [Link] Selbst die rudimentärste Menge an strukturierter Datenextraktion kann dazu beitragen, 30-50 % der Zeit zu sparen, die Mitarbeiter für das manuelle Kopieren und Einfügen von Daten aus PDFs in Excel-Tabellen aufwenden. Modelle wie LayoutLM sind sicherlich nicht rudimentär, sie wurden als äußerst intelligente Agenten entwickelt, die eine genaue Datenextraktion in großem Maßstab über verschiedene Anwendungsfälle hinweg ermöglichen. Selbst bei vielen unserer eigenen Kunden haben wir die für die manuelle Datenextraktion erforderliche Zeit von 20 Minuten pro Dokument auf weniger als 10 Sekunden gesenkt. Das ist eine massive Verschiebung, die es den Mitarbeitern ermöglicht, produktiver zu sein und insgesamt einen höheren Durchsatz zu erzielen.
Wo also kann KI ähnlich wie LayoutLM eingesetzt werden? Bei Nanonets haben wir diese Technologie für verwendet
- Rechnungsverarbeitung automatisieren
- Extraktion von Tabellendaten
- Formulardatenextraktion
- Parsing fortsetzen
und viele andere Anwendungsfälle.
Warum LayoutLM?
Wie versteht ein Deep-Learning-Modell, ob es sich bei einem bestimmten Textstück um eine Artikelbeschreibung in einer Rechnung oder um die Rechnungsnummer handelt? Vereinfacht gesagt: Wie lernt ein Model, Labels richtig zuzuweisen?
Eine Methode besteht darin, Texteinbettungen aus einem massiven Sprachmodell wie BERT oder GPT-3 zu verwenden und sie durch einen Klassifikator laufen zu lassen – obwohl dies nicht sehr effektiv ist. Es gibt viele Informationen, die man nicht rein anhand von Texten erfassen kann. Oder man könnte bildbasierte Informationen verwenden. Dies wurde durch die Verwendung von R-CNN- und Faster-R-CNN-Modellen erreicht. Damit werden die in den Dokumenten verfügbaren Informationen jedoch noch nicht vollständig ausgeschöpft. Ein anderer Ansatz war Graph Convolutional Neural Networks, der sowohl Standort- als auch Textinformationen kombinierte, aber keine Bildinformationen berücksichtigte.
Wie nutzen wir also alle drei Informationsdimensionen, dh den Text, das Bild und auch die Stelle des gegebenen Textes? Hier kommen Modelle wie LayoutLM ins Spiel. Obwohl LayoutLM viele Jahre zuvor ein aktives Forschungsgebiet war, war LayoutLM eines der ersten Modelle, das Erfolg hatte, indem es die Teile kombinierte, um ein einzelnes Modell zu erstellen, das die Beschriftung unter Verwendung von Positionsinformationen, textbasierten Informationen, und auch Bildinformationen.
LayoutLM-Tutorial
In diesem Artikel wird davon ausgegangen, dass Sie verstehen, was ein Sprachmodell ist. Wenn nicht, keine Sorge, Auch dazu haben wir einen Artikel geschrieben! Wenn Sie mehr darüber erfahren möchten, was Trafomodelle sind und worauf zu achten ist, klicken Sie hier ist ein erstaunlicher Artikel von Jay Alammar.
Angenommen, wir haben diese Dinge aus dem Weg geräumt, fangen wir mit dem Tutorial an. Wir werden das ursprüngliche LayoutLM-Papier als Hauptreferenz verwenden.
OCR-Textextraktion
Das allererste, was wir mit einem Dokument tun, ist, die textbasierten Informationen aus dem Dokument zu extrahieren und ihre jeweiligen Speicherorte zu finden. Mit Standort beziehen wir uns auf etwas, das als "Bounding Box" bezeichnet wird. Ein Begrenzungsrahmen ist ein Rechteck, das den Text auf der Seite einschließt.
In den meisten Fällen wird davon ausgegangen, dass der Begrenzungsrahmen seinen Ursprung in der oberen linken Ecke hat und dass die positive x-Achse vom Ursprung nach rechts auf der Seite und die positive y-Achse vom Ursprung nach gerichtet ist unten auf der Seite, wobei ein Pixel als Maßeinheit gilt.
Sprach- und Ortseinbettungen
Als nächstes verwenden wir fünf verschiedene Einbettungsschichten. Zum einen werden die sprachbezogenen Informationen – also Texteinbettungen – kodiert.
Die anderen vier sind für Standorteinbettungen reserviert. Unter der Annahme, dass wir die Werte von xmin, ymin, xmax und ymax kennen, können wir den gesamten Begrenzungsrahmen bestimmen (wenn du es dir nicht vorstellen kannst, hier ist ein link für dich). Diese Koordinaten werden durch ihre jeweiligen Einbettungsschichten geleitet, um Informationen für den Standort zu codieren.
Die fünf Einbettungen – eine für Text und vier für die Koordinaten – werden dann addiert, um den endgültigen Wert der Einbettung zu erstellen, der durch das LayoutLM geleitet wird. Die Ausgabe wird als LayoutLM-Einbettung bezeichnet.
Bildeinbettungen
Okay, wir haben es also geschafft, die text- und ortsbezogenen Informationen zu finden, indem wir ihre Einbettungen kombiniert und durch ein Sprachmodell geleitet haben. Wie umgehen wir nun den Prozess der Kombination von bildbezogenen Informationen darin?
Während die Text- und Layoutinformationen codiert werden, verwenden wir parallel Faster R-CNN, um die Textbereiche zu extrahieren, die sich auf das Dokument beziehen. Faster R-CNN ist ein Bildmodell, das zur Objekterkennung verwendet wird. In unserem Fall verwenden wir es, um verschiedene Textteile zu erkennen (vorausgesetzt, jede Phrase ist ein Objekt) und leiten dann die segmentierten Bilder durch eine vollständig verbundene Ebene, um auch Einbettungen für die Bilder zu generieren.
Die LayoutLM-Einbettungen sowie die Bildeinbettungen werden kombiniert, um eine endgültige Einbettung zu erstellen, die dann verwendet werden kann, um eine nachgelagerte Verarbeitung durchzuführen.
LayoutLM vor dem Training
All dies macht nur Sinn, wenn wir die Methode verstehen, in der LayoutLM trainiert wurde. Denn egal welche Art von Verbindungen wir in einem neuronalen Netz herstellen, solange es nicht mit dem richtigen Lernziel trainiert wird, ist es nicht ganz schlau. Die Autoren von LayoutLM wollten eine ähnliche Methode verfolgen, wie sie für das Vortraining von BERT verwendet wurde.
Maskiertes visuelles Sprachmodell (MVLM)
Um dem Modell zu helfen zu lernen, welcher Text an einem bestimmten Ort gewesen sein könnte, maskierten die Autoren zufällig einige Text-Tokens, während sie ortsbezogene Informationen und Einbettungen beibehielten. Dies ermöglichte es LayoutLM, über die einfache maskierte Sprachmodellierung hinauszugehen, und half dabei, Texteinbettungen auch mit ortsbezogenen Modalitäten zu verknüpfen.
Dokumentenklassifikation mit mehreren Etiketten (MDC)
Die Verwendung aller Informationen im Dokument, um es in Kategorien zu klassifizieren, hilft dem Modell zu verstehen, welche Informationen für eine bestimmte Klasse von Dokumenten relevant sind. Die Autoren weisen jedoch darauf hin, dass bei größeren Datensätzen Daten zu Dokumentklassen möglicherweise nicht ohne Weiteres verfügbar sind. Daher haben sie sowohl MVLM-Training allein als auch MVLM + MDC-Training als Ergebnisbasis bereitgestellt.
Feinabstimmung von LayoutLM für nachgelagerte Aufgaben
Es gibt mehrere nachgelagerte Aufgaben, die mit LayoutLM ausgeführt werden können. Wir werden diejenigen besprechen, die die Autoren unternommen haben.
Formularverständnis
Diese Aufgabe beinhaltet das Verknüpfen eines Etikettentyps mit einem bestimmten Textabschnitt. Damit können wir strukturierte Daten aus jeder Art von Dokument extrahieren. Angesichts der endgültigen Ausgabe, dh LayouLM-Einbettungen + Bildeinbettungen, werden sie durch eine vollständig verbundene Schicht und dann durch einen Softmax geleitet, um Klassenwahrscheinlichkeiten für die Bezeichnung eines bestimmten Textstücks vorherzusagen.
Empfangsverständnis
Bei dieser Aufgabe wurden mehrere Informationsfelder auf Belegen leer gelassen, und das Modell musste Textteile korrekt auf ihren jeweiligen Feldern positionieren.
Dokument-Image-Klassifizierung
Informationen aus Text und Bild des Dokuments werden kombiniert, um die Klasse des Dokuments zu verstehen, indem sie einfach durch eine Softmax-Schicht geleitet werden.
Huggingface-LayoutLM
Einer der Hauptgründe, warum LayoutLM so viel diskutiert wird, ist, dass das Modell vor einiger Zeit Open Source war. es ist verfügbar auf Hugging Face, daher ist die Verwendung von LayoutLM jetzt erheblich einfacher.
Bevor wir in die Einzelheiten eintauchen, wie Sie LayoutLM für Ihre eigenen Bedürfnisse optimieren können, gibt es ein paar Dinge zu beachten.
Bibliotheken installieren
Um LayoutLM auszuführen, benötigen Sie die Transformers-Bibliothek von Hugging Face, die wiederum von der PyTorch-Bibliothek abhängig ist. Um sie zu installieren (falls noch nicht installiert), führen Sie die folgenden Befehle aus
Auf Begrenzungsrahmen
Um unabhängig von der Bildgröße ein einheitliches Einbettungsschema zu erstellen, werden die Koordinaten des Begrenzungsrahmens auf eine Skala von 1000 normalisiert
Konfiguration
Mit der Klasse transformers.LayoutLMConfig können Sie die Größe des Modells so einstellen, dass es Ihren Anforderungen am besten entspricht, da diese Modelle normalerweise schwer sind und ziemlich viel Rechenleistung benötigen. Wenn Sie es auf ein kleineres Modell einstellen, können Sie es möglicherweise lokal ausführen. Du kannst erfahren Sie hier mehr über die Klasse.
LayoutLM für Dokumentenklassifizierung (Link)
Wenn Sie eine Dokumentenklassifizierung durchführen möchten, benötigen Sie die Klasse transformers.LayoutLMForSequenceClassification. Die Sequenz hier ist die Textsequenz aus dem Dokument, das Sie extrahiert haben. Hier ist ein kleines Codebeispiel von Hugging Face.co, das erklärt, wie man es benutzt
LayoutLM zur Textbeschriftung (Link)
Um ein semantisches Labeling durchzuführen, dh Labels zu verschiedenen Textstellen im Dokument zuzuweisen, benötigen Sie die Klasse transformers.LayoutLMForTokenClassification. Weitere Details finden Sie ggf hier gilt das gleiche.Hier ist ein kleines Codebeispiel, damit Sie sehen können, wie es für Sie funktionieren kann
Einige zu beachtende Punkte zum Hugging Face LayoutLM
- Derzeit verwendet das Hugging Face LayoutLM-Modell die Open-Source-Bibliothek Tesseract für die Textextraktion, die nicht sehr genau ist. Vielleicht möchten Sie ein anderes kostenpflichtiges OCR-Tool wie AWS Textract oder Google Cloud Vision verwenden
- Das vorhandene Modell stellt nur das Sprachmodell bereit, dh die LayoutLM-Einbettungen, und nicht die endgültigen Schichten, die visuelle Merkmale kombinieren. LayoutLMv2 (im nächsten Abschnitt besprochen) verwendet die Detectron-Bibliothek, um auch visuelle Feature-Einbettungen zu ermöglichen.
- Die Klassifizierung von Labels erfolgt auf Wortebene, sodass es wirklich Sache der OCR-Textextraktionsmaschine ist, sicherzustellen, dass alle Wörter in einem Feld in einer fortlaufenden Reihenfolge sind, oder ein Feld könnte als zwei vorhergesagt werden.
LayoutLMv2
LayoutLM war eine Revolution in der Art und Weise, wie Daten aus Dokumenten extrahiert wurden. Was die Deep-Learning-Forschung angeht, verbessern sich die Modelle jedoch mit der Zeit immer mehr. Auf LayoutLM folgte in ähnlicher Weise LayoutLMv2, bei dem die Autoren einige wesentliche Änderungen an der Art und Weise vornahmen, wie das Modell trainiert wurde.
Einschließlich räumlicher 1-D-Einbettungen und visueller Token-Einbettungen
LayoutLMv2 enthielt Informationen zur relativen 1-D-Position sowie allgemeine bildbezogene Informationen. Der Grund dafür ist wegen der neuen Trainingsziele, die wir jetzt besprechen werden
Neue Trainingsziele
LayoutLMv2 enthielt einige modifizierte Trainingsziele. Diese sind wie folgt:
- Masked Visual Language Modeling: Dies ist dasselbe wie in LayoutLM
- Text-Bild-Ausrichtung: Text wurde zufällig vom Bild verdeckt, während die Text-Tokens dem Modell zur Verfügung gestellt wurden. Für jeden Token musste das Modell lernen, ob der gegebene Text abgedeckt war oder nicht. Dadurch war das Modell in der Lage, Informationen aus visuellen und textuellen Modalitäten zu kombinieren
- Text Image Matching: Das Model wird gebeten zu prüfen, ob das vorgegebene Bild dem vorgegebenen Text entspricht. Negativproben werden entweder als Falschbilder eingespeist oder es werden gar keine Bildeinbettungen bereitgestellt. Dies geschieht, um sicherzustellen, dass das Modell mehr darüber erfährt, wie Text und Bilder zusammenhängen.
Mit diesen neuen Methoden und Einbettungen konnte das Modell bei fast allen Testdatensätzen höhere F1-Werte erzielen als LayoutLM.
- Über uns
- Zugang
- Konto
- genau
- erreicht
- über
- aktiv
- advanced
- Agenten
- AI
- Alle
- bereits
- Obwohl
- Betrag
- Ein anderer
- Ansatz
- Bereich
- um
- Artikel
- Autoren
- verfügbar
- AWS
- Grundlage
- Sein
- BESTE
- Bit
- Box
- Karten
- Fälle
- challenges
- Einstufung
- Cloud
- Code
- kombiniert
- Unternehmen
- Berechnen
- Konfiguration
- Verbindungen
- Berücksichtigung
- Kosten
- könnte
- Kunden
- technische Daten
- Tag
- Trotz
- Entdeckung
- DID
- anders
- Unterlagen
- nach unten
- e-commerce
- Effektiv
- ermöglichen
- etablieren
- Excel
- Gesicht
- beschleunigt
- Merkmal
- Eigenschaften
- Fed
- Revolution
- Vorname
- Folgende
- erzeugen
- GitHub
- Hilfe
- hilft
- hier
- Ultraschall
- Hilfe
- HTTPS
- Image
- Impact der HXNUMXO Observatorien
- wichtig
- zu unterstützen,
- inklusive
- Branchen
- Information
- Versicherung
- Intelligent
- IT
- Beschriftung
- Etiketten
- Sprache
- größer
- LERNEN
- lernen
- Niveau
- Bibliothek
- LINK
- Liste
- örtlich
- Standorte
- Standorte
- manuell
- massiv
- Abstimmung
- Materie
- Modell
- für
- vor allem warme
- Netzwerk
- Netzwerke
- XNUMXh geöffnet
- Open-Source-
- Einkauf & Prozesse
- Optionen
- Auftrag
- Organisationen
- Andere
- bezahlt
- Papier
- Stück
- Werkzeuge
- Prozessdefinierung
- bietet
- PWC
- Gründe
- empfehlen
- berichten
- falls angefordert
- Voraussetzungen:
- Forschungsprojekte
- Die Ergebnisse
- fortsetzen
- Führen Sie
- Skalieren
- Schema
- SEK
- Sinn
- kompensieren
- Einstellung
- verschieben
- signifikant
- ähnlich
- Einfacher
- Größe
- klein
- smart
- So
- etwas
- begonnen
- Erfolg
- liefern
- Supply Chain
- und Aufgaben
- Technologie
- Test
- Durch
- Zeit
- Zeichen
- Tokens
- Top
- Ausbildung
- verstehen
- -
- Nutzen
- Wert
- Was
- ob
- Worte
- Arbeiten
- Arbeiter
- Jahr