- Ü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
- 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 Vervollständigung genannt, hat ein Wortlimit von 700. Dies ist auf 700 Wörter begrenzt. Das bedeutet, dass Sie nicht mehr als 700 Wörter aus einer einzelnen Aufforderung extrahieren können. Wenn Ihre Extraktionsanforderungen diesen Grenzwert überschreiten, können Sie das Dokument auf mehrere Seiten aufteilen, diese einzeln verarbeiten und die Ergebnisse anschließend zusammenführen.
Präzise Sprache verwenden
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.
Unter Berücksichtigung der vorherigen Anforderung muss das Modell die folgenden Informationen selbst herausfinden:
- 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?
Es gibt zahlreiche Schritte und viele verschiedene Möglichkeiten, die Anfrage zu beantworten. Da generative KI grundsätzlich nicht deterministisch ist, ist die Wahrscheinlichkeit umso höher, je länger die Antwort ist, desto höher ist die Wahrscheinlichkeit, dass die Antwort jedes Mal anders ausfällt – auch wenn das Modell nicht deterministisch ist auf null festgelegt.
Um das zuvor beschriebene Problem zu vermeiden, teilen Sie Ihre umfassende Anfrage mit einer möglicherweise langen Antwort in andere einfachere Fragen auf, die eine kurze Antwort generieren. Sie können z. B. Ihre allgemeine Eingabeaufforderungsanforderung in die folgenden kleineren Anforderungen aufteilen:
- „Vorname des Patienten extrahieren“
- „Nachname des Patienten extrahieren“
- „Extrahieren Sie die Adresse des Patienten, einschließlich Ort, Bundesland und Postleitzahl.“
- „Geheimnis des Patienten extrahieren“
Wenn Sie Ihre Abfrage in mehrere kleinere Abfragen aufteilen, erhalten Sie eine höhere Genauigkeit und viel konsistentere und reproduzierbare Ergebnisse, wobei lange Textzeichenfolgen, die von der KI erzeugt werden, nicht mehr analysiert werden müssen.
Ausgabeformat angeben
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.
Wenn Sie beispielsweise die generative Eingabeaufforderung fragen, um ein Datum zu erhalten, geben Sie an, wie das Datum zurückgegeben werden soll: 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.
Sie können diesen Ansatz auch für Zahlen verwenden. Sie können z. B. Folgendes angeben: 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.
Erwartete Optionen angeben
Ein Sonderfall der Formatierung ist, wenn die Antwort zu einer bekannten Reihe möglicher Antworten gehört.
In einem Antragsformular können Sie zum Beispiel fragen: 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.
Schritt für Schritt
Teilen Sie komplexe Fragen in einfache Schritte auf, um die Genauigkeit zu maximieren. Anstatt zu fragen 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.
Es gibt viele Möglichkeiten, dies aufzuschlüsseln. Sie können Ihre Anfrage sogar als kleines Computerprogramm schreiben, wie folgt:
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.
Vermeiden Sie arithmetische oder logische Probleme
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.
Tabellen
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.
Um Daten optimal aus Tabellen zu extrahieren, können Sie mindestens zwei Ansätze wählen, einschließlich der folgenden:
- 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>}.
Konfidenzniveau
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.