- Ü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
- 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
Document Understanding-Aktivitäten
Generativer Extraktor – Best Practices
- Für eine verbesserte Stabilität ist die Anzahl der Eingabeaufforderungen auf maximal 50 begrenzt.
- Die Antwort, das Extraktionsergebnis, auch als Vervollständigung bezeichnet, hat ein Wortlimit von 700. Dies ist auf 700 Wörter begrenzt. Das bedeutet, dass Sie höchstens 700 Wörter aus einer einzelnen Eingabeaufforderung extrahieren können. Wenn Ihre Extraktionsanforderungen diesen Grenzwert überschreiten, können Sie das Dokument auf mehrere Seiten verteilen, sie einzeln verarbeiten und die Ergebnisse anschließend zusammenführen.
Stellen Sie sich vor, Sie stellen vier oder fünf verschiedenen Personen die Frage, die Sie der generativen Eingabeaufforderung stellen möchten. Wenn Sie sich vorstellen können, dass diese Personen leicht unterschiedliche Antworten geben, dann ist Ihre Sprache zu doppeldeutig und Sie müssen sie genauer formulieren.
Wenn Sie der Eingabeaufforderung beispielsweise eine allgemeine Anforderung geben, z. B. „Extrahieren Sie alle persönlichen Informationen des Patienten als durch Komma getrennte Schlüssel-Wert-Paare“, erwartet das Modell bestimmte Informationen selbst.
- Wo sich die personenbezogenen Informationen im Dokument befinden.
- Was ist persönlich und was ist nicht persönlich (was sehr zweideutig ist).
- Was der Benutzer als „Schlüssel“ erwartet, welcher Wert jeder Schlüssel hat und welches genaue Format der Benutzer erwartet.
- Sollten Klammern verwendet werden? Oder nur jedes Schlüssel-Wert-Paar in einer separaten Zeile?
- „Vorname des Patienten extrahieren“
- „Nachname des Patienten extrahieren“
- „Extrahieren Sie die Adresse des Patienten, einschließlich Ort, Bundesland und Postleitzahl.“
- „Geheimnis des Patienten extrahieren“
Ihre Frage zu präzisieren, bitten Sie den Extraktor, die Antwort in einem standardisierten Format zurückzugeben. Dies reduziert Mehrdeutigkeiten, erhöht die Antwortgenauigkeit und vereinfacht die Weiterverarbeitung.
return date in yyyy-mm-dd format
. Wenn Sie nur das Jahr benötigen, geben Sie Folgendes an: return the year, as a four digit number
.
return numbers which appear in parentheses as negative
oder return number in ##,###.## format
, um das Dezimaltrennzeichen und das Tausendertrennzeichen für eine einfachere Weiterverarbeitung zu standardisieren.
Ein Sonderfall der Formatierung ist, wenn die Antwort zu einer bekannten Reihe möglicher Antworten gehört.
What is the applicant’s marital status? Possible answers: Married, Unmarried, Separated, Divorced, Widowed, Other.
Dies vereinfacht nicht nur die Weiterverarbeitung, sondern erhöht auch die Antwortgenauigkeit.
What is the termination date of this contract?
, sollten Sie fragen: First find termination section of contract, then determine termination date, then return date in yyyy-mm-dd format.
Execute the following program:
1: Find termination section or clause
2: Find termination date
3: Return termination date in yyyy-mm-dd format
4: Stop
Execute the following program:
1: Find termination section or clause
2: Find termination date
3: Return termination date in yyyy-mm-dd format
4: Stop
Wenn Sie Ihre Wünsche in einem Programmierstil definieren, möglicherweise sogar unter Verwendung der JSON- oder XML-Syntax, ist das generative Modell gezwungen, seine Programmierkenntnisse einzusetzen, was die Präzision beim Befolgen von Anweisungen erhöht.
Bitten Sie den Extraktor nicht, Summen, Multiplikationen, Subtraktionen, Vergleiche oder andere arithmetische Operationen durchzuführen, da er grundlegende Fehler macht und außerdem sehr langsam und kostspielig ist – im Gegensatz zu einem einfachen Roboter-Workflow, der nie einen Fehler macht und viel schneller und billiger ist.
Lassen Sie ihn keine komplexe if-then-else-Logik ausführen – aus demselben Grund wie oben. Der Roboter-Workflow ist bei dieser Art von Vorgängen viel genauer und effizienter.
Der generative Extraktor unterstützt derzeit keine Spaltenfelder. Obwohl Sie möglicherweise kleinere Tabellen durch reguläre Fragen extrahieren und deren Ausgabe analysieren können, beachten Sie bitte, dass dies nur eine Problemumgehung ist und mit Einschränkungen verbunden ist. Es ist weder zum Extrahieren generischer, beliebig großer Tabellen konzipiert noch empfohlen.
Das Extrahieren von Daten aus Tabellen ist eine Herausforderung für den Generative Extractor. Die Generative AI-Technologie arbeitet mit linearen Textzeichenfolgen und versteht visuelle zweidimensionale Informationen in Bildern nicht. Es können keine Tabellenfelder, wie im Taxonomiemanager definiert, extrahiert werden, aber Text und Tabellen können aus Dokumenten extrahiert werden.
- Bitten Sie den generativen Extraktor, Spalten separat zurückzugeben, und stellen Sie dann die Zeilen selbst in einem Workflow zusammen. Möglicherweise fragen Sie:
Please return the Unit Prices on this invoice, as a list from top to bottom, as a list in the format [<UnitPrice1>, <UnitPrice2>,…]
- Bitten Sie ihn, jede Zeile separat als JSON-Objekt zurückzugeben. Sie fragen eventuell:
Please return the line items of this invoice as an JSON array of JSON objects, each object in format: {"description”: <description>, “quantity”:<quantity>, “unit_price”:<unit price>, “amount”:<amount>}
.
Generative KI-Modelle bieten keine Konfidenzniveaus für die Vorhersagen. Das Ziel ist jedoch, Fehler zu erkennen, und Konfidenzniveaus sind nur eine mögliche Möglichkeit, dieses Ziel zu erreichen – und nicht die beste. Eine viel bessere und zuverlässigere Möglichkeit, Fehler zu erkennen, besteht darin, dieselbe Frage auf mehrere Arten zu stellen. Je unterschiedlicher die Fragestellung, desto besser. Wenn alle Antworten zu einem gemeinsamen Ergebnis führen, ist die Wahrscheinlichkeit eines Fehlers sehr niedrig. Stimmen die Antworten nicht überein, ist die Fehlerwahrscheinlichkeit hoch.
Zum Beispiel können Sie dieselbe Frage zwei, drei oder sogar fünf Mal wiederholen (je nachdem, wie wichtig es ist, nicht erfasste Fehler in Ihrem Verfahren zu vermeiden) und die oben genannten Vorschläge in verschiedenen Kombinationen kombinieren. Wenn alle Antworten konsistent sind, ist eine menschliche Überprüfung möglicherweise nicht erforderlich. Wenn eine der Antworten jedoch unterschiedlich ist, muss die manuelle Überprüfung durch eine Person im Action Center erforderlich sein.