document-understanding
2023.4
false
UiPath logo, featuring letters U and I in white

Document Understanding-Benutzerhandbuch.

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Letzte Aktualisierung 18. Dez. 2024

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 eine Dokumenttypsitzung (in der Document UnderstandingDocument UnderstandingTM Cloud) für Machine Learning-Funktionen. Beide erfordern für einen effektiven Einsatz ein gewisses Maß an Erfahrung.

Was kann ein ML-Modell zur Datenextraktion tun?

Ein ML-Modell kann Daten aus einem einzelnen Dokumenttyp extrahieren, obwohl es mehrere verschiedene Sprachen umfassen kann. Es ist wichtig, dass jedes Feld (Gesamtbetrag, Datum usw.) immer dieselbe Bedeutung hat. Wenn ein Mensch beim richtigen Wert für ein Feld unsicher sein kann, dann 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, sollten Sie sie als zwei verschiedene Dokumenttypen behandeln und daher zwei verschiedene Modelle trainieren.

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 Ansicht), sodass Sie sie bei Bedarf später einfach trennen können. Auf diese Weise geht der Beschriftungsaufwand nicht verloren. Bei ML-Modellen gilt: Je mehr Daten, desto besser. Ein einzelnes Modell mit umfangreichen Daten ist also ein guter Anfang.

Trainings- und Auswertungs-Datasets

Document Manager kann verwendet werden, um zwei Arten von Datasets zu erstellen:

  • Trainings-Datasets
  • Auswertungs-Datasets

Beide Arten von Datasets sind für die Erstellung eines leistungsstarken ML-Modells unerlässlich und erfordern Zeit und Mühe, um sie zu erstellen und zu warten. Um ein leistungsstarkes ML-Modell zu erhalten, ist ein Auswertungs-Dataset erforderlich, das für den Dokumentenverkehr in der Produktion repräsentativ ist.

Jeder -Typ wird auf eine andere Weise beschriftet:

  • Trainings-Datasets basieren 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 auf die Seite selbst und die Wortfelder.
  • Auswertungs-Datasets nutzen die Werte der Felder, die in der Seitenleiste (für reguläre Felder) oder in der oberen Leiste (für Spaltenfelder) angezeigt werden.
  • Konzentrieren Sie sich bei der Beschriftung eines Auswertungssets auf die Werte unter den Feldnamen in der Seitenleiste oder der oberen Leiste. Das bedeutet nicht, dass Sie sie manuell eingeben müssen. Wir empfehlen, die Beschriftung zu erstellen, indem Sie auf die Kontrollkästchen auf der Seite klicken und die Korrektheit der Werte überprüfen.

Ausführliche Informationen zur Durchführung der richtigen Auswertungen finden Sie unten.

Komponenten der Datenextraktion

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 zwei oder mehr Seiten hat und einige Felder auf mehr als einer Seite angezeigt werden

Konfidenzniveaus

Was sind Konfidenzniveaus?

Wenn ML-Modelle Vorhersagen machen, handelt es sich im Grunde um statistische Schätzungen. Das Modell gibt „Dies ist wahrscheinlich der Gesamtbetrag“ dieser Rechnung an. Das wirft die Frage auf: Wie wahrscheinlich? Konfidenzniveaus sind ein Versuch, diese Frage auf einer Skala von 0 bis 1 zu beantworten. Sie sind jedoch KEINE echten Wahrscheinlichkeitsschätzungen. Sie geben an, wie zuversichtlich das Modell bei seinen Schätzungen ist, und hängen daher davon ab, worauf das Modell trainiert worden ist. Eine bessere Möglichkeit, sie als Grad der Vertrautheit vorzustellen, ist: Wie vertraut ist das Modell mit dieser Modelleingabe? Wenn es etwas ähnelt, das das Model im Training gesehen hat, dann hat es möglicherweise eine höhere Konfidenz. Andernfalls hat es möglicherweise eine geringere Konfidenz.

Wofür sind Konfidenzniveaus nützlich?

