UiPath Documentation
document-understanding
2022.10
false
Document Understanding-Benutzerhandbuch.
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

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.

Your default option should be UiPath Document OCR since it is included with Document Understanding licenses at no charge. However, in cases where some unsupported languages are required, or some very hard-to-read documents are involved, you might want to try Google Cloud (Cloud only) or Microsoft Read (Cloud or On Premises), which have better language coverage. These engines come at a cost, indeed it is low, but if the accuracy is higher on some critical data fields for your business process, it is strongly recommended to use the best OCR available – saving your time later on since everything downstream depends on it.

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 technology has the main benefit of being able to handle complex problems with high diversity. When estimating the size of a training dataset, one looks first at the number of fields and their types, and the number of languages. A single model can handle multiple languages as long as they are not Chinese/Japanese/Korean. Chinese/Japanese/Korean scenarios generally require separate Training datasets and separate models.

Es gibt 3 Arten von Feldern:

  • Regular fields (date, total amount)
  • 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.
  • Column fields (item unit price, item quantity)
  • 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.
  • Classification fields (currency)
  • 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:

ML technology is designed to handle high diversity scenarios. Using it to train models on low diversity scenarios (1-10 layouts) requires special care to avoid brittle models that are sensitive to slight changes in the OCR text. Avoid this by having some deliberate variability in the training documents, by printing and then scanning or photographing them using mobile phone scanner apps. The slight distortions or changing resolutions make the model more robust.

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.

The numbers above are general guidelines, not strict requirements. In general, you can start with a smaller dataset, and then keep adding data until you get good accuracy. This is especially useful to parallelize the RPA work with the model building. Also, a first version of the model can be used to prelabel additional data (see Settings view and Predict button in Document Manager) which can accelerate labeling additional Training data.

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

Data should be chosen to cover the diversity of the documents likely to be seen in the production workflow. For example, if you get invoices in English but some of them come from the US, India and Australia, they probably look different, so you need to make sure you have document samples from all three. This is relevant not only for the model training itself, but also for labeling purposes. When you label the documents you might discover that you need to extract new, different fields from some of these regions, like GSTIN code from India, or ABN code from Australia. See more in the Define fields section.

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.

When importing Evaluation data into Document Manager, you need to check the “Make this an evaluation set” box on the Import dialog window. This guarantees that the data is held out when training, and also you can easily export it for running Evaluations using the evaluation-set option in the Filter dropdown in Document Manager.

Wichtig:

Starting with the 21.9 Preview release in Automation Cloud and the 21.10 GA On Premises release, Document Manager has switched to handling multi-page documents rather than each page as a separate entity. This is a major change, especially for Evaluations, which were its main motivation. Evaluations need to be representative of the runtime process, and at runtime, multipage documents are processed as a whole, rather than as separate pages. To benefit from this enhancement in ML Packages with version 21.10 or later, you just need to leave the "Backward compatible export" box unchecked in the Export dialog. If you check this box, the dataset is exported in the old page-by-page way, and evaluation scores are not as representative of the runtime performance.

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
  • This is the most important setting as it determines the postprocessing of the values, especially for dates (detects if the format is US-style or non-US style, and then formats them as yyyy-mm-dd) and for numbers (detects the decimal separator – comma or period). ID numbers clean up anything coming before a colon or hash symbol. String content type performs no cleanup and can be used when you want to do your own parsing in the RPA workflow.
  • 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
  • This is relevant only for Evaluation pipelines, and it affects how the accuracy score is calculated. A field that uses Levenshtein scoring is more permissive: if a single character out of 10 is wrong, the score is 0.9. However, if scoring is Exact Match it is more strict: a single wrong character leads to a score of zero. All fields are by default Exact Match. Only String type fields have the option to select Levenshtein scoring.
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:

Each field represents a different concept, and they need to be defined as cleanly and crisply as possible, so there is no confusion. If a human confuses it, the ML model also does that.

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

The company name usually appears at the top of an invoice or a utility bill, but sometimes it might not be readable because there is just a logo, and the company name is not explicitly written out. There could also be some stamp, or handwriting, or wrinkle over the text. In these cases, people might label the name that appears at the bottom right, in the 'Remit payment to' section of the payslip on utility bills. That name is often the same, but not always, since it is a different concept. Payments can be made to some other parent or holding company, or other affiliate entity, and it is visually different on the document. This might lead to poor model performance. In this case, you should create two fields, vendor-name and payment-addr-name. Then you can look both up in a vendor database and use the one that matches, or use payment-addr-name when the vendor-name is missing.

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

Split Items is a setting that appears only for Column fields, and it helps the model know when a line item ends and another begins. As a human looking at a document, to tell how many rows are there, you probably look at how many amounts are on the right side. Each amount refers to a line item in general. This indicates that line-amount is a column where you should enable Split Items. Other columns can also be marked, in case the OCR misses the line-amount, or the model does not recognize it: quantity and unit-price are usually also marked as 'Split Items'.

5. Die Felder konfigurieren

Die wichtigste Konfiguration ist der Inhaltstyp, außer String:

  • Nummer
  • Datum
  • Telefon
  • Identifikationsnummer

