- Überblick
- Document Understanding-Prozess
- Schnellstart-Tutorials
- Framework-Komponenten
- ML-Pakete
- Pipelines
- Dokumentmanager
- OCR-Dienste
- Document Understanding – in der Automation Suite bereitgestellt
- Document Understanding – im eigenständigen AI Center bereitgestellt
- Deep Learning
- Training von leistungsstarken Modellen
- Lizenzierung
- Referenzen
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.IntelligentOCR.Aktivitäten (UiPath.IntelligentOCR.Activities)
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.DocumentProcessing.Contracts
- UiPath.Omnipage.Activities
- UiPath.PDF.Aktivitäten (UiPath.PDF.Activities)
Training von leistungsstarken Modellen
Die Leistungsfähigkeit von Machine Learning-Modellen besteht darin, dass sie durch Trainingsdaten und nicht durch explizite Logik im Computercode definiert werden. Das bedeutet, dass bei der Vorbereitung von Datasets eine besondere Vorsicht geboten ist, da ein Modell nur so gut ist wie das Dataset, mit dem es trainiert wurde. Während also UiPath Studio für RPA-Workflows zuständig ist, dient der Document Manager für Machine Learning. Beide erfordern für einen effektiven Einsatz ein gewisses Maß an Erfahrung.
Ein ML-Modell kann Daten aus einem einzelnen Dokumenttyp extrahieren, obwohl es mitunter in mehreren verschiedenen Sprachen verfasst ist. Es ist wichtig, dass jedes Feld (Gesamtbetrag, Datum usw.) stets dieselbe Bedeutung hat. Wenn es für einen Menschen nicht eindeutig ist, wird es auch das ML-Modell unklar sein.
Manchmal ist nicht alles so eindeutig. Ist z. B. eine Betriebskostenabrechnung eine von vielen Rechnungsarten? Oder sind es zwei verschiedene Dokumenttypen, die zwei verschiedene ML-Modelle erfordern? Wenn die Felder, die Sie extrahieren müssen, identisch sind (d. h. sie haben die gleiche Bedeutung), können Sie sie als einzelnen Dokumenttyp behandeln. Wenn Sie jedoch aus unterschiedlichen Gründen (unterschiedliche Geschäftsprozesse) unterschiedliche Felder extrahieren müssen, ist das ein Hinweis darauf, dass Sie sie möglicherweise als zwei verschiedene Dokumenttypen behandeln und daher zwei verschiedene Modelle trainieren sollten.
Wenn Sie sich unsicher sind, beginnen Sie mit dem Training eines einzelnen Modells. Halten Sie die Dokumente jedoch in verschiedenen Document Manager-Batches getrennt (siehe „Filter“-Dropdownmenü oben in der Mitte der Document Manager-Ansicht), damit Sie sie bei Bedarf später einfach trennen können. Auf diese Weise geht der Beschriftungsfortschritt nicht verloren. Bei ML-Modellen gilt: je mehr Daten, desto besser. Ein einzelnes Modell mit umfangreichen Daten ist also ein guter Anfang.
Der Document Manager kann verwendet werden, um zwei Arten von Datasets zu erstellen: Trainings-Datasets und Auswertungs-Datasets. Beide sind für die Erstellung eines leistungsstarken ML-Modells unerlässlich. Sie müssen Zeit und Aufwand für die Erstellung und Pflege von beiden budgetieren. Sie bekommen kein leistungsstarkes ML-Modell ohne ein Auswertungs-Dataset, das für den Datenverkehr des Produktionsdokuments repräsentativ ist.
Jeder -Typ wird auf eine andere Weise beschriftet:
-
Trainings-Datasets basieren nur auf den Begrenzungsfeldern der Wörter auf der Seite, die die verschiedenen Informationen darstellen, die Sie extrahieren müssen.
- Bei der Beschriftung eines Trainingssatzes konzentrieren Sie sich nur auf die Seite selbst und die Wortfelder.
-
Auswertungs-Datasets nutzen nur die Werte der Felder, die in der Seitenleiste (für reguläre Felder) oder in der oberen Leiste (für Spaltenfelder) angezeigt werden.
- Bei der Beschriftung eines Auswertungssatzes konzentrieren Sie sich auf die Werte unter den Feldnamen in der Seitenleiste oder in der oberen Leiste. Das bedeutet nicht, dass Sie sie manuell eingeben müssen, was anfällig für Fehler ist. Daher wird weiterhin empfohlen, sie durch Anklicken der Felder auf der Seite zu beschriften. Stellen Sie jedoch sicher, dass die Werte korrekt sind.
Ausführliche Informationen zur Durchführung der richtigen Auswertungen finden Sie unten.
Die Datenextraktion basiert auf den folgenden Komponenten:
- Optical Character Recognition (OCR)
-
Erkennen von Wörtern und Zeilen
- Die Gruppierung von Zeichen zu Wörtern und Wörter zu Textzeilen von links nach rechts
- Vorhersage des Machine Learning-Modells für jedes Wort/Feld auf der Seite
-
Bereinigung, Analyse und Formatierung der Textabschnitte
- Zum Beispiel Gruppieren von Wörtern auf mehreren Zeilen in eine Adresse, Formatieren eines Datums in das Standardformat yyyy-mm-dd
-
Anwenden eines Algorithmus zur Auswahl, welcher Wert zurückgegeben wird
- Für die Fälle, in denen das Dokument 2 oder mehr Seiten hat und einige Felder auf mehreren Seiten vorkommen
Um das beste Ergebnis in Bezug auf die Automatisierungsrate zu erzielen (prozentuale Verringerung der manuellen Arbeitszeit in Monaten pro Jahr, die für die Verarbeitung Ihres Dokumentflusses erforderlich sind), müssen Sie die folgenden Schritte sorgfältig ausführen:
-
Die geeignetste OCR-Engine für Ihre Dokumente wählen
- Dies beeinflusst sowohl die OCR als auch die Erkennung von Wörtern und Zeilen (was teilweise von der OCR abhängt) und natürlich alles darauf Folgende.
- Ein ausgewogenes und repräsentatives Dataset für das Training wählen
- Ein repräsentative Dataset für die Auswertung wählen
- Die zu extrahierenden Felder definieren
- Die Felder konfigurieren
- Das Trainings-Dataset beschriften
- Das Auswertungs-Dataset beschriften
- Das Modell im AI Center trainieren und auswerten
- Definieren und Implementieren der Geschäftsregeln für die Ausgabe von Verarbeitungsmodellen
- Konfidenz-Schwellenwert(e) für die Extraktion auswählen (optional)
- Training mit Daten aus der Validation Station
- Die Schleife für die automatische Feinabstimmung (Vorschau)
- Die Automatisierung bereitstellen
Um eine OCR-Engine auszuwählen, müssen Sie unterschiedliche Document Manager-Sitzungen erstellen, verschiedene OCR-Engines konfigurieren und versuchen, dieselben Dateien in jede von ihnen zu importieren, um Unterschiede zu untersuchen. Sie sollten sich auf die Bereiche konzentrieren, die Sie extrahieren möchten. Wenn Sie beispielsweise Firmennamen extrahieren müssen, die Teil von Logos auf Rechnungen sind, interessiert Sie vielleicht, welche OCR-Engine mit dem Text in Logos besser umgehen kann.
Ihre Standardoption sollte UiPath Dokument OCR sein, da es kostenlos in Document Understanding-Lizenzen enthalten ist. In Fällen, in denen jedoch einige nicht unterstützte Sprachen erforderlich sind oder einige sehr schwer lesbare Dokumente beteiligt sind, könnten sich die Google Cloud (nur Cloud) oder Microsoft Read (Cloud oder lokal) als hilfreich erweisen, da sie eine bessere Sprachunterstützung haben. Diese Engines kosten etwas (allerdings nicht viel), es wird jedoch dringend empfohlen, die besten verfügbaren OCR zu verwenden, wenn eine höhere Genauigkeit bei einigen kritischen Datenfeldern für Ihren Geschäftsprozess erforderlich ist – sie können sich später als überaus nützlich erweisen, da alle Folgeprozesse davon abhängen.
Beachten Sie, dass bei der Aktivität Digitize Document standardmäßig die Einstellung ForceApplyOCR auf False festgelegt ist, was beim Arbeiten mit PDFs bedeutet, dass die OCR-Engine standardmäßig überhaupt nicht verwendet wird und der Text bei nativen PDF-Dokumenten direkt aus dem PDF-Dokument extrahiert wird. Viele native PDF-Dateien enthalten jedoch Logos oder sogar Kopfzeilen oder Fußzeilen, die nicht erkannt werden. Diese können Angaben zum Unternehmen enthalten, z. B. Name, Adresse, Umsatzsteuernummer oder Zahlungsinformationen, die in Geschäftsprozessen sehr relevant sind. Ist das in Ihrem Prozess der Fall, legen Sie ForceApplyOCR auf True fest, um sicherzustellen, dass der gesamte Text erkannt wird, was allerdings Ihren Prozess verlangsamen könnte.
Machine Learning-Technologie ist vor allem zur Lösung komplexer, vielfältiger Probleme hilfreich. Bei der Schätzung der Größe eines Trainings-Datasets wird zuerst die Anzahl der Felder und deren Typen sowie die Anzahl der Sprachen betrachtet. Ein einzelnes Modell kann mehrere Sprachen verarbeiten, solange sie nicht Chinesisch/Japanisch/Koreanisch sind. In diesen Fällen sind grundsätzlich eigene Trainings-Datasets und Modelle erforderlich.
Es gibt 3 Arten von Feldern:
- Reguläre Felder (Datum, Gesamtbetrag)
- Für reguläre Felder benötigen Sie mindestens 20–50 Beispiele pro Feld. Wenn Sie also 10 reguläre Felder extrahieren müssen, benötigen Sie mindestens 200–500 Beispiele. Wenn Sie 20 reguläre Felder extrahieren müssen, benötigen Sie mindestens 400–1000 Beispiele. Die Anzahl der benötigten Beispiele erhöht sich mit der Anzahl der Felder. Weitere Felder bedeutet, dass Sie mehr Beispiele benötigen, ca. 20–50-mal mehr.
- Spaltenfelder (Stückpreis, Liefermenge)
- Für Spaltenfelder benötigen Sie mindestens 50–200 Beispiele je Spaltenfeld, sodass Sie für 5 Spaltenfelder mit sauberen und einfachen Layouts mit 300 Beispielen gute Ergebnisse erzielen können. Für sehr komplexe mit unterschiedlichen Layouts benötigen Sie jedoch möglicherweise mehr als 1000. Um mehrere Sprachen zu bewältigen, benötigen Sie mindestens 200–300 Beispiele pro Sprache, vorausgesetzt, sie decken alle verschiedenen Felder ab. Für 10 Headerfelder und 4 Spaltenfelder mit 2 Sprachen können 600 Beispiele ausreichen (400 für die Spalten und Header plus 200 für die zusätzliche Sprache), aber in einigen Fällen können 1200 oder mehr erforderlich sein.
- Klassifizierungsfelder (Währung)
- Klassifizierungsfelder erfordern in der Regel mindestens 10–20 Beispiele aus jeder Klasse.
Die obigen Hinweise gelten für ein Szenario mit hoher Vielfalt (mit Rechnungen oder Bestellungen mit Dutzenden bis Hunderten oder Tausenden von Layouts). Wenn Sie ein Szenario mit geringer Vielfalt behandeln, z. B. ein Steuerformular oder Rechnungen mit sehr wenigen Layouts (unter 5–10), dann wird die Dataset-Größe stärker durch die Anzahl der Layouts bestimmt. In diesem Fall sollten Sie mit 20–30 Seiten pro Layout beginnen und bei Bedarf weitere hinzufügen – insbesondere dann, wenn die Seiten sehr dicht beschrieben sind (d. .h eine große Anzahl von zu extrahierenden Feldern aufweisen). Zum Beispiel kann das Erstellen eines Modells zum Extrahieren von 10 Feldern aus 2 Layouts 60 Seiten erfordern, aber wenn Sie 50 oder 100 Felder aus 2 Layouts extrahieren müssen, dann können Sie mit 100 oder 200 Seiten beginnen und nach Bedarf mehr hinzufügen, um die gewünschte Genauigkeit zu erzielen. In diesem Fall ist die Unterscheidung regulärer Felder/Spaltenfelder weniger wichtig.
Zudem gehen diese Schätzungen davon aus, dass die meisten Seiten alle oder die meisten Felder enthalten. In Fällen, in denen Sie Dokumente mit mehreren Seiten haben, die meisten Felder aber auf einer einzigen Seite sind, dann entspricht die Anzahl von Seiten der Anzahl der Beispiele dieser einen Seite, auf der die meisten Felder erscheinen.
Die obigen Zahlen sind allgemeine Werte zur Orientierung, keine strikten Anforderungen. Im Allgemeinen können Sie mit einem kleineren Dataset beginnen und dann weiter Daten hinzufügen, bis Sie eine gute Genauigkeit erhalten. Dies ist besonders nützlich, um die RPA mit der Modellerstellung zu parallelisieren. Außerdem kann eine erste Version des Modells verwendet werden, um zusätzliche Daten vorzubeschriften (siehe Ansicht Einstellungen und Schaltfläche Vorhersage im Document Manager), was die Beschriftung zusätzlicher Trainingsdaten beschleunigen kann.
Deep-Learning-Modelle können verallgemeinern
Nicht jedes einzelne Layout muss in einem Trainingssatz dargestellt werden. Tatsächlich ist es möglich, dass die meisten Layouts in unserem Produktions-Dokumentenfluss keine Beispiele in Ihrem Trainingssatz haben oder vielleicht nur 1 oder 2. Das ist wünschenswert, da die Leistungsfähigkeit der KI genutzt werden soll, um die Dokumente zu verstehen und in der Lage zu sein, korrekte Vorhersagen für Dokumente zu treffen, die sie während des Trainings nicht gesehen hat. Eine große Anzahl von Beispielen pro Layout ist nicht obligatorisch, da die meisten Layouts entweder überhaupt nicht oder nur 1- oder 2-mal vorhanden sind und das Modell basierend auf dem Lernen von anderen Layouts weiterhin korrekt vorhersagen kann.
Training über ein sofort einsetzbares Modell
Eine allgemeine Situation ist das Extrahieren von Daten aus Rechnungen, aber Sie haben auch 2 weitere reguläre Felder und 1 weiteres Spaltenfeld, das das out-of-the-box Modell „Invoices“ nicht erkennt. In diesem Fall benötigen Sie einen Trainingssatz mit 50 Beispielen pro neuem regulären Feld und mindestens 100 Beispielen pro neuem Spaltenfeld. 200 Seiten sind also ein guter Anfang. Dies ist normalerweise ein viel kleineres Dataset, als wenn Sie alle Felder von Grund auf trainiert haben.
Diese 200 Seiten müssen vollständig beschriftet werden, einschließlich der neuen Felder, die das out-of-the-box Modell nicht erkennt, und der restlichen Felder, die das out-of-the-box Modell erkennt.
Ungleiche Feldvorkommen
Einige Felder können in jedem Dokument vorkommen (z. B. Datum, Rechnungsnummer), während einige Felder möglicherweise nur auf 10 % der Seiten erscheinen (z. B. Bearbeitungskosten, Versand). In diesen Fällen müssen Sie eine Geschäftsentscheidung treffen. Wenn diese seltenen Felder für Ihre Automatisierung nicht wichtig sind, kann eine kleine Anzahl von Beispielen (10–15) dieses bestimmten Felds reichen, d. h. Seiten, die einen Wert für dieses Feld enthalten. Wenn diese Felder jedoch kritisch sind, müssen Sie sicherstellen, dass Sie in Ihrem Trainingssatz mindestens 30–50 Beispiele dieses Felds angeben, um sicherzustellen, dass die gesamte Vielfalt abgedeckt wird.
Ausgewogene Datasets
Wenn ein Dataset Rechnungen von 100 Anbietern enthält, aber die Hälfte des Datasets nur aus Rechnungen von 1 einzigen Anbieter besteht, dann ist dies ein sehr unaustariertes Dataset. In einem perfekt ausgewogenen Dataset erscheint jeder Anbieter gleich oft. Datasets müssen nicht perfekt austariert sein, aber Sie sollten vermeiden, mehr als 20 % Ihres gesamten Datasets von einem einzigen Anbieter zu kommen. Irgendwann hilft ein Mehr an Daten nicht mehr und wirkt sich möglicherweise sogar auf die Genauigkeit bei anderen Anbietern aus, da das Modell zu sehr für einen Anbieter optimiert wird (overfit).
Repräsentative Datasets
Daten sollten so ausgewählt werden, dass sie die Vielfalt der Dokumente abdecken, die im Produktionsworkflow wahrscheinlich vorhanden ist. Wenn Sie beispielsweise Rechnungen auf Englisch erhalten, aber einige von ihnen aus den USA, Indien und Australien stammen, sehen sie wahrscheinlich anders aus, also müssen Sie sicherstellen, dass Sie Beispiele von allen dreien haben. Dies ist nicht nur für das Modelltraining selbst relevant, sondern auch für Beschriftungszwecke, da Sie beim Beschriften der Dokumente möglicherweise feststellen, dass Sie neue, verschiedene Felder bei einigen dieser Regionen extrahieren müssen, z. B. GSTIN-Code bei Indien oder ABN-Code bei Australien. Weitere Informationen finden Sie im Abschnitt Felder definieren.
Während bei Trainingssätzen die Seiten und die Anzahl der Seiten die wichtigsten sind, beziehen wir uns bei Auswertungssätzen nur auf Dokumente und die Anzahl der Dokumente. Die Ergebnisse für Versionen 2021.10 und höher werden pro Dokument berechnet.
Auswertungsdatensätze können kleiner sein. Sie können 50–100 Dokumente umfassen (oder sogar nur 30–50 bei geringer Vielfalt) und sie können im Laufe der Zeit auf einige hundert Dokumente wachsen. Es ist wichtig, dass sie für den Produktionsdatenfluss repräsentativ sind. Ein guter Ansatz besteht also darin, zufällig aus den im RPA-Workflow verarbeiteten Dokumenten auszuwählen. Auch wenn einige Anbieter überrepräsentiert werden, ist das in Ordnung. Wenn z. B. ein einzelner Anbieter 20 % Ihres Rechnungsdatenverkehrs ausmacht, ist es in Ordnung, dass dieser Anbieter auch 20 % Ihrer Auswertungssätze ausmacht, sodass die Auswertungsmetriken Ihrer Geschäftsmetrik entsprechen, d. h. der Verringerung der Arbeitszeit in Monaten, die für die manuelle Dokumentenverarbeitung aufgewendet wird.
Beim Importieren von Auswertungsdaten in den Document Manager müssen Sie sicherstellen, dass Sie im Dialogfenster für den Import das Kontrollkästchen Zu einem Auswertungssatz machen aktivieren. Auf diese Weise gewährleisten Sie, dass die Daten beim Training herausgehalten werden. Sie können sie auch einfach für die Ausführung von Auswertungen exportieren, indem Sie die Auswertungssatzoption im Dropdownmenü für Filter im Document Manager verwenden.
Wie Felder definiert werden, muss mit dem/der Zuständigen für das jeweilige Thema besprochen werden. Bei Rechnungen etwa ist der Zuständige für Konten mit Fähigkeiten. Das zu besprechen ist äußerst wichtig. Es muss vor der Beschriftung von Dokumenten erfolgen, um Zeitverschwendung zu vermeiden und erfordert zusammen mindestens 20 zufällig ausgewählte Dokumentenbeispiele. Dafür muss ein Ein-Stunden-Slot reserviert werden, der oft nach ein paar Tagen wiederholt werden muss, wenn die Person, die die Daten vorbereitet, mehrdeutige Situationen oder Randfälle erlebt.
Nicht selten wird am Anfang angenommen, dass 10 Felder extrahiert werden müssen, am Ende sind es aber 15. Einige Beispiele werden in den Unterabschnitten unten beschrieben.
Einige wichtige Konfigurationen, die Sie kennen müssen:
- Inhaltstyp
- Dies ist die wichtigste Einstellung, da sie die Nachverarbeitung der Werte bestimmt, insbesondere für Datumsangaben (erkennt, ob das Format im US- oder nicht-US-Format ist, und formatiert sie dann im Format yyyy-mm-dd) und für Zahlen (erkennt das Dezimaltrennzeichen – Komma oder Punkt). Identifikationsnummern löschen alle Inhalte vor einem Doppelpunkt oder Rautensymbol. Strings führen keine Bereinigung durch und können verwendet werden, wenn Sie Ihre eigene Analyse im RPA-Workflow durchführen möchten.
- Mehrzeiliges Kontrollkästchen
- Dies ist zum Analysieren von Zeichenfolgen wie Adressen, die sich auf mehrere Zeilen erstrecken können.
- Ausgeblendete Felder
- Felder, die als ausgeblendet markiert sind, können beschriftet werden, werden aber beim Exportieren von Daten zurückgehalten, sodass das Modell nicht darauf trainiert wird. Dies ist praktisch, wenn die Beschriftung eines Felds ausgeführt wird, wenn es zu selten ist oder wenn es eine geringe Priorität hat.
- Punktzahl
- Das ist nur für Auswertungspipelines relevant und wirkt sich auf die Berechnung der Genauigkeitspunktzahl aus. Ein Feld, das die Levenshtein-Bewertung verwendet, lässt mehr zu: Wenn ein einzelnes Zeichen von 10 falsch ist, beträgt die Punktzahl 0,9. Eine Exact Match-Bewertung ist strikter: Ein einzelnes Zeichen, das falsch ist, ergibt eine Punktzahl von null. Alle Felder sind standardmäßig „Exact Match“. Nur für Felder vom Typ „String“ kann die „Levenshtein“-Bewertung ausgewählt werden.
Beträge auf Betriebskostenabrechnungen
Ein Gesamtbetrag mag aussagekräftig genug erscheinen, aber Betriebskostenabrechnungen enthalten viele Beträge. Manchmal benötigen Sie den zu zahlenden Gesamtbetrag, andere Male benötigen Sie nur den aktuellen Rechnungsbetrag – ohne die Beträge, die aus früheren Rechnungsperioden übertragen wurden. Im letzteren Fall müssen Sie anders beschriften, auch wenn die aktuelle Rechnung und der Gesamtbetrag identisch sein können. Die Betragsarten unterscheiden sich und die Beträge sind oft unterschiedlich.
Darüber hinaus kann der aktuelle Rechnungsbetrag manchmal aus einigen verschiedenen Beträgen, Zahlungen und Steuern bestehen und erscheint nirgendwo auf der Rechnung isoliert. Eine mögliche Lösung hierfür ist die Erstellung von zwei Feldern: einem Feld mit vergangenen Kosten und einem Feld für die Gesamtsumme. Diese beiden erscheinen immer als eindeutige explizite Werte auf der Betriebskostenabrechnung. Dann kann der aktuelle Rechnungsbetrag als Differenz zwischen den beiden ermittelt werden. Sie könnten sogar alle drei Felder(vergangene Kosten, Gesamtbetrag und aktuelle Kosten) verwenden, um Konsistenzprüfungen durchführen zu können, wenn der aktuelle Rechnungsbetrag explizit im Dokument angezeigt wird. Sie können also in einigen Fällen von einem auf drei Felder wechseln.
Bestellnummern auf Rechnungen
Auftragsnummern können als einzelne Werte für eine Rechnung angezeigt werden, oder sie erscheinen möglicherweise als Teil der Tabelle der Positionen auf einer Rechnung, bei denen jede Position eine andere Auftragsnummer hat. In diesem Fall könnte es sinnvoll sein, zwei verschiedene Felder zu haben: po-no (Auftragsnummer) und item-po-no (Position Auftragsnummer). Wenn jedes Feld visuell und visuell konsistent bleibt, wird das Modell wahrscheinlich viel besser funktionieren. Sie müssen jedoch sicherstellen, dass beide in Ihren Trainings- und Auswertungs-Datasets gut dargestellt sind.
Lieferantenname und Zahlungsadresse auf Rechnungen
Der Name des Unternehmens erscheint normalerweise oben auf einer Rechnung oder einer Betriebskostenabrechnung, aber manchmal ist er möglicherweise nicht lesbar, da es nur ein Logo gibt und der Name des Unternehmens nicht explizit ausgeschrieben ist. Oder es gibt einen Stempel, eine handschriftliche Notiz oder eine andere Art Text. In diesen Fällen können Personen den Namen, der unten rechts im Abschnitt mit dem Zahlungsempfänger auf dem Überweisungsschein für Betriebskostenabrechnungen angezeigt wird, beschriften. Dieser Name ist oft derselbe, aber nicht immer, da es sich um ein anderes Konzept handelt. Zahlungen können an eine andere Mutter-, Holding-oder verbundene Unternehmen erfolgen, bei denen sich das Dokument visuell unterscheidet. Dies kann zu einer schlechteren Modellleistung führen. In diesem Fall benötigen Sie 2 Felder, vendor-name (Lieferantenname) und payment-addr-name (Lieferantenadresse). Dann können Sie sowohl in einer Lieferantendatenbank nachschlagen und denjenigen verwenden, der übereinstimmt, oder nur payment-addr-name verwenden, wenn der Lieferantenname fehlt.
Tabellenzeilen
Es gibt zwei verschiedene Konzepte zu beachten: Tabellenzeilen und Textzeilen. Eine Tabellenzeile enthält alle Werte aller Spaltenfelder, die in dieser Zeile zusammen gehören. Manchmal sind sie alle Teil derselben Textzeile auf einer Dokumentenseite. Manchmal erstrecken sie sich über mehrere Zeilen.
Wenn eine Tabellenzeile aus mehr als einer Textzeile besteht, müssen Sie alle Werte in dieser Tabellenzeile mit dem Hotkey „/“ gruppieren. Dabei wird ein grünes Feld für die gesamte Tabellenzeile angezeigt. Hier ist ein Beispiel für eine Tabelle, in der die ersten 2 Zeilen aus mehreren Textzeilen bestehen und mit dem Hotkey „/“ gruppiert werden müssen, während die dritte Zeile eine einzelne Textzeile ist und nicht gruppiert werden muss.
Hier ein Beispiel für eine Tabelle, in der jede Tabellenzeile aus einer einzelnen Textzeile besteht. Sie müssen diese nicht mit dem Hotkey „/“ gruppieren, da dies implizit durch den Document Manager geschieht.
Elemente aufteilen
Elemente aufteilen ist eine Einstellung, die nur für Spaltenfelder angezeigt wird, und sie hilft dem Modell zu wissen, wann eine Position endet und eine andere beginnt. Als Mensch, der sich ein Dokument anschaut, um zu sagen, wie viele Zeilen es gibt, schauen Sie wahrscheinlich, wie viele Beträge auf der rechten Seite vorhanden sind. Jeder Betrag bezieht sich im Allgemeinen auf eine Position. Dies ist ein Hinweis darauf, dass der line-amount (Zeilenbetrag) eine Spalte ist, in der Sie Elemente aufteilen aktivieren sollten. Andere Spalten können ebenfalls markiert werden, falls die OCR den Zeilenbetrag verfehlt oder das Modell ihn nicht erkennt: Menge und Stückpreis werden in der Regel auch als „Elemente aufteilen“ markiert.
Die wichtigste Konfiguration ist der Inhaltstyp, mit Ausnahme von String:
- Nummer
- Datum
- Telefon
- Identifikationsnummer
Diese wirken sich auf die Nachbearbeitung aus, insbesondere auf die Bereinigung, die Analyse und die Formatierung. Am komplexesten ist die Datumsformatierung, aber auch die Zahlenformatierung erfordert die Bestimmung der Dezimal- und Tausendertrennzeichen. Wenn die Analyse fehlschlägt, besteht in einigen Fällen die Option, das Problem dem Support von UiPath zu melden und auf den Inhaltstyp String zurückzugreifen, der keine Analysen vornimmt. In diesem Fall müssten Sie den Wert in Ihrer RPA-Workflow-Logik analysieren.
Eine weitere relevante Konfiguration ist das mehrzeilige Kontrollkästchen, das hauptsächlich für String-Typfelder relevant ist. Immer wenn ein anderes Feld unerwartete Ergebnisse oder keine Ergebnisse liefert, müssen Sie zuerst versuchen, es in ein mehrzeiliges String-Feld zu ändern, um die unveränderte Ausgabe der Modellvorhersage anzuzeigen.
Beim Beschriften von Trainingsdaten müssen Sie sich auf die Begrenzungsfelder der Wörter im Dokumentbereich des Document Managers konzentrieren. Die geparsten Werte in den Seitenleisten rechts bzw. oben sind nicht wichtig, da sie nicht für das Training verwendet werden.
Immer wenn ein Feld mehrmals auf einer Seite erscheint, sofern sie das gleiche Konzept darstellen (siehe Abschnitt Felder definieren oben), sollten alle beschriftet werden.
Wenn die OCR ein Wort verpasst oder ein paar Zeichen falsch interpretiert, beschriften Sie einfach das Begrenzungsfeld, wenn es eines gibt. Wenn nicht, überspringen Sie es einfach und fahren Sie fort. Es besteht nicht die Möglichkeit, ein Wort im Document Manager hinzuzufügen, da das Wort auch nach dem Ergänzen zur Runtime noch fehlen und das Modell nicht unterstützen würde.
Wenn Sie Felder beschriften, die mehrere oder sich überschneidende Bedeutungen/Konzepte haben können, müssen Sie ein Feld möglicherweise in zwei separate Felder aufteilen, oder auch bei Feldern, die Sie möglicherweise nicht explizit benötigen, die jedoch bei Beschriftung möglicherweise helfen, bestimmte Validierungs- oder Selbstkonsistenzprüfungslogik im RPA-Workflow durchzuführen. Typische Beispiele sind Menge, Stückpreis und Zeilenbetrag für Rechnungspositionen. Der Zeilenbetrag ist das Produkt der Menge und des Stückpreises – er ist sehr nützlich, um auf Konsistenz zu überprüfen, ohne dass Konfidenzniveaus erforderlich sind.
Beim Beschriften von Auswertungs-Datasets (auch Test-Datasets genannt) müssen Sie sich auf etwas konzentrieren, das sich geringfügig von der Beschriftung von Trainings-Datasets unterscheidet. Während bei Trainings-Datasets nur die Begrenzungsfelder der Felder zu Dokument-Datasets verwendet werden, sind für die Auswertungs-Datasets nur die Werte der Felder wichtig. Sie können sie bearbeiten, indem Sie auf den Wert in der rechten oder oberen Seitenleiste klicken und ihn bearbeiten. Um zum automatisch geparsten Wert zurückzukehren, klicken Sie auf das Schlosssymbol.
Der Export des gesamten Datasets, einschließlich Trainings- und Test-Batches, ist zulässig, da die Trainingspipelines im AI Center Testdaten ignorieren. Auswertungspipelines führen die Auswertung jedoch für das gesamte Auswertungs-Dataset aus, unabhängig davon, ob es aus Train- oder Testdaten besteht. Der Typ eines bestimmten Dokuments wird direkt unter dem Dateinamen in der oberen Mitte des Fensters des Document Managers angezeigt.
Bei der Auswertung eines ML-Modells ist das leistungsstärkste Tool evaluation.xlsx, das im Ordner „artifacts/eval_metrics“ generiert wird. In dieser Excel-Datei können Sie sehen, welche Vorhersagen fehlschlagen und auf welchen Dateien, und Sie können sofort sehen, ob es sich um einen OCR-Fehler oder einen ML-Extraktions- oder Analysefehler handelt und ob er durch einfache Logik im RPA-Workflow behoben werden kann oder ob eine andere OCR Engine, mehr Trainingsdaten, eine bessere Beschriftung bzw. Feldkonfigurationen im Document Manager erforderlich ist.
Diese Excel-Datei ist auch sehr nützlich, um die relevantesten Geschäftsregeln zu identifizieren, die Sie im RPA Workflow anwenden müssen, um häufige Fehler zu erkennen, die zur manuellen Überprüfung an die Validation Station in Action Center weiterzuleiten sind. Geschäftsregeln sind mit Abstand die zuverlässigste Möglichkeit, Fehler zu erkennen.
Für die Fehler, die für Geschäftsregeln nicht erkennbar sind, können Sie auch Konfidenzniveaus verwenden. Die Excel-Datei enthält auch Konfidenzniveaus für jede Vorhersage, sodass Sie Excel-Funktionen wie „Sortieren“ und „Filtern“ verwenden können, um zu bestimmen, was ein guter Konfidenzschwellenwert für Ihr Geschäftsszenario ist.
Insgesamt ist die Excel-Datei „evaluation.xlsx“ eine wichtige Ressource, auf die Sie sich konzentrieren müssen, um die besten Ergebnisse mit Ihrer KI-Automatisierung zu erzielen.
In diesem Schritt sollten Sie sich mit Modellfehlern beschäftigen und erfahren, wie sie erkannt werden. Es gibt 2 Hauptwege, um Fehler zu erkennen:
- durch Erzwingen von Geschäftsregeln
- durch Erzwingen eines Mindestkonfidenzschwellenwerts
Die effektivste und zuverlässigste Methode zum Erkennen von Fehlern ist die Definition von Geschäftsregeln. Die Konfidenzniveaus können nie zu 100 % perfekt sein. Es wird immer einen kleinen, aber nicht Null betragenden Prozentanteil korrekter Vorhersagen mit geringer Zuverlässigkeit oder falscher Vorhersagen mit hoher Zuverlässigkeit geben. Darüber hinaus und vielleicht am wichtigsten ist, dass ein fehlendes Feld keine Konfidenz hat, sodass ein Konfidenzschwellenwert nie Fehler erkennen kann, wenn ein Feld überhaupt nicht extrahiert wird. Daher sollten Konfidenzschwellenwerte nur als Ausweichwert, als Sicherheitsnetz verwendet werden, jedoch nie als Hauptweg, um geschäftskritische Fehler zu erkennen.
Beispiele für Geschäftsregeln:
- Nettobetrag plus Steuerbetrag muss dem Gesamtbetrag entsprechen
- Der Gesamtbetrag muss größer oder gleich dem Nettobetrag sein
- Rechnungsnummer, Datum, Gesamtbetrag (und möglicherweise andere Felder) müssen vorhanden sein
- Auftragsnummer (falls vorhanden) muss in der entsprechenden Datenbank vorhanden sein
- Rechnungsdatum muss in der Vergangenheit liegen und darf höchstens X Monate alt sein
- Fälligkeitsdatum darf höchstens Y Tage/Monate in der Zukunft liegen
- Für jedes Zeilenelement muss die mit dem Stückpreis multiplizierte Menge dem Zeilenbetrag entsprechen
- Summe der Zeilenbeträge muss gleich dem Nettobetrag oder Gesamtbetrag sein
- usw.
Insbesondere sollten die Konfidenzniveaus von Spaltenfeldern fast nie als Mechanismus zur Fehlererkennung verwendet werden, da sie Dutzende Werte haben können (wie z. B. Zeilenelemente auf Rechnungen oder Auftragsblättern), was das Festlegen eines Mindestschwellenwerts über so viele Werte besonders unzuverlässig machen kann, da die Konfidenz eines Werts mehr als wahrscheinlich gering ausfällt. Dies würde dazu führen, dass die meisten/alle Dokumente unnötigerweise an die menschliche Validierung weitergeleitet werden.
Geschäftsregeln müssen als Teil des RPA Workflows erzwungen werden, und es wäre ideal, wenn Geschäftsregelfehler an den menschlichen Validierer übergeben würden, um ihre Aufmerksamkeit zu lenken und den Prozess zu beschleunigen.
Nachdem die Geschäftsregeln definiert wurden, bleibt manchmal eine kleine Anzahl von Feldern übrig, für die keine Geschäftsregeln vorhanden sind oder für die die Geschäftsregeln wahrscheinlich nicht alle Fehler erkennen werden. Möglicherweise müssen Sie dazu einen Konfidenzschwellenwert als letztes Mittel verwenden.
Das Haupttool zum Festlegen dieses Schwellenwerts ist die Funktion „Auswertungspipeline“ im AI Center und insbesondere die Excel-Kalkulationstabelle, die von der Auswertungspipeline im Ordner Ausgaben > Artefakte > eval_metrics ausgegeben wird.
Diese Kalkulationstabelle enthält eine Spalte für jedes Feld und eine Spalte für das Konfidenzniveau jeder Vorhersage. Sie können eine Spalte namens min_confidence hinzufügen, die das Minimum aller Konfidenzen über alle Felder aufnimmt, die für Ihren Geschäftsprozess wichtig und nicht bereits von Geschäftsregeln abgedeckt sind. Sie möchten z. B. möglicherweise keinen Schwellenwert für die Konfidenzen der Zeilenelemente festlegen, sondern für den Namen des Anbieters, den Gesamtbetrag, das Datum, das Fälligkeitsdatum, die Rechnungsnummer und andere wichtige Felder. Durch Sortieren der Tabelle basierend auf der Spalte min_confidence können Sie sehen, wo die Fehler angezeigt werden, und einen Schwellenwert auf dieser Ebene festlegen, um sicherzustellen, dass nur korrekt extrahierte Dokumente direkt gesendet werden.
Validation Station-Daten können zur Verbesserung der Modellvorhersagen beitragen. Doch in vielen Fällen stellt sich heraus, dass die meisten Fehler nicht auf das Modell selbst, sondern auf die OCR, Beschriftungsfehler, Inkonsistenzen oder Probleme nach der Verarbeitung (z. B. Datums- oder Zahlenformatierung) zurückzuführen sind. Der erste Hauptaspekt ist also, dass Validation Station-Daten erst verwendet werden sollten, nachdem die anderen Komponenten der Datenextraktion überprüft und optimiert wurden, um eine gute Genauigkeit sicherzustellen, und der einzige verbleibende Verbesserungsbereich die Modellvorhersage selbst ist.
Der zweite Hauptaspekt ist, dass die Validation Station-Daten eine geringere Informationsdichte haben als die im Document Manager beschrifteten Daten. Grundsätzlich ist es dem Validation Station-Benutzer nur wichtig, einmal den richtigen Wert zu erhalten. Wenn eine Rechnung 5 Seiten hat und die Rechnungsnummer auf jeder Seite erscheint, überprüft der Benutzer der Validation Station sie nur auf der ersten Seite. 80 % der Werte bleiben also unbeschriftet. Im Document Manager werden alle Werte beschriftet.
Denken Sie schließlich daran, dass Validation Station-Daten dem ursprünglichen manuell beschrifteten Dataset hinzugefügt werden müssen, damit Sie immer über ein einzelnes Trainings-Dataset verfügen, der im Laufe der Zeit an Größe zunimmt. Sie müssen auf dem ML-Paket immer mit der Nebenversion 0 (null) trainieren, der Version, die von UiPath Out of the Box veröffentlicht wurde.
Fügen Sie immer Validation Station-Daten zu demselben Dataset hinzu, und trainieren Sie mit ML-Paket-Nebenversion 0 (null)
Es wird oft fälschlicherweise angenommen, dass Daten aus der Validation Station dazu verwendet werden, die vorherige Modellversion iterativ erneut zu trainieren, d. h. anhand des aktuellen Batch wird Paket X.1 trainiert, um X.2 zu erhalten. Dann wird der nächste Batch mit X.2 trainiert, um X.3 zu erhalten und so weiter. Dies ist die falsche Art, das Produkt zu verwenden. Jeder Batch der Validation Station muss in dieselbe Document Manager-Sitzung importiert werden wie die ursprünglichen manuell beschrifteten Daten, was ein größeres Dataset ergibt, mit dem dann immer auf der ML-Paketversion X.0 trainiert werden muss.
Validation Station-Daten können potenziell ein viel höheres Volumen haben, da sie im Produktionsworkflow verwendet werden. Folglich benötigen Sie eine Richtlinie, wie viele Daten wahrscheinlich nützlich sein werden, da das Modelltraining Zeit und Infrastruktur erfordert. Außerdem möchten Sie nicht, dass das Dataset mit Validation Station-Daten überlastet wird, da dies die Qualität des Modells aufgrund des oben genannten Problems der Informationsdichte beeinträchtigen kann.
Wir empfehlen, maximal 2–3-mal die Seitenanzahl der Document Manager-Daten hinzuzufügen und darüber hinaus nur die Anbieter oder Beispiele zu wählen, bei denen größere Fehler aufgetreten sind. Wenn größere Änderungen an den Produktionsdaten bekannt sind, z. B. eine neue Sprache oder eine neue geografische Region, die in den Geschäftsprozess integriert wird (von den USA nach Europa oder Südasien), dann sollten für diese Sprachen und Regionen im DocumentManager repräsentative Daten für die manuelle Beschriftung hinzugefügt werden. Die Validation Station-Daten sind für eine Scope-Erweiterung dieser Größe nicht geeignet.
Hier ist ein Beispielszenario. Sie haben ein gutes OCR-Modul gewählt und 500 Seiten im Document Manager beschriftet, was zu einer guten Leistung führte. Dann haben Sie das Modell in einem RPA-Workflow für die Produktion bereitgestellt. Validation Station beginnt mit der Generierung von Daten. Sie sollten zufällig bis zu maximal 1000–1500 Seiten von der Validation Station auswählen und sie zusammen mit den ersten 500 Seiten zum Document importieren und Ihr ML-Modell erneut trainieren. Danach sollten Sie eine Auswertungspipeline ausführen, um sicherzustellen, dass das Modell tatsächlich verbessert wurde, und dann sollten Sie das neue Modell in der Produktion bereitstellen.
Die Schleife für automatische Feinabstimmung ist eine Vorschau-Funktion, die für die Wartung eines hochleistungsfähigen Modells nützlich wird, das Sie bereits mit den oben beschriebenen Schritten erstellt haben. Um sicherzustellen, dass die automatische Feinabstimmung bessere Versionen des Modells erzeugt, sollten Sie über ein gutes Auswertungs-Dataset verfügen und eine automatisch umgestellte vollständige Pipeline verwenden, die Training und Auswertung gleichzeitig ausführt. So können Sie sehen, ob das neueste Training ein genaueres Modell erzeugt hat als das vorherige, und das neue Modell dann ggf. für die ML-Fähigkeit bereitstellen, die von den Robotern in Ihrem Geschäftsprozess aufgerufen wird.
DAS AI Center bietet die Möglichkeit, den ML-Skill automatisch zu aktualisieren, wenn eine neue Version eines ML-Pakets erneut trainiert wird. Diese automatische Aktualisierung berücksichtigt jedoch nicht die Punktzahl der vollständigen Pipeline. Daher wird nicht empfohlen, diese Funktion mit Document Understanding Pipelines für automatisches erneutes Training zu verwenden.
Wie oben im Abschnitt Auswertungs-Dataset erstellen erwähnt, berechnen Auswertungspipeline-Implementierungen für ML-Pakete mit Version 21.10 oder höher die Ergebnisse pro Dokument. Dadurch werden genau die Ergebnisse widergespiegelt, die Sie in einem RPA-Workflow sehen. Hierbei wird davon ausgegangen, dass Ihr Dataset im Document Manager pro Dokument beschriftet wurde. Ob ein mehrseitiges Dokument pro Dokument beschriftet wurde, erkennen Sie daran, dass Sie durch die Seiten wie bei einem ganz normalen PDF-Reader scrollen können. Wenn Sie neben der Übergabe von einer Seite zur nächsten klicken müssen, gilt jede Seite als separates Dokument.
Stellen Sie sicher, dass Sie den Prozess Document Understanding im Abschnitt Vorlagen auf dem Studio-Startbildschirm verwenden, um Best Practices in der Enterprise-RPA-Architektur anzuwenden.
- Was kann ein ML-Modell zur Datenextraktion tun?
- Trainings- und Auswertungs-Datasets
- Komponenten der Datenextraktion
- Erstellen eines leistungsstarken ML-Modells
- 1. Ein OCR-Modul wählen
- 2. Ein Trainings-Dataset erstellen
- 3. Ein Auswertungs-Dataset erstellen
- 4. Felder definieren
- 5. Die Felder konfigurieren
- 6. Das Trainings-Dataset beschriften
- 7. Das Auswertungs-Dataset beschriften
- 8. Das Modell trainieren und auswerten
- 9. Geschäftsregeln definieren und implementieren
- 10. Einen Konfidenz-Schwellenwert wählen (optional)
- 11. Training mit Daten aus der Validation Station
- 12. Die Schleife für die automatische Feinabstimmung (Vorschau)
- 13. Die Automatisierung bereitstellen