Bei der Automatisierung von Geschäftsprozessen müssen Ausnahmen erkannt und behandelt werden, d. h. Fälle, in denen eine Automatisierung schief läuft. Bei klassischen Automatisierungen ist dies ziemlich offensichtlich, weil ein RPA-Workflow, wenn er unterbrochen wird, einfach angehalten wird, sich aufhängt oder einen Fehler ausgibt. Dieser Fehler kann abgefangen und entsprechend behandelt werden. Machine-Learning-Modelle geben jedoch keine Fehler aus, wenn sie falsche Vorhersagen machen. Wie ermitteln wir also, wann ein ML-Modell einen Fehler gemacht hat und der Workflow für die Ausnahmebehandlung ausgelöst werden muss? Dies erfordert oft ein manuelles Eingreifen, vielleicht unter Verwendung des Action Centers.

Der mit Abstand beste Weg, falsche Vorhersagen zu erkennen, ist das Erzwingen von Geschäftsregeln. Wir wissen zum Beispiel, dass auf einer Rechnung der Nettobetrag zuzüglich des Steuerbetrags dem Gesamtbetrag entsprechen muss. Oder dass die Teilenummern für die sortierten Komponenten 9-stellig sein müssen. Wenn diese Bedingungen nicht zutreffen, wissen wir, dass ein Fehler aufgetreten ist, und können den Ablauf der Ausnahmebehandlung auslösen. Dies ist der bevorzugte und dringend empfohlene Ansatz. Es lohnt sich, viel Mühe in die Erstellung derartiger Regeln zu investieren, auch unter Verwendung komplexer regulärer Ausdrücke oder sogar durch Suchen in Datenbanken zur Überprüfung von Lieferantennamen, Teilenummern usw. Manchmal möchten Sie vielleicht sogar ein anderes Dokument extrahieren, das nicht von Interesse ist, sondern nur dazu dient, einige Werte mit dem interessierenden Originaldokument abzugleichen und zu validieren.

In einigen Fällen gibt es jedoch keine dieser Optionen und Sie möchten trotzdem potenziell falsche Vorhersagen erkennen. In diesen Fällen können Sie auf die Konfidenzstufe zurückgreifen. Wenn das Konfidenzniveau für eine Vorhersage niedrig ist, z. B. unter 0,6, ist das Risiko, dass die Vorhersage falsch ist, höher als bei einer Konfidenz von 0,95. Diese Korrelation ist jedoch ziemlich schwach. Es gibt viele Fälle, in denen ein Wert mit geringer Konfidenz extrahiert wird, aber korrekt ist. Es ist ebenfalls möglich, wenn auch relativ selten, dass ein Wert mit hoher Konfidenz (über 0,9) extrahiert wird, aber falsch ist. Aus diesen Gründen empfehlen wir dringend, sich so weit wie möglich auf Geschäftsregeln zu verlassen und Konfidenzniveaus nur als letztes Mittel zu verwenden.

Welche Arten von Konfidenzniveaus gibt es?

Die meisten Komponenten im Document UnderstandingTM-Produkt geben ein Konfidenzniveau zurück. Die Hauptkomponenten eines Document UnderstandingTM-Workflows sind Digitalisierung, Klassifizierung und Extraktion. Jede davon hat eine bestimmte Konfidenz für jede Vorhersage. Die Validation Station zeigt sowohl die Digitalisierung als auch die Extraktionszuverlässigkeit visuell an, d. h., Sie können Vorhersagen filtern, sich nur auf diejenigen mit geringer Zuverlässigkeit konzentrieren und so Zeit sparen.

Skalierung der Konfidenzbewertung (oder Kalibrierung)

Die Konfidenzniveaus verschiedener Modelle werden je nach Modelldesign unterschiedlich skaliert. Beispielsweise geben einige Modelle fast immer Konfidenzniveaus im Bereich 0,9–1 und nur sehr selten unter 0,8 zurück. Andere Modelle haben Konfidenzniveaus, die viel gleichmäßiger zwischen 0 und 1 verteilt sind, auch wenn sie normalerweise am oberen Ende der Skala angesammelt werden. Infolgedessen sind die Konfidenzschwellenwerte bei verschiedenen Modellen unterschiedlich. Beispielsweise entspricht ein Konfidenzschwellenwert der OCR nicht dem Schwellenwert des ML-Extraktors oder ML-Klassifizierers. Außerdem wird sich bei jeder größeren Architekturaktualisierung eines Modells, wie sie mit dem Release der generativen KI-basierten Modellarchitektur von DocPath ansteht, die Verteilung der Konfidenzniveaus ändern, und die Konfidenzschwellen müssen neu bewertet werden.

