- Ü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
- ExtractorAsyncCodeActivity-Klasse
- ExtractorCodeActivity-Klasse
- ExtractorDocumentType-Klasse
- ExtractorDocumentTypeCapabilities-Klasse
- ExtractorFieldCapability-Klasse
- ExtractorNativeActivity-Klasse
- ExtractorResult-Klasse
- 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
- 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
- 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
- Document Understanding Digitizer
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding-Prozess – Studio-Vorlage
- Document Understanding
- Versionshinweise
- Über das Document Understanding-Aktivitätspaket
- Projektkompatibilität
- Dokumentdaten
- 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)
- Intelligenter Schlüsselwortklassifizierer
- Present Classification Station
- Create Document Validation Action
- Wait For Document Classification Action And Resume
- Klassifizierer-Scope trainieren
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Datenextraktionsumfang
- Regex Based Extractor
- Form Extractor
- Extraktor für intelligente Formulare
- Aktuelle Validierungsstation
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Train Extractors Scope
- Extraktionsergebnisse exportieren
- Manuelle Validierung für "Digitize Documents"
- Ankerbasierte Datenextraktion mit Intelligent Form Extractor
- Validierungsstation
- 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
- [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
Ankerbasierte Datenextraktion mit Intelligent Form Extractor
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.
Gezeigt werden Aktivitäten wie Digitize Document, Data Extraction Scopeoder 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
So kann der Automatisierungsprozess aufgebaut werden:</summary>
So kann der Automatisierungsprozess erstellt werden:
- Öffnen Sie Studio und erstellen Sie einen neuen Prozess.
-
Ziehen Sie einen Sequence- Container in den Workflow Designer, nennen Sie ihn Sequence1und erstellen Sie die folgenden Variablen:
Variablenname
Variablentyp
Standardwert
item
String
classificationResult
ClassificationResult[]
outputFileName
GenericValue
-
Ziehen Sie einen weiteren Sequence- Container in den Workflow Designerunter den ersten, nennen Sie ihn Sequence2und erstellen Sie die folgenden Variablen:
Variablenname
Variablentyp
Standardwert
text
String
taxonomy
DocumentTaxonomy
dom
Document
documentPath
String
classificationResult2
ClassificationResult[]
outputFileName2
GenericValue
-
Fügen Sie eine Message Box -Aktivität innerhalb der Sequence hinzu.
-
Wählen Sie im Panel Eigenschaften die Option Ok aus der Dropdownliste Schaltflächen aus. Fügen Sie die folgende Meldung im Feld Text hinzu: „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 unter der Message Box-Aktivität hinzu.
- Fügen Sie im Panel Eigenschaften den folgenden Text in das Feld Filter ein:
Pdf files (*.pdf)|*.pdf
- Fügen Sie die Variable
documentPath
im Feld SelectedFile hinzu.
- Fügen Sie im Panel Eigenschaften den folgenden Text in das Feld Filter ein:
-
Fügen Sie eine Assign-Aktivität unter der Select File-Aktivität hinzu.
- Fügen Sie die Variable
outputFileName2
im Feld An hinzu. - Fügen Sie den Ausdruck
".temp/" + Path.GetFileName(documentPath)
in das Feld Wert ein.
- Fügen Sie die Variable
-
Fügen Sie eine JSON-Deserialize- Aktivität unter der Assign -Aktivität hinzu.
- Fügen Sie den Ausdruck
File.ReadAllText("DocumentProcessing axonomy.json")
in das Feld JSON-String ein. - Wählen Sie im Panel Eigenschaften die Option UiPath.DocumentProcessing.Contracts.Taxonomy.DocumentTaxonomy aus der Dropdownliste TypeArgument aus.
- Fügen Sie die Variable
taxonomy
in das Feld JSONObjekt ein.
- Fügen Sie den Ausdruck
-
Fügen Sie eine Digitize Document -Aktivität unter der Aktivität Deserialize JSON hinzu .
- Fügen Sie im Eigenschaftenbereich den Wert
1
in das Feld Parallelitätsgrad ein. - Fügen Sie die Variable
documentPath
im Feld DocumentPath hinzu. - Fügen Sie die Variable
dom
im Feld Dokumentobjektmodell hinzu. - Fügen Sie die Variable
text
im Feld Dokumenttext hinzu. - Fügen Sie das UiPath® Document OCR -Modul innerhalb der Aktivität hinzu.
- Fügen Sie Ihren API-Schlüssel im Feld ApiKey hinzu .
- Fügen Sie den Ausdruck
"https://du.uipath.com/ocr"
im Feld Endpunkt hinzu .
- Fügen Sie im Eigenschaftenbereich den Wert
-
Fügen Sie eine Aktivität „Textdatei schreiben“ unter der Aktivität „Dokument digitalisieren“ hinzu .
- Fügen Sie den Ausdruck
JsonConvert.SerializeObject(dom)
in das Feld Text ein. - Fügen Sie den Ausdruck
outputFileName2 + ".dom.json"
in das Feld Dateiname ein.
- Fügen Sie den Ausdruck
-
Fügen Sie eine weitere Aktivität „ Write Text File “ unter der Aktivität „ Write Text File “ hinzu.
- Fügen Sie die Variable
text
in das Feld Text ein. - Fügen Sie den Ausdruck
outputFileName2 + ".text.txt"
in das Feld Dateiname ein.
- Fügen Sie die Variable
-
Ziehen Sie einen weiteren Sequence-Container in den Workflow Designer, nennen Sie ihn Sequence3, und erstellen Sie die folgenden Variablen:
Variablenname
Variablentyp
Standardwert
extractionResult
Extraktionsergebnis
validatedResults
Extraktionsergebnis
doubleValidatedResults
Extraktionsergebnis
dataset
Dataset
i
Int32
-
Fügen Sie eine Data Extraction Scope- Aktivität innerhalb der Sequence3 hinzu.
- Fügen Sie im Panel Eigenschaften die Variable
dom
im Feld DocumentObjectModel hinzu. - Fügen Sie die Variable
documentPath
im Feld DocumentPath hinzu. - Fügen Sie die Variable
text
im Feld Dokumenttext hinzu. - Fügen Sie den Ausdruck
"All.Benchmarks.Invoice"
im Feld DocumentTypeId hinzu. - Fügen Sie die Variable
taxonomy
im Feld Taxonomie hinzu. - Fügen Sie die Variable
extractionResult
im Feld ExtractionResults hinzu.
- Fügen Sie im Panel Eigenschaften die Variable
-
Fügen Sie eine Intelligent Form Extractor -Aktivität innerhalb der Aktivität „ Data Extraction Scope “ hinzu.
- Fügen Sie Ihren API-Schlüssel im Feld APISchlüssel hinzu.
-
Fügen Sie die Aktivität „ Write Text File “ unter der Aktivität „ Data Extraction Scope “ hinzu.
- Fügen Sie den Ausdruck
JsonConvert.SerializeObject(extractionResult)
in das Feld Text ein. - Fügen Sie den Ausdruck
outputFileName2 + ".results.json"
in das Feld Dateiname ein.
- Fügen Sie den Ausdruck
-
Fügen Sie die Aktivität Present Validation Station unter der Aktivität Write Text File (Write Text File) hinzu.
- Fügen Sie die Variable
extractionResult
im Feld AutomatischeExtraktionsergebnisse hinzu. - Fügen Sie die Variable
dom
im Feld Dokumentobjektmodell hinzu. - Fügen Sie die Variable
documentPath
im Feld DocumentPath hinzu. - Fügen Sie die Variable
text
im Feld Dokumenttext hinzu. - Fügen Sie die Variable
taxonomy
im Feld Taxonomie hinzu. - Fügen Sie die Variable
validatedResults
im Feld ValidierteExtraktionsergebnisse hinzu.
- Fügen Sie die Variable
-
Fügen Sie die Aktivität „ Write Text File “ unter der Aktivität „ Present Validation Station “ hinzu.
- Fügen Sie den Ausdruck
JsonConvert.SerializeObject(validatedResults)
in das Feld Text ein. - Fügen Sie den Ausdruck
outputFileName2 + ".savedinVS.results.json"
in das Feld Dateiname ein.
- Fügen Sie den Ausdruck
-
Fügen Sie eine weitere Aktivität „ Write Text File “ unter der Aktivität „ Write Text File “ hinzu.
- Fügen Sie den Ausdruck
JsonConvert.SerializeObject(doubleValidatedResults)
in das Feld Text ein. - Fügen Sie den Ausdruck
outputFileName2 + ".doubleSavedinVS.results.json"
in das Feld Dateiname ein.
- Fügen Sie den Ausdruck
- Führen Sie den Prozess aus. Der Automatisierungsprozess sollte die Validation Station öffnen, die Daten extrahieren, validieren und im Ausgabeordner speichern.
Laden Sie das Beispiel hier herunter.
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. Führen Sie dazu die hierbeschriebenen Schritte aus.
Erstellen Sie Ihre Taxonomie, um Informationen aus einer Rechnung extrahieren zu können. Sie sollten sich auf die Erstellung eines Rechnungsdokumenttyps mit den folgenden Feldern konzentrieren:
Name des Felds |
Feldtyp |
---|---|
RechnungNr |
|
Zwischensumme |
|
Umsatzsteuer |
|
Gesamt |
|
So sollte Ihre Taxonomie aussehen:
Erstellen Ihrer Vorlage
Jetzt ist es an der Zeit, die Vorlage für den Extraktionsprozess zu erstellen. Erstellen Sie sie, indem Sie die Anweisungen hier befolgen.
Im folgenden GIF wird erläutert, wie die Vorlage erstellt wird:
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.
In den folgenden GIFs wird erläutert, wie die Anker im Rechnungsdokument verwendet werden, das im obigen Beispiel verwendet wurde. Weitere Details zu Ankern finden Sie hier.
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.
Hier sind einige Hinweise, bevor Sie Ihrer Vorlage Anker hinzufügen:
- 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.
Wir fahren mit der Konfiguration der Vorlage fort und sehen, wie Sie Daten mithilfe eines Ankers extrahieren können. In den folgenden GIFs wird erläutert, wie der Extraktionsbereich markiert und die Haupt- und Sekundäranker hinzugefügt werden.
-
Festlegen des Extraktionsbereichs
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 Markieren eines Ankers mehrere Wörter aus, indem Sie STRG drücken und auf die gewünschten Wörter klicken.
-
Hauptanker festlegen
-
Legen Sie die sekundären Anker fest
Wiederholen Sie den Vorgang, bis Sie alle Extraktionsbereiche definiert und alle Ihre Anker hinzugefügt haben. Wenn Sie fertig sind, speichern Sie die Vorlage.