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

Document Understanding-Benutzerhandbuch.

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Letzte Aktualisierung 11. Nov. 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 der Document Manager für Machine Learning. 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, auch wenn es eventuell in mehreren verschiedenen Sprachen verfasst ist. Es ist wichtig, dass jedes Feld (Gesamtbetrag, Datum usw.) stets dieselbe Bedeutung hat. So wie sich ein Mensch beim richtigen Wert für ein Feld täuschen kann, kann das Gleiche bei einem ML-Modell vorkommen.

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 Dropdownmenü „Filter“ oben in der Mitte der Document Manager-Ansicht). Sie können die Dokumente später bei Bedarf einfach trennen, um zu vermeiden, dass die Beschriftungsarbeit verloren geht. Bei ML-Modellen gilt: je mehr Daten, desto besser. Beginnen Sie mit einem einzelnen Modell mit umfangreichen Daten.

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

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 Dokumenten-Workflows erforderlich sind), führen Sie die folgenden Schritte aus:

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

    • Dies beeinflusst die OCR, die Wort- und Zeilenbildung (die teilweise von der OCR abhängt) und alles, was folgt.
  2. Wählen Sie ein ausgewogenes und repräsentatives Dataset für das Training
  3. Ein repräsentative Dataset für die Auswertung wählen
  4. Die zu extrahierenden Felder definieren
  5. Die Felder konfigurieren
  6. Das Trainings-Dataset beschriften
  7. Das Auswertungs-Dataset beschriften
  8. Das Modell im AI Center trainieren und auswerten
  9. Definieren und Implementieren der Geschäftsregeln für die Ausgabe von Verarbeitungsmodellen
  10. Konfidenz-Schwellenwert(e) für die Extraktion auswählen (optional)
  11. Training mit Daten aus der Validation Station
  12. Die Schleife für die automatische Feinabstimmung (Vorschau)
  13. 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. Ein Trainings-Dataset erstellen

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:

  • 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.
  • 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.
  • 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.

3. Ein Auswertungs-Dataset erstellen

Bei Trainingssätzen sind die Seiten und die Anzahl der Seiten am wichtigsten. Bei Auswertungssätzen beziehen wir uns nur auf Dokumente und die Anzahl der Dokumente. Die Punktzahlen für die Releases ab v2021.10 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 Rechnungsverkehrs 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 im Dialogfenster für den Import das Kontrollkästchen Zu einem Auswertungssatz machen aktivieren. Das stellt sicher, dass die Daten beim Training herausgehalten werden. Sie können sie auch einfach für die Ausführung von Auswertungen exportieren, indem Sie die „evaluation-set“-Option vom Filter-Dropdownmenü im Document Manager verwenden.

Wichtig: Ab dem Vorschau-Release 21.9 in Automation Cloud und dem allgemein verfügbaren lokalen Release 21.10 verarbeitet der Document Manager mehrseitige Dokumente statt einzelner Seiten als separate Entität. Das ist eine große Veränderung, gerade für Auswertungen, die der Hauptgrund waren. Auswertungen müssen repräsentativ für den Laufzeitprozess sein. Zur Laufzeit werden mehrseitige Dokumente als Ganzes anstatt als separate Seiten verarbeitet. Um von dieser Verbesserung bei ML-Paketen mit Version 21.10 oder höher zu profitieren, müssen Sie nur das Kontrollkästchen „Abwärtskompatibler Export“ im Export-Dialogfeld deaktiviert lassen. Wenn Sie dieses Kontrollkästchen aktivieren, wird das Dataset auf die alte Weise exportiert (Seite für Seite) und die Auswertungspunktzahlen gelten nicht als repräsentativ für die Laufzeitleistung.

4. 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.
  • 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
  • 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 falsches Zeichen 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. 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 klar und genau wie möglich definiert werden, damit keine Verwirrung entsteht. Wenn es für einen Menschen nicht eindeutig ist, wird es auch das ML-Modell unklar sein.

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 steht 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 mit den Zahlungsinformationen auf der Betriebskostenabrechnung 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 anderweitig 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: Anbietername und Zahlungsadressenname. Dann können Sie beide in einer Anbieterdatenbank überprüfen und den passenden verwenden oder den Zahlungsadressennamen 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 zwei 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 damit kann das Modell erkennen, 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. Im Allgemeinen entspricht jeder Betrag einer Position. Das deutet darauf hin, dass „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: quantity (Menge) und unit-price (Stückpreis) werden in der Regel auch mit „Elemente aufteilen“ markiert.

5. Die Felder konfigurieren

Die wichtigste Konfiguration ist der Inhaltstyp, außer 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 Möglichkeit, das Problem dem Support von UiPath zu melden und auf den Inhaltstyp String zurückzugreifen, der keine Analysen vornimmt. In diesem Fall müssen Sie den Wert in Ihrer RPA-Workflow-Logik analysieren.

Eine weitere relevante Konfiguration ist das Kontrollkästchen Mehrzeilig, das hauptsächlich für Felder des Typs String relevant ist. Immer wenn ein anderes Feld unerwartete oder keine Ergebnisse liefert, sollten Sie zuerst versuchen, es in ein Feld für einen Mehrzeiligen String zu ändern, um die unveränderte Ausgabe der Modellvorhersage anzuzeigen.

6. 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.

Alle Felder sollten beschriftet werden, auch wenn ein Feld mehrmals auf einer Seite erscheint, solange sie dasselbe Konzept darstellen (siehe Abschnitt Felder definieren oben).

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.

7. Das Auswertungs-Dataset beschriften

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.

Hinweis: Zur Vereinfachung, schnelleren Verarbeitung und Vermeidung von Tippfehlern empfehlen wir, beim Beschriften auf die Felder im Dokument zu klicken und lediglich Korrekturen manuell vorzunehmen. Die manuelle Eingabe vollständiger Werte ist langsamer und fehleranfälliger.

8. Das Modell trainieren und auswerten

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 Trainings- oder Testdaten besteht. Der Typ eines bestimmten Dokuments wird direkt unter dem Dateinamen in der oberen Mitte des Fensters vom Document Manager angezeigt.

Bei der Auswertung eines ML-Modells ist das leistungsstärkste Tool die evaluation.xlsx-Datei, die 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 ein anderes OCR-Modul, mehr Trainingsdaten, eine bessere Beschriftung oder 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.

9. 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 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 Prozentsatz korrekter Vorhersagen mit geringer Konfidenz oder falscher Vorhersagen mit hoher Konfidenz geben. Insbesondere hat ein fehlendes Feld keine Konfidenz, sodass ein Konfidenzschwellenwert nie Fehler erkennen kann, wodurch ein Feld überhaupt nicht extrahiert wird. Daher sollten Konfidenzschwellenwerte nur als Ersatzlösung, als Sicherheitsnetz, verwendet werden, jedoch nie 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.

Insbesondere sollten die Konfidenzniveaus von Spaltenfeldern selten 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 höchstwahrscheinlich 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.

10. Einen Konfidenz-Schwellenwert 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 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 aller 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 über dieser Ebene festlegen, um sicherzustellen, dass korrekt extrahierte Dokumente direkt gesendet werden.

11. Training mit Daten aus der Validation Station

Validation Station-Daten können zur Verbesserung der Modellvorhersagen beitragen. Doch oft 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 das ML-Paket mit der Nebenversion 0 (null) für das Training verwenden, also der vorgefertigten Version, die von UiPath veröffentlicht wurde.

Wichtig: Es wird oft fälschlicherweise angenommen, dass Daten aus der Validation Station dazu verwendet werden, die vorherige Modellversion iterativ erneut 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.

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 Dokumentenbeispiele 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 (Expansion von den USA nach Europa oder Südasien), dann sollten für diese Sprachen und Regionen im Document Manager 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.

12. Die Schleife für die automatische Feinabstimmung (Vorschau)

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.

Hinweis: Das Trainings-Dataset ändert sich ständig mit den neuen Daten und Document Manager exportiert periodisch wie im Dialogfeld „Geplanter Export“ vorgesehen. Die Auswertung wird für dasselbe Auswertungs-Dataset ausgeführt, das Sie in der Pipeline angeben. Auswertungs-Datasets ändern sich nie automatisch, sie müssen immer manuell kuratiert, beschriftet und exportiert werden. Sie sollten Ihren Auswertungssatz nur selten ändern, damit die Genauigkeitspunktzahlen zwischen verschiedenen Trainingsausführungen verglichen werden können.

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 Release 21.10 oder höher die Punktzahlen 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 auf „Weiter“ klicken müssen, um von einer Seite zur nächsten zu wechseln, gilt jede Seite als separates Dokument.

13. Die Automatisierung bereitstellen

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.

War diese Seite hilfreich?

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