UiPath Documentation
document-understanding
2024.10
false
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Document Understanding user guide

Letzte Aktualisierung 6. Apr. 2026

Training von leistungsstarken Modellen

The power of Machine Learning Models is that they are defined by training data rather than by explicit logic expressed in computer code. This means that extraordinary care is needed when preparing datasets because a model is only as good as the dataset that was used to train it. In that sense, what UiPath® Studio is to RPA workflows, a Document Type session (in Document UnderstandingDocument UnderstandingTM Cloud) is to Machine Learning capabilities. Both require some experience to be used effectively.

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.

When in doubt, start by training a single model, but keep the documents in different Document Manager batches (check the Filter drop-down at the top of the view) so you can easily separate them later if needed. In this way, the labeling work is not lost. When it comes to ML Models, the more data, the better. So, having a single model with ample data is a good place to start.

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:

  • Training datasets rely on the bounding boxes of the words on the page representing the different pieces of information you need to extract.
  • Bei der Beschriftung eines Trainingssatzes konzentrieren Sie sich auf die Seite selbst und die Wortfelder.
  • Evaluation datasets rely on the values of the fields, that appear in the sidebar (for Regular fields) or the top bar (for Column fields).
  • Wenn Sie einen Evaluationssatz beschriften, konzentrieren Sie sich auf die Werte unter den Feldnamen in der seitlichen oder oberen Leiste. Das bedeutet nicht, dass Sie sie manuell eingeben müssen. Wir empfehlen Ihnen, die Beschriftung zu erstellen, indem Sie auf die entsprechenden Kontrollkästchen auf der Seite wählen und die Korrektheit der Werte überprüfen.

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?

When ML models make predictions, they are basically statistical guesses. The model is saying "this is probably the Total amount" of this Invoice. This begs the question: how probably? Confidence levels are an attempt to answer that question, on a scale from 0 to 1. However, they are NOT true probability estimates. They are just how confident the model is about its guesses, and therefore they depend on what the model has been trained on. A better way to think of them is as a measure of familiarity: how familiar is the model with this model input? If it resembles something the model has seen in training, then it might have a higher confidence. Otherwise it might have a lower confidence.

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.

The best way to catch bad predictions, by far, is through enforcing business rules. For example, we know that on an invoice, the net amount plus the tax amount must equal the total amount. Or that the part numbers for the components ordered must have 9 digits. When these conditions do not hold, we know something has gone wrong, and we can trigger the exception handling flow. The is the preferred and strongly recommended approach. It is worth investing significant effort in building these kinds of rules, even using complex Regular Expressions, or even lookups in databases to validate Vendor names, or part numbers, etc. In some cases you may even want to extract some other document that is not of interest but only to cross reference and validate some values to the original document of interest.

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?

Most components in the Document UnderstandingTM product return a confidence level. The main components of a Document UnderstandingTM workflow are Digitization, Classification and Extraction. Each of these has a certain confidence for each prediction. The Digitization and the Extraction confidence are both visually exposed in the Validation Station, so you can filter predictions and focus only on low confidence ones, to save time.

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. Immer wenn eine größere Architekturaktualisierung für ein Modell vorliegt, wie beispielsweise die mit der Veröffentlichung der Helix Generative KI-basierten Modellarchitektur, ändert sich die Verteilung der Konfidenzstufen und die Konfidenzschwellenwerte müssen erneut 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. 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.

1. Ein OCR-Modul wählen

Um eine OCR-Engine zu wählen, sollten Sie verschiedene Sitzungen des Document Manager erstellen, verschiedene OCR-Engines konfigurieren und versuchen, dieselben Dateien in jede Sitzung zu importieren, um Unterschiede untersuchen zu können. Konzentrieren Sie sich auf die Bereiche, die Sie extrahieren möchten. Wenn Sie zum Beispiel 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.