Erstellen eines leistungsstarken ML-Modells

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:

  1. Die geeignetste OCR-Engine für Ihre Dokumente wählen

    Dies beeinflusst sowohl die OCR als auch die Erstellung von Wörtern und Zeilen (was teilweise von der OCR abhängt) und natürlich alles darauf folgende.

  2. Ein ausgewogenes und repräsentatives Dataset für das Training wählen
  3. Die zu extrahierenden Felder definieren
  4. Das Trainings-Dataset beschriften
  5. Den Extraktor trainieren
  6. Definieren und Implementieren der Geschäftsregeln für die Ausgabe von Verarbeitungsmodellen
  7. Konfidenz-Schwellenwert(e) für die Extraktion auswählen (optional)
  8. Training mit Daten aus der Validation Station
  9. Die Automatisierung bereitstellen

1. Ein OCR-Modul wählen

Um ein OCR-Modul auszuwählen, sollten Sie unterschiedliche Document Manager-Sitzungen erstellen, verschiedene OCR-Module konfigurieren und dieselben Dateien in jede von ihnen importieren, um die Unterschiede zu untersuchen. Konzentrieren Sie sich auf die Bereiche, die Sie extrahieren möchten. Wenn Sie beispielsweise Firmennamen extrahieren müssen, die Teil von Logos auf Rechnungen sind, interessiert es Sie vielleicht, welches OCR-Modul besser mit dem Text in Logos 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 vorliegen, könnten sich Google Cloud (nur Cloud) oder Microsoft Read (Cloud oder lokal) aufgrund der besseren Sprachunterstützung als hilfreich erweisen. Diese Module kosten etwas (allerdings nicht viel), es wird jedoch dringend empfohlen, das beste verfügbare OCR-Modul zu verwenden, wenn eine höhere Genauigkeit bei einigen kritischen Datenfeldern für Ihren Geschäftsprozess erforderlich ist – damit sparen Sie im Anschluss viel Zeit, da alle Folgeprozesse davon abhängen.

Bitte beachten Sie, dass bei der Aktivität Digitize Document die Einstellung OCRAufPDFAnwenden standardmäßig auf Automatisch festgelegt ist. Damit wird ermittelt, ob der OCR-Algorithmus abhängig vom Eingabedokument angewendet werden muss. Um zu vermeiden, dass wichtige Informationen (aus Logos, Headern, Fußzeilen usw.) nicht extrahiert werden, setzen Sie den Parameter OCRAufPDFAnwenden auf Ja, um sicherzustellen, dass der gesamte Text erkannt wird, auch wenn dies Ihren Prozess verlangsamen kann.

2. Felder definieren

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.

  • Kontrollkästchen mit mehreren Werten

    Dies ist für die Handhabung von Multiple-Choice-Feldern oder anderen Feldern gedacht, die mehr als einen Wert haben können, aber NICHT als Tabellenspalte dargestellt werden. Beispielsweise kann eine Frage zur Volksgruppe auf einem Formular einer Regierung mehrere Kontrollkästchen enthalten, in denen Sie alle Zutreffenden auswählen 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 werden kann. 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

    Dies 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 strenger: Ein einzelnes falsches Zeichen führt zu einer Punktzahl von Null. Nur Felder vom Typ String verfügen standardmäßig über die Option, Levenshtein-Bewertung auszuwählen.

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. In anderen Situationen 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 Konzepte unterscheiden sich und die Beträge sind oft unterschiedlich.

Hinweis: Jedes Feld stellt eine andere Betragsart dar und muss so genau wie möglich definiert werden, damit keine Verwirrung entsteht. Wenn ein Mensch verwirrt sein könnte, wird das ML-Modell auch verwirrt sein.

Darüber hinaus kann der aktuelle Rechnungsbetrag manchmal aus mehreren verschiedenen Beträgen, Gebühren und Steuern bestehen und erscheint nirgendwo auf der Rechnung einzeln. Eine mögliche Lösung hierfür ist die Erstellung von zwei Feldern: einem Feld mit früheren Kosten und einem Feld für die Gesamtsumme . Diese beiden erscheinen immer als unterschiedliche explizite Werte auf der Betriebskostenabrechnung. Dann kann der aktuelle Rechnungsbetrag als Differenz zwischen den beiden ermittelt werden. Sie können sogar alle drei Felder (previous-costs, totalund current-costs) einschließen, um Konsistenzprüfungen durchführen zu können, wenn der aktuelle Rechnungsbetrag explizit im Dokument erscheint. 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. Der Text könnte auch durch einen Stempel, Handschrift oder Falten verdeckt sein. In diesen Fällen könnte der Name, der unten rechts im Abschnitt „ Zahlung anfordern an“ des Lohnzettels auf den Betriebskostenabrechnungen steht, beschriftet werden. Dieser Name ist oft derselbe, aber nicht immer, da es sich um ein anderes Konzept handelt. Zahlungen können an eine Muttergesellschaft, eine Beteiligungsgesellschaft oder ein anderes verbundenes Unternehmen mit visuellen Unterschieden auf dem Dokument erfolgen. Dies kann zu einer schlechten Modellleistung führen. In diesem Fall sollten Sie zwei Felder erstellen: vendor-name und payment-addr-name. Dann können Sie beide in einer Anbieterdatenbank nachschlagen und den passenden verwenden oder payment-addr-name verwenden , wenn der Anbietername 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 beiden 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.



Zu erkennen, wo eine Zeile endet und eine andere beginnt, wenn man von oben nach unten liest, kann für ML-Extraktionsmodelle oft eine große Herausforderung sein, insbesondere bei Dokumenten wie Formularen, bei denen es keine visuellen horizontalen Linien gibt, die die Zeilen trennen. In unseren ML-Paketen gibt es ein spezielles Modell, das darauf trainiert ist, Tabellen korrekt in Zeilen aufzuteilen. Dieses Modell wird mithilfe dieser Gruppen trainiert, die Sie mit den Tasten „/“ oder „Enter“ beschriften und die durch die grünen transparenten Kästchen gekennzeichnet sind.

2. Wählen Sie ein ausgewogenes und repräsentatives Dataset für das Training

Machine-Learning-Technologie ist vor allem zur Lösung komplexer Probleme mit großen Unterschieden 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 es sich nicht um Chinesisch/Japanisch/Koreanisch handelt. Szenarien mit Chinesisch/Japanisch/Koreanisch erfordern im Allgemeinen separate Trainings-Datasets und separate Modelle.

Es gibt 3 Arten von Feldern:

  1. Reguläre Felder (Datum, Gesamtbetrag)
    • Für reguläre Felder benötigen Sie mindestens 20–50 Dokumentenbeispiele pro Feld. Wenn Sie also 10 reguläre Felder extrahieren müssen, benötigen Sie mindestens 200–500 Dokumentenbeispiele. Wenn Sie 20 reguläre Felder extrahieren müssen, benötigen Sie mindestens 400–1000 Dokumentenbeispiele. Die Anzahl der benötigten Dokumentenbeispiele erhöht sich mit der Anzahl der Felder. Weitere Felder bedeutet, dass Sie mehr Dokumentenbeispiele benötigen, ca. 20–50-mal mehr.
  2. Spaltenfelder (Stückpreis, Stückzahl)
    • Für Spaltenfelder benötigen Sie mindestens 50–200 Dokumentenbeispiele je Spaltenfeld, sodass Sie für 5 Spaltenfelder mit sauberen und einfachen Layouts mit 300 Dokumentenbeispielen gute Ergebnisse erzielen können. Für sehr komplexe Layouts mit großen Unterschieden benötigen Sie jedoch möglicherweise mehr als 1000 Dokumentenbeispiele. Um mehrere Sprachen zu verarbeiten, benötigen Sie mindestens 200–300 Dokumentenbeispiele pro Sprache, vorausgesetzt, sie decken all die verschiedenen Felder ab. Für 10 Headerfelder und 4 Spaltenfelder mit 2 Sprachen können 600 Dokumentenbeispiele 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 Dokumentenbeispiele erforderlich sein.
  3. Klassifizierungsfelder (Währung)
    • Klassifizierungsfelder erfordern in der Regel mindestens 10–20 Dokumentenbeispiele 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.

Wichtig: Machine Learning wurde für Szenarien mit großen Unterschieden entwickelt. Um Modelle für Szenarien mit geringen Unterschieden (1–10 Layouts) zu trainieren, ist besondere Sorgfalt erforderlich, um zu empfindliche Modelle zu vermeiden, die auf geringfügige Änderungen des OCR-Textes reagieren. Sie können dies vermeiden, indem Sie bei den Trainingsdokumenten absichtlich für Unterschiede sorgen. Drucken Sie die Dokumente aus und scannen oder fotografieren Sie sie dann mit Scanner-Apps oder mit dem Smartphone. Leichte Verzerrungen oder unterschiedliche Auflösungen sorgen für ein robusteres Modell.

Diese Schätzungen gehen davon aus, dass die meisten Seiten alle oder die meisten Felder enthalten. Bei mehrseitigen Dokumenten, bei denen sich die meisten Felder aber auf einer einzigen Seite befinden, ist die relevante Seitenzahl die Anzahl der Beispiele für diese eine Seite, auf der die meisten Felder enthalten sind.

Die obigen Zahlen sind allgemeine Werte zur Orientierung, keine strikten Anforderungen. Im Allgemeinen können Sie mit einem kleineren Dataset beginnen und dann weitere 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 enthalten sein. Tatsächlich haben die meisten Layouts in unserem Workflow mit Produktionsdokumenten keine Beispiele in Ihrem Trainingssatz oder vielleicht nur ein oder zwei Dokumentenbeispiele. Das ist wünschenswert, da die KI genutzt werden soll, um die Dokumente zu verstehen. Sie muss in der Lage sein, korrekte Vorhersagen für Dokumente zu treffen, die während des Trainings nicht auftraten. Es ist nicht zwingend notwendig, viele Dokumentenbeispiele pro Layout zu haben, da die meisten Layouts entweder überhaupt nicht oder nur ein- oder zweimal vorkommen und das Modell basierend darauf, was es von anderen Layouts gelernt hat, trotzdem korrekte Vorhersagen treffen kann.

Training über ein sofort einsetzbares Modell

Beim Training eines ML-Modells für Document Understanding gibt es drei Hauptszenarien:

  • Training eines neuen Dokumenttyps von Grund auf mit dem ML-Paket „DocumentUnderstanding“ im AI Center
  • erneutes Training über ein vortrainiertes Out-of-the-Box-Modell zur Optimierung der Genauigkeit
  • erneutes Training über ein vortrainiertes Out-of-the-Box-Modell zur Optimierung der Genauigkeit und um einige neue Felder hinzuzufügen

Die Dataset-Größenschätzungen für den ersten Szenariotyp werden im ersten Teil dieses Abschnitts mit dem Titel „Ein Trainings-Dataset erstellen“ beschrieben.

Beim zweiten Szenariotyp hängt die Dataset-Größe davon ab, wie gut die vortrainierten Modelle bereits bei Ihren Dokumenten funktionieren. Wenn sie bereits sehr gut funktionieren, dann benötigen Sie möglicherweise sehr wenig Daten, vielleicht 50–100 Seiten. Wenn bei einigen wichtigen Feldern Fehler auftreten, benötigen Sie möglicherweise mehr Daten. Ein guter Ausgangspunkt wäre aber eine Zahl, die immer noch viermal kleiner ist, als wenn Sie das Modell von Grund auf trainieren würden.

Für das dritte Szenario beginnen Sie mit der Dataset-Größe für das zweite Szenario (s. oben) und vergrößern das Dataset, je nachdem, wie viele neue Felder Sie haben. Gehen Sie dabei wie beim Ersttraining vor: mindestens 20–50 Seiten pro neuem regulären Feld oder mindestens 50–200 Seiten pro Spaltenfeld.

In all diesen Fällen müssen alle Dokumente vollständig beschriftet werden, auch die neuen Felder, die das Out-of-the-Box-Modell nicht erkennt, sowie das Original der Felder, die das vorgefertigte Modell erkennt.

Ungleiche Feldvorkommen

Einige Felder können in jedem Dokument vorkommen (z. B. Datum, Rechnungsnummer), während manche Felder möglicherweise nur auf 10 % der Seiten erscheinen (z. B. Bearbeitungskosten, Rabatt). In diesen Fällen müssen Sie eine Entscheidung treffen. Wenn diese seltenen Felder für Ihre Automatisierung nicht wichtig sind, kann eine kleine Anzahl von Dokumentenbeispielen (10–15) für ein bestimmtes Feld reichen, d. h. Seiten, die einen Wert für dieses Feld enthalten. Wenn die Felder jedoch wichtig sind, muss der Trainingssatz mindestens 30–50 Dokumentenbeispiele für dieses Feld enthalten, damit alle Varianten abgedeckt werden.

Ausgewogene Datasets

Wenn ein Dataset Rechnungen von 100 Anbietern enthält, aber die Hälfte des Datasets aus Rechnungen von einem einzigen Anbieter besteht, dann ist dies ein sehr unausgewogenes Dataset. In einem perfekt ausgewogenen Dataset kommt jeder Anbieter gleich oft vor. Datasets müssen nicht perfekt ausgewogen sein, aber Sie sollten vermeiden, dass mehr als 20 % des Datasets von einem einzigen Anbieter stammen. An einem bestimmten Punkt helfen zusätzliche Daten nicht mehr weiter und beeinträchtigen eventuell sogar die Genauigkeit bei anderen Anbietern, da das Modell zu sehr für einen einzigen Anbieter optimiert wird (Überanpassung).

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 unterschiedlich aus, also müssen Sie sicherstellen, dass Sie Dokumentenbeispiele von allen dreien haben. Das ist nicht nur für das Modelltraining selbst, sondern auch für Beschriftungszwecke relevant. Eventuell stellen Sie beim Beschriften der Dokumente fest, dass Sie neue, verschiedene Felder bei einigen dieser Regionen extrahieren müssen, z. B. den GSTIN-Code bei Indien oder den ABN-Code bei Australien. Weitere Informationen finden Sie im Abschnitt Felder definieren.

4. Das Trainings-Dataset beschriften

Beim Beschriften von Trainingsdaten müssen Sie sich auf die Begrenzungsfelder der Wörter im Dokumentbereich vom Document Manager konzentrieren. Die geparsten Werte in den Seitenleisten rechts oder oben sind nicht wichtig, da sie nicht für das Training verwendet werden.

Wenn ein Feld mehrfach auf einer Seite auftaucht, sollten alle Felder, sofern sie dasselbe Konzept repräsentieren, 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 Laufzeit 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. Achten Sie auch auf Felder, die Sie nicht explizit benötigen, die jedoch bei der Beschriftung möglicherweise helfen, bestimmte Validierungen oder Selbstkonsistenzprüfungen 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.

5. Den Extraktor trainieren

Um einen Extraktor zu erstellen, wechseln Sie in Document Understanding zur Ansicht „ Extraktoren “ und klicken Sie rechts oben auf die Schaltfläche Extraktor erstellen . Sie können dann den Dokumenttyp, das ML-Modell und die Version auswählen, die Sie verwenden möchten. Sie können den Fortschritt auf der Registerkarte „Extraktoren“ oder in der Ansicht „ Details “ des Extraktors überwachen, die einen Link zur AI Center-Pipeline enthält, in der Sie die detaillierten Protokolle in Echtzeit sehen können.

Bei der Auswertung eines ML-Modells ist das leistungsstärkste Tool evaluation_<package name>.xlsx Datei, die im Ordner artifacts/eval_metrics in der AI Center-Pipeline-Detailansicht generiert wird. Auf dem ersten Blatt können Sie einen detaillierten Bericht zu den Genauigkeitsbewertungen sehen, einschließlich der Gesamtpunktzahlen sowie pro Feld und pro Batch.

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 es erfordert eine andere OCR-Engine, mehr Trainingsdaten oder eine Verbesserung der Beschriftung oder der Feldkonfigurationen im Document Manager.

Diese Excel-Datei ist auch sehr nützlich, um die relevantesten Geschäftsregeln zu identifizieren, die Sie auf den RPA-Workflow anwenden müssen, um häufige Fehler zu erkennen, die zur manuellen Überprüfung an die Validation Station im Actions 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 evaluation_<package_name>.xlsx Eine Excel-Datei ist eine wichtige Ressource, auf die Sie sich konzentrieren müssen, um die besten Ergebnisse mit Ihrer KI-Automatisierung zu erzielen.

Wichtig: GPU-Training wird für große und Produktions-Datasets dringend empfohlen. CPU-Training ist viel langsamer und sollte sparsam für kleine Datasets zu Demo- oder Testzwecken eingesetzt werden. Weitere Informationen finden Sie auf der Seite Trainingspipelines.

6. Geschäftsregeln definieren und implementieren

In diesem Schritt sollten Sie sich mit Modellfehlern und ihrer Erkennung beschäftigen. Es gibt zwei Hauptwege, um Fehler zu erkennen:

  • durch Erzwingen von Geschäftsregeln
  • durch Anwenden von Lookups in Systems of Record in der Kundenorganisation
  • durch Erzwingen eines Mindestkonfidenzschwellenwerts

Die effektivste und zuverlässigste Möglichkeit, Fehler zu erkennen, ist die Definition von Geschäftsregeln und Lookups. Die Konfidenzniveaus können nie zu 100 % perfekt sein. Es wird immer einen kleinen, aber nicht Null betragenden Prozentsatz korrekter Vorhersagen mit geringer Konfidenz oder falscher Vorhersagen mit hoher Konfidenz geben. Darüber hinaus und vielleicht am wichtigsten ist, dass ein fehlendes Feld keine Konfidenz hat, sodass ein Konfidenzschwellenwert niemals Fehler erkennen kann, wenn ein Feld überhaupt nicht extrahiert wird. Folglich sollten Konfidenzschwellenwerte nur als Ausweichlösung, als Sicherheitsnetz, verwendet werden, aber niemals als Hauptmethode, 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.
Hinweis: Bei Zahlen wird eine Rundung auf acht Dezimalstellen durchgeführt.

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 die Geschäftsregelfehler werden an den menschlichen Validierer übergeben, um seine Aufmerksamkeit darauf zu lenken und den Prozess zu beschleunigen.
Hinweis: Beachten Sie beim Definieren von Geschäftsregeln, dass bei den Werten Beginnt mit, Endet mit und Enthält die Groß-/Kleinschreibung beachtet wird.

7. Einen Konfidenzschwellenwert wählen (optional)

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 Excel-Tabelle, die von der Trainingspipeline im Ordner Ausgaben > Artefakte > eval_metrics ausgegeben wird.

Diese evaluation_<package name>.xlsx enthält eine Spalte für jedes Feld und eine Spalte für das Konfidenzniveau jeder Vorhersage. Durch Sortieren der Tabelle basierend auf den Konfidenzspalten können Sie sehen, wo die Fehler für ein bestimmtes Feld angezeigt werden, und einen Schwellenwert über dieser Ebene festlegen, um sicherzustellen, dass nur korrekt extrahierte Dokumente direkt gesendet werden.

8. Feinabstimmung mithilfe der Daten der Validierungsstation

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, das im Laufe der Zeit an Größe zunimmt. Sie müssen immer auf dem ML-Paket mit der Nebenversion 0 (null) trainieren, der Version, die von UiPath vorgefertigt veröffentlicht wurde.

Wichtig: Es wird oft fälschlicherweise angenommen, dass Daten aus der Validation Station dazu verwendet werden, die vorherige Modellversion iterativ zu trainieren, d. h. der aktuelle Batch wird verwendet, um Paket X.1 zu trainieren und dann 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.

Vorsichtsmaßnahmen bei der Verwendung von Validation Station-Daten

Validation Station-Daten können potenziell ein viel höheres Volumen haben, da sie im Production verwendet werden. Das Dataset soll nicht mit Validation Station-Daten überlastet werden, 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 Production 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 repräsentative Daten für diese Sprachen und Regionen hinzugefügt werden. an Document Manager zur manuellen Beschriftung. Validation Station-Daten sind für eine Scope-Erweiterung dieser Größe nicht geeignet.

Ein weiteres potenzielles Problem mit Validation Station-Daten ist die Ausgewogenheit. In der Production kommt der Großteil des Datenverkehrs häufig von einer kleinen Teilmenge von Anbietern/Kunden/Weltregionen. Wenn es so in den Trainingssatz übernommen wird, kann dies zu einem stark verzerrten Modell führen, das bei einer kleinen Teilmenge der Daten gut funktioniert, aber bei den meisten anderen Daten schlecht funktioniert. Daher ist es wichtig, beim Hinzufügen von Validation Station-Daten zu einem Trainingssatz besonders vorsichtig zu sein.

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. Die 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 trainieren. Danach sollten Sie sich die evaluation_<package name>.xlsx sehr sorgfältig ansehen, um sicherzustellen, dass das Modell tatsächlich verbessert wurde. Dann sollten Sie das neue Modell in der Produktion bereitstellen.

9. Die Automatisierung bereitstellen

Stellen Sie sicher, dass Sie den Document Understanding™-Prozess: Studio-Vorlage im Abschnitt Vorlagen auf dem Studio-Startbildschirm verwenden, um Best Practices in der Enterprise-RPA-Architektur anzuwenden.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten