- Ü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
- Versionshinweise
- Über das Document Understanding-Aktivitätspaket
- Projektkompatibilität
- 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
- Konfigurieren der Authentifizierung
- 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
- Wait For Document Classification Action And Resume
- Klassifizierer-Scope trainieren
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Datenextraktionsumfang
- Document Understanding-Projektextraktor
- 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 .
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 Variablenname
Variablentyp
Standardwert
item
String
Keine Angabe classificationResult
ClassificationResult[]
Keine Angabe outputFileName
GenericValue
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 Variablenname
Variablentyp
Standardwert
text
String
Keine Angabe taxonomy
DocumentTaxonomy
Keine Angabe dom
Document
Keine Angabe documentPath
String
Keine Angabe classificationResult2
ClassificationResult[]
Keine Angabe outputFileName2
GenericValue
Keine Angabe - 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 nach der Message Box-Aktivität hinzu.
- Fügen Sie im Eigenschaftenbereich 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 Eigenschaftenbereich den folgenden Text in das Feld Filter ein:
- Fügen Sie eine Assign-Aktivität nach 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 Deserialize JSON-Aktivität nach 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 nach der Deserialize JSON-Aktivität 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 Write Text File-Aktivität nach der Digitize Document-Aktivität 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 Write Text File-Aktivität nach der Write Text File-Aktivität 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
- 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 Variablenname
Variablentyp
Standardwert
extractionResult
Extraktionsergebnis
Keine Angabe validatedResults
Extraktionsergebnis
Keine Angabe doubleValidatedResults
Extraktionsergebnis
Keine Angabe dataset
Dataset
Keine Angabe i
Int32
Keine Angabe - 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 eine Write Text File-Aktivität nach 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 eine Present Validation Station-Aktivität nach der Write Text File-Aktivität 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 eine Write Text File-Aktivität nach der Present Validation Station-Aktivität 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 Write Text File-Aktivität nach der Write Text File-Aktivität 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.
ZIP
-Format herunterzuladen: Beispiel.
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:
Name des Felds |
Feldtyp |
---|---|
RechnungNr |
|
Zwischensumme |
|
Umsatzsteuer |
|
Gesamt |
|
Jetzt wird die Vorlage für den Extraktionsprozess erstellt. Unter Taxonomie laden erfahren Sie, wie Sie eine Vorlage erstellen.
- Dokumenttyp: Rechnung.
- Vorlagenname: Rechnung-Beispiel.
- Vorlagendokument: Wählen Sie die Zieldatei aus.
- OCR-Modul: Microsoft OCR.
- Sprachen: en.
- Profil: Scan.
- Skala: 1.
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 Option Auswahlmodi aus.
- Wählen Sie Anker aus.
- Beginnen Sie mit der Auswahl des gewünschten Bereichs.
Abbildung 3. Animiertes Bild, das zeigt, wie der Extraktionsbereich festgelegt wird
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.
Abbildung 4. Ein Beispiel für ein animiertes Bild, das zeigt, wie der Hauptanker gesetzt wird
- 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.
Abbildung 5. Animiertes Bildbeispiel, das zeigt, wie sekundäre Anker festgelegt werden
Wiederholen Sie den Vorgang, bis Sie alle Extraktionsbereiche definiert und alle Ihre Anker hinzugefügt haben. Wenn Sie fertig sind, speichern Sie die Vorlage.