Please be aware that the Digitize Document activity has the ApplyOcrOnPDF setting set to Auto by default, determining if the document requires to apply the OCR algorithm depending on the input document. Avoid missing the extraction of important information (from logos, headers, footers, etc.) by setting the ApplyOcrOnPDF to Yes, making sure that all text is detected, though it might slow down your process.

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 wichtige Konfigurationen, die Sie kennen müssen:

  • Content type 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.
  • Multi-line checkbox This is for parsing strings like addresses that may appear on more than 1 line of text.
  • Multi-valued checkbox This is for handling multiple choice fields or other fields which may have more than one value, but are NOT represented as a table column. For example, an Ethnic group question on a government form may contain multiple checkboxes where you can select all that apply.
  • Hidden fields Fields marked as Hidden can be labelled but they are held out when data is exported, so the model cannot be trained on them. This is handy when labeling a field is a work in progress, when it is too rare, or when it is low priority.
  • Scoring 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. Only String type fields have the option to select Levenshtein scoring by default.
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 as possible, so there is no confusion. If a human might be confused, the ML model will also be confused.

Moreover, the current bill amount can sometimes be composed of a few different amounts, fees, and taxes and may not appear individualized anywhere on the bill. A possible solution to this is to create two fields: a previous-charges field, and a total field. These two always appear as distinct explicit values on the utility bill. Then the current bill amount can be obtained as the difference between the two. You might even want to include all 3 fields (previous-charges, total, and current-charges) in order to be able to do some consistency checks in cases where the current bill amount appears explicitly on the document. So you could go from one to three fields in some cases.

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

docs image

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.

Screenshot von Anmerkungen in der Tabelle

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

  1. 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.
  2. 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.
  3. Classification fields (currency)
    • Klassifizierungsfelder erfordern in der Regel mindestens 10–20 Dokumentenbeispiele aus jeder Klasse.