These impact post-processing, especially the cleanup, the parsing, and the formatting. The most complex is the Date formatting, but also Number formatting requires determining the decimal point separator and thousands decorator. In some cases, if parsing fails, your option is to report the issue to UiPath support and to fall back on the String content type, which does no parsing. In that case, you need to parse the value in your RPA workflow logic.

Another relevant configuration is the Multi-line checkbox, which is relevant mainly for String type fields. Whenever some other field produces unexpected results or no results, the first thing to try is to change it to String Multi-line field, to see the unaltered output of the model prediction.

6. Das Trainings-Dataset beschriften

When labeling Training data, you need to focus on the bounding boxes of the words in the document pane of Document Manager. The parsed values in the right or top sidebars are not important as they are not used for training.

All fields should be labelled, even if a field appears multiple times on a page, as long as they represent the same concept (see the Define fields section above).

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.

As you label, remain vigilant about fields that may have multiple or overlapping meanings/concepts, in case you might need to split a field into two separate fields, or fields that you do not explicitly need, but which, if labelled, might help you to do certain validation or self-consistency check logic in the RPA workflow. Typical examples are quantity, unit-price, and line-amount on invoice line items. Line-amount is the product of quantity and unit-price, but this is very useful to check for consistency without the need for confidence levels.

7. Das Auswertungs-Dataset beschriften

When labeling Evaluation datasets (also called Test datasets) you need to focus on something slightly different from labeling Training datasets. Whereas for Training datasets only the bounding boxes of the fields on the document matter, for Evaluation datasets only the values of the fields matter. You may edit them by clicking on the value in the right or top sidebar and editing it. To return to the automatically parsed value, click on the lock icon.

Hinweis:

For convenience, speed, and to avoid typos, we recommend clicking on the boxes on the document when labeling and only making corrections manually. Typing full values manually is slower and more error-prone.

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.

When evaluating an ML model, the most powerful tool is the evaluation.xlsx file generated in the artifacts/eval_metrics folder. In this Excel file you can see what predictions are failing and on which files, and you can see immediately if it is an OCR error, an ML Extraction, or parsing error, and if it may be fixed by simple logic in the RPA workflow, or it requires a different OCR engine, more training data, or improving the labelling of the field configurations in Document Manager.

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
  • Invoice number, Date, Total amount (and other fields) must be present
  • 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
  • For each line item, the quantity multiplied by unit price must equal the line amount
  • 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.

This spreadsheet contains a column for each field and a column for the confidence level of each prediction. You can add a column called min_confidence that takes the minimum of all the confidences over all fields that are important for your business process and are not already covered by business rules. For instance, you may not want to put a threshold on the line items confidences, but rather on vendor name, total amount, date, due date, invoice number, and other essential fields. By sorting the table based on the min_confidence column you may see where the errors start appearing and set a threshold above that level to ensure that correctly extracted documents are sent straight through.

11. Training mit Daten aus der Validation Station

Validation Station data can help improve the model predictions, yet, often, it turns out that most errors are not due to the model itself but to the OCR, labelling errors, inconsistencies, or to postprocessing issues (e.g., date or number formatting). So, the first key aspect is that Validation Station data should be used only after the other Data Extraction Components have been verified and optimized to ensure good accuracy, and the only remaining area of improvement is the model prediction itself.

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

The recommendation is to add a maximum of 2-3X the number of pages of Document Manager data and, beyond that, only cherry pick those vendors or document samples where you see major failures. If there are known major changes to the production data, such as a new language, or a new geographic region being onboarded to the business process (expanding from US to Europe or South Asia), then representative data for those languages and regions should be added to Document Manager for manual labelling. Validation Station data is not appropriate for such major scope expansion.

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)

The Auto-Fine-tuning Loop is a Preview capability that becomes useful for maintaining a high-preforming model which you have already created using the steps described above. To ensure that auto-fine-tuning produces better versions of the model it is critical that you have a good Evaluation dataset and that you use an automatically rescheduled Full Pipeline which runs both Training and Evaluation at the same time. In this way, you can see if the most recent Training produced a more accurate model than the previous one, and if so, you are ready to deploy the new model to the ML Skill invoked by the Robots in your business process.

Hinweis:

The Training dataset keeps changing as more data comes in and Document Manager exports periodically as scheduled in the Scheduled Export dialog. The Evaluation runs on the same Evaluation dataset you specify in the pipeline. Evaluation datasets never change automatically, they always need to be curated, labeled and exported manually. You should change your Evaluation set rarely so that accuracy scores can be compared between different Training runs.

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.

As mentioned above in the Create an Evaluation Dataset section, Evaluation Pipeline implementations for ML Packages release 21.10 or later calculate scores on a per-document basis - which reflects accurately the results you see in an RPA workflow. This assumes your dataset was labelled on a per-document basis in Document Manager. You can tell if a multi-page document is labeled on a per-document basis if you can scroll naturally through the pages like in a regular PDF reader. If you need to click next to pass from one page to the next, then each page is considered a separate document.

13. Die Automatisierung bereitstellen

Make sure to use the Document Understanding Process from the Templates section in the Studio start screen in order to apply best practices in Enterprise RPA architecture.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben