- Überblick
- Verträge zur Dokumentverarbeitung
- Versionshinweise
- Über die DocumentProcessing-Verträge
- Box-Klasse
- IPersistedActivity-Schnittstelle
- PrettyBoxConverter-Klasse
- IClassifierActivity-Schnittstelle
- IClassifierCapabilitiesProvider-Schnittstelle
- ClassifierDocumentType-Klasse
- ClassifierResult-Klasse
- ClassifierCodeActivity-Klasse
- ClassifierNativeActivity-Klasse
- ClassifierAsyncCodeActivity-Klasse
- ClassifierDocumentTypeCapability-Klasse
- ContentValidationData Class
- EvaluatedBusinessRulesForFieldValue Class
- EvaluatedBusinessRuleDetails Class
- ExtractorAsyncCodeActivity-Klasse
- ExtractorCodeActivity-Klasse
- ExtractorDocumentType-Klasse
- ExtractorDocumentTypeCapabilities-Klasse
- ExtractorFieldCapability-Klasse
- ExtractorNativeActivity-Klasse
- ExtractorResult-Klasse
- FieldValue Class
- FieldValueResult Class
- ICapabilitiesProvider-Schnittstelle
- IExtractorActivity-Schnittstelle
- ExtractorPayload-Klasse
- DocumentActionPriority-Enumeration
- DocumentActionData-Klasse
- DocumentActionStatus-Enumeration
- DocumentActionType-Enumeration
- DocumentClassificationActionData-Klasse
- DocumentValidationActionData-Klasse
- UserData-Klasse
- Document-Klasse
- DocumentSplittingResult-Klasse
- DomExtensions-Klasse
- Page-Klasse
- PageSection-Klasse
- Polygon-Klasse
- PolygonConverter-Klasse
- Metadatenklasse
- WordGroup-Klasse
- Word-Klasse
- ProcessingSource-Enumeration
- ResultsTableCell-Klasse
- ResultsTableValue-Klasse
- ResultsTableColumnInfo-Klasse
- ResultsTable-Klasse
- Rotation-Enumeration
- Rule Class
- RuleResult Class
- RuleSet Class
- RuleSetResult Class
- SectionType-Enumeration
- WordGroupType-Enumeration
- IDocumentTextProjection-Schnittstelle
- ClassificationResult-Klasse
- ExtractionResult-Klasse
- ResultsDocument-Klasse
- ResultsDocumentBounds-Klasse
- ResultsDataPoint-Klasse
- ResultsValue-Klasse
- ResultsContentReference-Klasse
- ResultsValueTokens-Klasse
- ResultsDerivedField-Klasse
- ResultsDataSource-Enumeration
- ResultConstants-Klasse
- SimpleFieldValue-Klasse
- TableFieldValue-Klasse
- DocumentGroup-Klasse
- DocumentTaxonomy-Klasse
- DocumentType-Klasse
- Field-Klasse
- FieldType-Enumeration
- FieldValueDetails Class
- LanguageInfo-Klasse
- MetadataEntry-Klasse
- TextType-Aufzählung
- TypeField-Klasse
- ITrackingActivity-Schnittstelle
- ITrainableActivity-Schnittstelle
- ITrainableClassifierActivity-Schnittstelle
- ITrainableExtractorActivity-Schnittstelle
- TrainableClassifierAsyncCodeActivity-Klasse
- TrainableClassifierCodeActivity-Klasse
- TrainableClassifierNativeActivity-Klasse
- TrainableExtractorAsyncCodeActivity-Klasse
- TrainableExtractorCodeActivity-Klasse
- TrainableExtractorNativeActivity-Klasse
- BasicDataPoint-Klasse – Vorschau
- ExtractionResultHandler-Klasse – Vorschau
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding
- Versionshinweise
- Über das Document Understanding-Aktivitätspaket
- Projektkompatibilität
- Konfigurieren einer externen Verbindung
- PDF-Passwort festlegen
- Merge PDFs
- Get PDF Page Count
- Extract PDF Text
- Extract PDF Images
- PDF-Seitenbereich extrahieren
- Extract Document Data
- Validierungsaufgabe erstellen und warten
- Wait for Validation Task and Resume
- Create Validation Task
- Dokument klassifizieren (Classify Document)
- Create Classification Validation Task
- Create Classification Validation Task and Wait
- Wait For Classification Validation Task And Resume
- IntelligentOCR
- Versionshinweise
- Über das IntelligentOCR-Aktivitätspaket
- Projektkompatibilität
- Taxonomie laden (Load Taxonomy)
- Digitalisieren von Dokumenten
- Dokumentbereich klassifizieren (Classify Document Scope)
- Schlüsselwortbasierte Classifier (Keyword Based Classifier)
- Document Understanding-Projektklassifizierer
- Intelligenter Schlüsselwortklassifizierer
- Create Document Validation Action
- Create Document Validation Artifacts
- Artefakte der Dokumentvalidierung abrufen
- Wait For Document Classification Action And Resume
- Klassifizierer-Scope trainieren
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Datenextraktionsumfang
- Document Understanding-Projektextraktor
- Document Understanding Project Extractor Trainer
- Regex Based Extractor
- Form Extractor
- Extraktor für intelligente Formulare
- Dokument zensieren
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Train Extractors Scope
- Extraktionsergebnisse exportieren
- Machine Learning Extractor
- Machine Learning Extractor Trainer
- Machine Learning Classifier
- Machine Learning Classifier Trainer
- Generativer Klassifizierer
- Generativer Extraktor
- Konfigurieren der Authentifizierung
- Validieren von Dokumenten mit App-Aktionen
- Manuelle Validierung für "Digitize Documents"
- Ankerbasierte Datenextraktion mit Intelligent Form Extractor
- Validierungsstation
- Generative Aktivitäten – Bewährte Vorgehensweisen
- Generativer Extraktor – Best Practices
- Generativer Klassifizierer – Bewährte Methoden
- ML-Services
- OCR
- OCR-Verträge
- Versionshinweise
- Über die OCR-Verträge
- Projektkompatibilität
- IOCRActivity-Schnittstelle
- OCRAsyncCodeActivity-Klasse
- OCRCodeActivity-Klasse
- OCRNativeActivity-Klasse
- Character-Klasse
- OCRResult-Klasse
- Word-Klasse
- FontStyles-Enumeration
- OCRRotation-Enumeration
- OCRCapabilities-Klasse
- OCRScrapeBase-Klasse
- OCRScrapeFactory-Klasse
- ScrapeControlBase-Klasse
- ScrapeEngineUsages-Enumeration
- ScrapeEngineBase
- ScrapeEngineFactory-Klasse
- ScrapeEngineProvider-Klasse
- OmniPage
- PDF
- Versionshinweise
- Über das PDF-Aktivitätspaket
- Projektkompatibilität
- Get PDF Page Count
- PDF-Text lesen (Read PDF Text)
- PDF über OCR lesen (Read PDF With OCR)
- XPS-Text lesen (Read XPS Text)
- XPS über OCR lesen (Read XPS With OCR)
- Exportieren einer PDF-Seite als Bild
- Bilder aus PDF exportieren
- Extract Attachments from PDF
- PDF-Seitenbereich extrahieren
- PDF-Dateien zusammenfügen
- Verwalten des PDF-Passworts
- [Nicht aufgeführt] Abbyy
- Versionshinweise
- Über das Abbyy-Aktivitätspaket
- Projektkompatibilität
- Abbyy OCR
- Abbyy Cloud OCR
- FlexiCapture Classifier
- FlexiCapture Extractor
- FlexiCapture Scope
- Dokument klassifizieren (Classify Document)
- Dokument verarbeiten (Process Document)
- Dokument validieren (Validate Document)
- Dokument exportieren (Export Document)
- Feld erhalten (Get Field)
- Tabelle erhalten (Get Table)
- Vorbereiten der Validierungsstationsdaten
- [Nicht aufgeführt] Abbyy Embedded
Document Understanding-Aktivitäten
Im folgenden Beispiel wird erläutert, wie Daten aus einem Formular extrahiert werden, das auch handgeschriebenen Text enthalten kann. Im folgenden Anwendungsszenario wird erläutert, wie Daten aus einer Bestellung extrahiert werden.
Es enthält Aktivitäten wie Digitize Document, Data Extraction Scope oder Intelligent Form Extractor. Diese Aktivitäten finden Sie im Paket UiPath.IntelligentOCR.Activities .
Erstellen des Workflows
Die folgenden Pakete müssen installiert werden, bevor der folgende Workflow erstellt werden kann:
- UiPath.DocumentProcessing.Contracts.Activities
- UiPath.IntelligentOCR.Aktivitäten (UiPath.IntelligentOCR.Activities)
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.WebApi.Activities
Steps:
-
Öffnen Sie Studio und erstellen Sie einen neuen Prozess.
-
Fügen Sie einen Sequence-Container im Workflow Designer hinzu, nennen Sie ihn Sequence1, und erstellen Sie die in der folgenden Tabelle angezeigten Variablen:
Tabelle 1. Zu erstellende Variablen
Variablentyp Standardwert itemString Keine Angabe classificationResultClassificationResult[] Keine Angabe outputFileNameGenericValue Keine Angabe -
Fügen Sie einen weiteren Sequence-Container im Workflow Designer hinzu, nennen Sie ihn Sequence2, und erstellen Sie die in der folgenden Tabelle angezeigten Variablen:
Tabelle 2. Zu erstellende Variablen
Variablentyp Standardwert textString Keine Angabe taxonomyDocumentTaxonomy Keine Angabe domDocument Keine Angabe documentPathString Keine Angabe classificationResult2ClassificationResult[] Keine Angabe outputFileName2GenericValue Keine Angabe -
Add a Message Box activity inside the sequence.
- Wählen Sie im Eigenschaftenbereich die Option Ok von der Dropdownliste Schaltflächen aus. Fügen Sie die folgende Meldung in das Text- Feld ein: „Wählen Sie eine PDF-Datei aus“.
-
Aktivieren Sie das Kontrollkästchen für die Option Oberste. Dadurch wird die „Message Box“ in den Vordergrund gebracht.
-
Fügen Sie eine Select File-Aktivität nach der Message Box-Aktivität hinzu.
- Fügen Sie im Eigenschaftenbereich den folgenden Text in das Feld Filter ein:
Pdf files (*.pdf)|*.pdf - Add the
documentPathvariable in the SelectedFile field.
- Fügen Sie im Eigenschaftenbereich den folgenden Text in das Feld Filter ein:
-
Fügen Sie eine Assign-Aktivität nach der Select File-Aktivität hinzu.
- Add the
outputFileName2variable in the To field. - Fügen Sie den Ausdruck
".temp/" + Path.GetFileName(documentPath)in das Feld Wert ein.
- Add the
-
Fügen Sie eine Deserialize JSON-Aktivität nach der Assign-Aktivität hinzu.
- Add the expression
File.ReadAllText("DocumentProcessing axonomy.json")in the JSON String field. - In the Properties panel, select the UiPath.DocumentProcessing.Contracts.Taxonomy.DocumentTaxonomy option from the TypeArgument dropdown list.
- Add the
taxonomyvariable in the JsonObject field.
- Add the expression
-
Fügen Sie eine Digitize Document-Aktivität nach der Deserialize JSON-Aktivität hinzu.
- In the Properties panel, add the value
1in the DegreeOfParallelism field. - Add the
documentPathvariable in the DocumentPath field. - Add the
domvariable in the DocumentObjectModel field. - Add the
textvariable in the DocumentText field. - Fügen Sie das UiPath® Document OCR- Modul innerhalb der Aktivität hinzu.
- Add your API Key inside the ApiKey field.
- Add the
"https://du.uipath.com/ocr"expression in the Endpoint field.
- In the Properties panel, add the value
-
Fügen Sie eine Write Text File-Aktivität nach der Digitize Document-Aktivität hinzu.
- Add the
JsonConvert.SerializeObject(dom)expression in the Text field. - Add the
outputFileName2 + ".dom.json"expression in the FileName field.
- Add the
-
Fügen Sie eine weitere Write Text File-Aktivität nach der Write Text File-Aktivität hinzu.
- Add the
textvariable in the Text field. - Add the
outputFileName2 + ".text.txt"expression in the FileName field.
- Add the
-
Fügen Sie einen weiteren Sequence-Container im Workflow Designer hinzu, nennen Sie ihn Sequence3, und erstellen Sie die in der folgenden Tabelle angezeigten Variablen:
Tabelle 3. Zu erstellende Variablen
Variablentyp Standardwert extractionResultExtraktionsergebnis Keine Angabe validatedResultsExtraktionsergebnis Keine Angabe doubleValidatedResultsExtraktionsergebnis Keine Angabe datasetDataset Keine Angabe iInt32 Keine Angabe -
Add a Data Extraction Scope activity inside the Sequence3.
- In the Properties panel, add the
domvariable in the DocumentObjectModel field. - Add the
documentPathvariable in the DocumentPath field. - Add the
textvariable in the DocumentText field. - Add the
"All.Benchmarks.Invoice"expression in the DocumentTypeId field. - Add the
taxonomyvariable in the Taxonomy field. - Add the
extractionResultvariable in the ExtractionResults field.
- In the Properties panel, add the
-
Add an Intelligent Form Extractor activity inside the Data Extraction Scope activity.
- Add your API Key in the ApiKey field.
-
Fügen Sie eine Write Text File-Aktivität nach der Aktivität Data Extraction Scope hinzu.
- Add the
JsonConvert.SerializeObject(extractionResult)expression in the Text field. - Add the
outputFileName2 + ".results.json"expression in the FileName field.
- Add the
-
Fügen Sie eine Present Validation Station-Aktivität nach der Write Text File-Aktivität hinzu.
- Add the
extractionResultvariable in the AutomaticExtractionResults field. - Add the
domvariable in the DocumentObjectModel field. - Add the
documentPathvariable in the DocumentPath field. - Add the
textvariable in the DocumentText field. - Add the
taxonomyvariable in the Taxonomy field. - Add the
validatedResultsvariable in the ValidatedExtractionResults field.
- Add the
-
Fügen Sie eine Write Text File-Aktivität nach der Present Validation Station-Aktivität hinzu.
- Add the
JsonConvert.SerializeObject(validatedResults)expression in the Text field. - Add the
outputFileName2 + ".savedinVS.results.json"expression in the FileName field.
- Add the
-
Fügen Sie eine weitere Write Text File-Aktivität nach der Write Text File-Aktivität hinzu.
- Add the
JsonConvert.SerializeObject(doubleValidatedResults)expression in the Text field. - Add the
outputFileName2 + ".doubleSavedinVS.results.json"expression in the FileName field.
- Add the
-
Führen Sie den Prozess aus. Der Automatisierungsprozess sollte die Validation Station öffnen, die Daten extrahieren, validieren und im Ausgabeordner speichern.
Besuchen Sie den folgenden Link, um das Beispiel im ZIP -Format herunterzuladen: Beispiel.
Definieren Ihrer Taxonomie
Sie haben Ihren Workflow erstellt, alle Variablen definiert und alle Aktivitäten angepasst. Jetzt ist es an der Zeit, Ihre Taxonomie zu definieren. Unter Taxonomie laden erfahren Sie mehr über das Definieren Ihrer eigenen Taxonomie.
Erstellen Sie Ihre Taxonomie, um Informationen aus einer Rechnung extrahieren zu können. Sie sollten sich auf das Erstellen eines Dokumenttyps Rechnung mit den in der folgenden Tabelle aufgeführten Feldern konzentrieren:
Tabelle 4. Felder des Rechnungsdokumenttyps
| Feldtyp | |
|---|---|
| RechnungNr | Text |
| Zwischensumme | Number |
| Umsatzsteuer | Number |
| Gesamt | Number |
Abbildung 1. Übersicht über die fertige Taxonomie mit den zuvor genannten Feldern
Erstellen Ihrer Vorlage
Jetzt wird die Vorlage für den Extraktionsprozess erstellt. Unter Taxonomie laden erfahren Sie, wie Sie eine Vorlage erstellen.
Konfigurieren Sie für dieses Beispiel die Vorlage mit den folgenden Werten:
- Dokumenttyp: Rechnung.
- Vorlagenname: Rechnungsbeispiel.
- Vorlagendokument: Wählen Sie die Zieldatei aus.
- OCR-Modul: Microsoft OCR.
- Sprachen: en.
- Profil: Scan.
- Skalierung: 1.
Abbildung 2. Animiertes Bildbeispiel, das die Konfiguration der Vorlage zeigt
Festlegen von Ankern in der Vorlage
Anker sind eine sehr spezielle und nützliche Funktion, wenn Sie präzise Informationen aus einem Dokument extrahieren müssen. Durch das Definieren eines Extraktionsbereichs mit einem Anker können Sie eine hohe Genauigkeit bei der Datenextraktion erwarten.
Nachdem die Taxonomie definiert und die Vorlage erstellt wurde, können Sie mit der Konfiguration der Vorlage beginnen, indem Sie Anker verwenden, d. h. der Extraktionsbereich wird in einem Kasten definiert und Anker werden zum Definieren der Kastenposition verwendet.
Überprüfen Sie die folgende Liste auf einige Hinweise, bevor Sie mit dem Hinzufügen von Ankern zu Ihrer Vorlage beginnen:
- Das Ankerfeld sollte so groß wie möglich sein (Höhe, Breite), um jede Art von Rechnungsnummer, lange, kurze, große Schriftart usw. abzudecken.
- Ein Extraktionsbereich kann so viele Anker wie nötig haben, aber nur einen, der als main definiert ist (der erste).
- Verwenden Sie Anker, die aus mehreren Wörtern nebeneinander bestehen.
- Der Hauptanker sollte sich so nah wie möglich am Extraktionsbereich befinden.
- Die Positionen des Extraktionsbereichs und des Hauptankers sind in der Vorlage festgelegt, auch wenn sie auf verschiedene Dokumente angewendet werden. Das einzige, was variieren kann, ist der Abstand zwischen dem Hauptanker und den sekundären.
Fahren wir mit dem Konfigurieren der Vorlage fort und sehen wir uns an, wie Sie Daten mit einem Anker extrahieren können.
- Legen Sie den Extraktionsbereich fest:
-
Wählen Sie im rechten Bereich der Validation Station die Auswahlmodi.
-
Wählen Sie Anker aus.
-
Beginnen Sie mit der Auswahl des gewünschten Bereichs.
Hinweis:Der Hauptanker sollte zwei oder drei Wörter enthalten, um eine hohe Genauigkeit und bessere Ergebnisse beim Extraktionsprozess zu erzielen.
Wählen Sie beim Taggen eines Ankers mehrere Wörter aus, indem Sie STRG drücken und die gewünschten Wörter auswählen.
-
- Hauptanker festlegen:
- Wählen Sie noch im Anker-Auswahlmodus den gewünschten Bereich als Ihren Hauptanker aus.
- Wählen Sie Wert extrahieren für das gewünschte Feld aus.
- Legen Sie die sekundären Anker fest:
- Stellen Sie sicher, dass Sie sich noch im Anker-Auswahlmodus befinden und die Hauptankerauswahl aktiviert ist.
- Wählen Sie die neuen Bereiche für die sekundären Anker aus.
- Wählen Sie Optionen für das gewünschte Feld und dann Extrahierten Wert ändern aus.
Wiederholen Sie den Vorgang, bis Sie alle Extraktionsbereiche definiert und alle Ihre Anker hinzugefügt haben. Wenn Sie fertig sind, speichern Sie die Vorlage.