In den Richtlinien wird von einem vielfältigen Szenario wie Rechnungen oder Bestellungen mit Dutzenden bis Hunderten oder Tausenden von Layouts ausgegangen. Geht es jedoch um ein nicht vielfältiges Szenario wie ein Steuerformular oder Rechnungen mit sehr wenigen Layouts (unter 5-10), wird die Größe des Datasets durch die Anzahl der Layouts bestimmt. In diesem Fall sollten Sie mit 20 bis 30 Seiten pro Layout beginnen und bei Bedarf mehr hinzufügen – insbesondere wenn die Seiten sehr dicht sind und viele Felder zur Extraktion enthalten.Zum Beispiel sind für die Erstellung eines Modells zur Extraktion von 10 Feldern aus 2 Layouts möglicherweise 60 Seiten erforderlich, aber wenn Sie 50 oder 100 Felder aus 2 Layouts extrahieren müssen, können Sie mit 100 oder 200 Seiten beginnen und bei Bedarf zusätzliche Seiten hinzufügen, um die gewünschte Genauigkeit zu erreichen.In diesem Fall muss nicht unbedingt zwischen normalen Feldern und Spaltenfeldern unterschieden werden.

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 described 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 (check 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.

Beginnen Sie schließlich für die dritte Art von Szenario mit der Größe des Datasets für das zweite Szenario und erhöhen Sie dann den Dataset gemäß der Anzahl neuer Felder, indem Sie dieselben Richtlinien wie beim Ersttraining verwenden: mindestens 20 bis 50 Seiten pro neues reguläres Feld oder mindestens 50 bis 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. Check the Define fields section for more information.

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

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.

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.

5. Den Extraktor trainieren

To create an extractor, go to the Extractors view in Document Understanding and select the Create Extractor button at the top right. You can then select the Document Type, the ML Model and Version you would like to use. You can monitor the progress on the Extractors tab, or in the Details view of the Extractor, which contains a link to the AI Center pipeline, where you can check the detailed logs in real time.

When evaluating an ML model, the most powerful tool is the evaluation_.xlsx file generated in the artifacts/eval_metrics folder in AI Center pipeline details view. On the first sheet you can check a detailed Accuracy scores report, including overall scores, and also per field and per batch.

In dieser Excel-Datei können Sie sehen, welche Vorhersagen fehlschlagen und bei welchen Dateien. Sie können sofort feststellen, ob es sich um einen OCR-Fehler oder einen Fehler bei der ML-Extraktion oder beim Parsing handelt und ob dies durch einfache Logik im RPA-Workflow behoben werden kann oder ob eine andere OCR-Engine, mehr Trainingsdaten oder eine Verbesserung der Beschriftung oder der Feldkonfigurationen in Document Manager erforderlich sind.

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.

Overall, the evaluation_<package_name>.xlsx Excel file is a key resource you need to focus on to get the best results from your AI automation.

Wichtig:

GPU training is highly recommended for large and production datasets. CPU training is much slower and should be used sparingly, for small datasets for demo or testing purposes. For more information, check the Training pipelines page.

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
  • through applying lookups in Systems of Record in the customer organization
  • 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
  • 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.
Hinweis:

In case of numbers, a rounding to eight decimals is performed.

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:

When defining Business Rules, please keep in mind that the Starts with, Ends with, and Contains values are case sensitive.

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.

The main tool to set this threshold is the Excel spreadsheet which is output by the Training pipeline in the Outputs > artifacts > eval_metrics folder.

This evaluation_.xlsx file contains a column for each field, and a column for the confidence level of each prediction. By sorting the table based on the confidence columns you may check where the errors start appearing for any given field and set a threshold above that level to ensure that only correctly extracted documents are sent straight through.

8. Feinabstimmung mithilfe der Daten der Validierungsstation

Validation Station data can help improve the model predictions, yet, in many cases, it turns out that most errors are NOT due to the model itself but to the OCR, labelling errors or 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 auf dem ML-Paket mit der Nebenversion 0 (null) trainieren, der Version, die von UiPath vorgefertigt veröffentlicht wurde.

Wichtig:

It is often wrongly assumed that the way to use Validation Station data is to iteratively train the previous model version, so the current batch is used to train package X.1 to obtain X.2. Then the next batch trains on X.2 to obtain X.3 and so on. This is the wrong way to use the product. Each Validation Station batch needs to be imported into the same Document Manager session as the original manually labeled data making a larger dataset, which must be used to train always on the X.0 ML Package version.

Vorsichtsmaßnahmen bei der Verwendung von Validation Station-Daten

Daten der Validation Station können potenziell viel größer sein, da sie im Produktionsworkflow verwendet werden. Der Dataset sollte nicht mit Daten der Validation Station überflutet werden, da dadurch die Qualität des Modells aufgrund der zuvor erwähnten Probleme aufgrund der Informationsdichte beeinträchtigt werden kann.

Sie sollten maximal das 2-3-fache der Anzahl an Seiten mit Daten des Document Managers hinzuzufügen und darüber hinaus nur die Anbieter oder Beispiele auszuwählen, bei denen Sie größere Fehler feststellen. Bei größeren Änderungen an den Produktionsdaten, z. B. eine neue Sprache oder eine neue geografische Region in den Geschäftsprozess (Erweiterung von den USA auf Europa oder Südasien) sollten repräsentative Daten für diese Sprachen und Regionen zum Document Manager zur manuellen Beschriftung hinzugefügt werden. Daten der Validation Station sind für eine solche große Erweiterung des Umfangs 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.

Here is a sample scenario. You have chosen a good OCR engine, labeled 500 pages in Document Manager, resulting in good performance, and you have deployed the model in a production RPA workflow. Validation Station is starting to generate data. You should randomly select up to a maximum of 1000-1500 pages from Validation Station and import them into the Document Manager together with the first 500 pages and train your ML model again. After that, you should look very carefully at the evaluation_.xlsx to make sure the model actually improved, and then you should deploy the new model to production.

9. Die Automatisierung bereitstellen

Make sure to use the Document Understanding™ Process: Studio Template 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