Allgemeine Textverarbeitungsparameter
Wenn Sie eine Textverarbeitungsanforderung über die watsonx.ai REST-API übermitteln, schließen Sie eine Nutzlast ein, die Konfigurationsdetails für den Textverarbeitungsvorgang angibt.
Sie können mehrere Textverarbeitungs-APIs verwenden, um Ihre Dokumente zu verstehen und in ein einfacheres Textformat zu konvertieren, das in einer RAG-Lösung verwendet werden kann. Sie können die Textklassifizierungs-API verwenden, um festzustellen, ob Ihr Dokument dem strukturierten Datenformat bestimmter gängiger Dokumenttypen entspricht. Auf der Grundlage des Klassifizierungsergebnisses können Sie dann Ihre Textextraktionsanforderung anpassen, um Text und andere strukturierte Inhalte aus Ihrem Dokument effizienter zu extrahieren.
Legen Sie die folgenden Einstellungen fest, die sowohl für die Textklassifizierung als auch für die REST-API-Anfragen zur Extraktion gelten:
- Sprache des Eingabedokuments
- Text aus Bildern im Eingabedokument verarbeiten
- Schlüssel-Wert-Paare im Eingabedokument verarbeiten
Zusätzlich zu den allgemeinen REST-API-Parametern können Sie Parameter festlegen, die für die verschiedenen Textverarbeitungs-API-Methoden in der Dokumentverstehensbibliothek spezifisch sind. Details hierzu finden Sie in den folgenden Abschnitten:
Angabe der Sprachen des Eingabedokuments mit dem Parameter languages
Wenn Ihr Dokument in einer anderen Sprache als Englisch vorliegt, müssen Sie die Sprache durch ihren ISO 639-Sprachcode im Parameter languages Ihrer API-Anforderung angeben.
"parameters": {
"languages": [
"de"
]
}
Wenn das Dokument mehrere Sprachen enthält, ist jede Sprache einzeln aufzuführen. Der Sprachcode, den Sie angeben, hängt davon ab, ob Ihr Dokument maschinell gedruckten oder handschriftlichen Text enthält. Wenn Ihr Dokument sowohl gedruckten als auch handschriftlichen Text in einer bestimmten Sprache enthält, müssen Sie beide Arten von Sprachcodes in der Liste der Sprachen angeben.
Sprachbeschränkungen bei den Textverarbeitungs-APIs
- Textklassifizierung
Sie können die Klassifizierungs-API nur mit englischsprachigen Dokumenten verwenden.
- Textextraktion
Sie können die Extraktions-API nicht mit einem gemischtsprachigen Dokument verwenden, wenn die Sprachen nicht über eine gemeinsame Schrift verfügen. Sie können jedoch Dokumente mit einer Mischung aus Englisch und einer anderen Sprache in jeder Schrift verwenden. Sie können zum Beispiel Text aus Bildern in einem Dokument mit einer Mischung aus englischem und französischem Text extrahieren, da beide Sprachen auf Latein basieren. Sie können jedoch keinen Text aus Bildern in einem Dokument extrahieren, das eine Mischung aus japanischem und französischem Text enthält.
Sie können die Textextraktions-API verwenden, um Schlüssel-Wert-Paar-Daten nur aus englischsprachigen Dokumenten zu extrahieren.
Unterstützte handschriftliche Sprachen
In der folgenden Tabelle sind die unterstützten Sprachen für die Erkennung handschriftlicher Texte aufgeführt:
| Sprache | Beschwörungsschlüssel |
|---|---|
| Englisch | Hausaufgaben / Hausaufgaben |
| Deutsch | Hausaufgaben / Hausaufgaben |
Unterstützte Sprachen für den Maschinendruck
Die folgende Tabelle enthält Einzelheiten zu den Sprachen, die von der Textextraktions-API für die Erkennung von gedrucktem Text unterstützt werden:
| Sprache | ISO 639-Sprachcode | API-Skript-Code | Script |
|---|---|---|---|
| Acehnisch | ‐ | latn |
Lateinischer Zeichensatz |
| Afrikaans | af |
latn |
Lateinischer Zeichensatz |
| Albanisch | sq |
latn |
Lateinischer Zeichensatz |
| Araukanisch/Mapuche | ‐ | latn |
Lateinischer Zeichensatz |
| Awadhi | ‐ | deva |
Devanagari |
| Aymara | ay |
latn |
Lateinischer Zeichensatz |
| Balinesisch | ‐ | latn |
Lateinischer Zeichensatz |
| Baskisch | eu |
latn |
Lateinischer Zeichensatz |
| Belarussisch | be |
cyrl |
Kyrillisch |
| Bemba | ‐ | latn |
Lateinischer Zeichensatz |
| Bengalisch | ‐ | beng |
Bengalisch |
| Bikol | ‐ | latn |
Lateinischer Zeichensatz |
| Bislamisch | bi |
latn |
Lateinischer Zeichensatz |
| Bhojpuri | ‐ | deva |
Devanagari |
| Bulgarisch | bg |
cyrl |
Kyrillisch |
| Katalanisch | ca |
latn |
Lateinischer Zeichensatz |
| Cebuano | ‐ | latn |
Lateinischer Zeichensatz |
| Tschetschenisch | ‐ | cyrl |
Kyrillisch |
| Chinesisch (vereinfacht) | zh_cn |
cjk |
Han (Vereinfacht) |
| Chinesisch (traditionell) | zh_tw |
cjk |
Han (traditionell) |
| Choctaw | ‐ | latn |
Lateinischer Zeichensatz |
| Cree | cr |
latn |
Lateinischer Zeichensatz |
| Dakota | ‐ | latn |
Lateinischer Zeichensatz |
| Dänisch | da |
latn |
Lateinischer Zeichensatz |
| Dogri | ‐ | deva |
Devanagari |
| Niederländisch | nl |
latn |
Lateinischer Zeichensatz |
| Englisch | en |
latn |
Lateinischer Zeichensatz |
| Englisch (britisch) | en |
latn |
Lateinischer Zeichensatz |
| Estnisch | et |
latn |
Lateinischer Zeichensatz |
| fidschianisch | fj |
latn |
Lateinischer Zeichensatz |
| Filipinisch | fil |
latn |
Lateinischer Zeichensatz |
| Finnisch | fi |
latn |
Lateinischer Zeichensatz |
| Französisch | fr |
latn |
Lateinischer Zeichensatz |
| Französisch (Kanada) | fr |
latn |
Lateinischer Zeichensatz |
| Galizisch | gl |
latn |
Lateinischer Zeichensatz |
| Gayo | ‐ | latn |
Lateinischer Zeichensatz |
| Deutsch | de |
latn |
Lateinischer Zeichensatz |
| Gilbertesisch | ‐ | latn |
Lateinischer Zeichensatz |
| Griechisch | el |
el |
Griechisch |
| Haitianisches Kreol | ht |
latn |
Lateinischer Zeichensatz |
| Hebräisch | he |
he |
Hebräisch |
| Hiligaynon | ‐ | latn |
Lateinischer Zeichensatz |
| Hindu | hi |
deva |
Devanagari |
| Iban | ‐ | latn |
Lateinischer Zeichensatz |
| Iloko | ‐ | latn |
Lateinischer Zeichensatz |
| Indonesisch | id |
latn |
Lateinischer Zeichensatz |
| Irisch | ga |
latn |
Lateinischer Zeichensatz |
| Italienisch | it |
it |
Lateinischer Zeichensatz |
| Japanisch | ja |
cjk |
Japanisch |
| Javanisch | jv |
latn |
Lateinischer Zeichensatz |
| Kachin | ‐ | latn |
Lateinischer Zeichensatz |
| Grönländisch (Kalaallisut) | kl |
latn |
Lateinischer Zeichensatz |
| Khasi | ‐ | latn |
Lateinischer Zeichensatz |
| Kijarwanda | rw |
latn |
Lateinischer Zeichensatz |
| Kongo | kg |
latn |
Lateinischer Zeichensatz |
| Konkani | ‐ | deva |
Devanagari |
| Koreanisch | ko |
cjk |
Koreanisch |
| Kosraeanisch | ‐ | latn |
Lateinischer Zeichensatz |
| Kuanyama | kj |
latn |
Lateinischer Zeichensatz |
| Lateinischer Zeichensatz | la |
latn |
Lateinischer Zeichensatz |
| Niederdeutsch | ‐ | latn |
Lateinischer Zeichensatz |
| Lozi | ‐ | latn |
Lateinischer Zeichensatz |
| Luo | ‐ | latn |
Lateinischer Zeichensatz |
| Mazedonisch | mk |
cyrl |
Kyrillisch |
| Maithili | ‐ | deva |
Devanagari |
| Malagassisch | mg |
latn |
Lateinischer Zeichensatz |
| Manx | gv |
latn |
Lateinischer Zeichensatz |
| Marathi | mr |
deva |
Devanagari |
| Mittelenglisch | ‐ | latn |
Lateinischer Zeichensatz |
| Mittelhochdeutsch | ‐ | latn |
Lateinischer Zeichensatz |
| Minangkabau | ‐ | latn |
Lateinischer Zeichensatz |
| Mohawk | ‐ | latn |
Lateinischer Zeichensatz |
| Mongolisch | mn |
cyrl |
Kyrillisch |
| Ndonga | ng |
latn |
Lateinischer Zeichensatz |
| Nepalesisch | ne |
deva |
Devanagari |
| Nördliches Ndebele | nd |
latn |
Lateinischer Zeichensatz |
| Norwegisch | no |
no |
Lateinischer Zeichensatz |
| Nkore | ‐ | latn |
Lateinischer Zeichensatz |
| Okzitanisch | oc |
latn |
Lateinischer Zeichensatz |
| Ojibwa | oj |
latn |
Lateinischer Zeichensatz |
| Altenglisch | ‐ | latn |
Lateinischer Zeichensatz |
| Altfranzösisch | ‐ | latn |
Lateinischer Zeichensatz |
| Althochdeutsch | ‐ | latn |
Lateinischer Zeichensatz |
| Altnorwegisch | ‐ | latn |
Lateinischer Zeichensatz |
| Altprovenzalisch | ‐ | latn |
Lateinischer Zeichensatz |
| Pampanga | ‐ | latn |
Lateinischer Zeichensatz |
| Pangasinán | ‐ | latn |
Lateinischer Zeichensatz |
| Papiamentu | ‐ | latn |
Lateinischer Zeichensatz |
| Polnisch | pl |
latn |
Lateinischer Zeichensatz |
| Portugiesisch | pt |
pt |
Lateinischer Zeichensatz |
| Portugiesisch (Europäisch) | pt |
pt |
Lateinischer Zeichensatz |
| Quechua | qu |
latn |
Lateinischer Zeichensatz |
| Rätoromanisch | rm |
latn |
Lateinischer Zeichensatz |
| Rundi | rn |
latn |
Lateinischer Zeichensatz |
| Russisch | ru |
cyrl |
Kyrillisch |
| Sango | sg |
latn |
Lateinischer Zeichensatz |
| Sanskrit | sa |
deva |
Devanagari |
| Scots (Lallans) | ‐ | latn |
Lateinischer Zeichensatz |
| Serbisch | sr |
cyrl |
Kyrillisch |
| Schonisch | sn |
latn |
Lateinischer Zeichensatz |
| Spanisch | es |
es |
Lateinischer Zeichensatz |
| Spanisch (Lateinamerika) | es |
es |
Lateinischer Zeichensatz |
| Sundanesisch | su |
latn |
Lateinischer Zeichensatz |
| Suaheli | sw |
latn |
Lateinischer Zeichensatz |
| Siswati | ss |
latn |
Lateinischer Zeichensatz |
| Schwedisch | sv |
sv |
Lateinischer Zeichensatz |
| Tamilisch | ta |
deva |
Tamilisch |
| Tegulu | te |
deva |
Tegulu |
| Thailändisch | th |
th |
Thailändisch |
| Tsongaisch | ts |
latn |
Lateinischer Zeichensatz |
| Tswana | tn |
latn |
Lateinischer Zeichensatz |
| Türkisch | tr |
tr |
Lateinischer Zeichensatz |
| Ukrainisch | uk |
cyrl |
Kyrillisch |
| Usbekisch | uz |
cyrl |
Kyrillisch |
| Vietnamesisch | vi |
vi |
Lateinischer Zeichensatz |
| Xhosa | xh |
latn |
Lateinischer Zeichensatz |
| Zulu | zu |
latn |
Lateinischer Zeichensatz |
Dokumente, die sowohl maschinengeschriebenen als auch handschriftlichen Text enthalten
Wenn Ihr Dokument sowohl maschinell gedruckten als auch handschriftlichen Text enthält, müssen Sie die API mit den Sprachcodes sowohl für das Sprachmodell für maschinell gedruckten Text als auch für das Sprachmodell für handschriftlichen Text aufrufen.
| Sprache | Code erstellen |
|---|---|
| Englisch | languages_list = [ 'en', 'en_hw'] |
| Deutsch | languages_list = [ 'de', 'de_hw'] |
Dokumente in mehreren Sprachen
Die Kombination von Sprachen, die keine gemeinsame Schrift verwenden, wird nicht unterstützt, es sei denn, es handelt sich um eine Kombination aus Englisch und einer anderen Sprache.
Wenn ein Dokument Text in mehreren Sprachen enthält, die entweder das lateinische oder das CJK-Schriftzeichen verwenden, können Sie mehrere Sprachcodes in der languages_list. Wenn Sie beispielsweise sowohl fra als engauch angeben, ordnet der Dienst die Anfrage intern dem latn Modell zu.
Es werden nur die in der Tabelle der unterstützten Sprachen aufgeführten skriptbasierten Sprachen unterstützt. In einer einzelnen Anfrage können nicht mehr als ein Skript angegeben werden.
Zulässige Kombinationen:
['fra', 'spa']– zwei Sprachen, die dieselbe Schrift verwenden['jpn', 'eng']– eine nicht-lateinische Sprache in Kombination mit Englisch (Wenn das Dokument Japanisch und Englisch enthält, reicht es aus, dies anzugeben['jpn'].)['fra', 'spa', 'eng']['jpn', 'kor']– zwei Sprachen, die dieselbe Schrift verwenden['heb', 'eng']– eine nicht-lateinische Sprache in Kombination mit Englisch['latn']– ein Skript['cjk']– ein Skript
Nicht unterstützte Kombinationen:
['heb', 'fra']– eine nicht-lateinische Sprache in Kombination mit einer anderen lateinischen Sprache als Englisch['cjk', 'fra']['jpn', 'fra', 'eng']– eine nicht-lateinische Sprache in Kombination mit zwei lateinischen Sprachen['latn', 'cjk']– zwei verschiedene Skripte
Extrahieren von Text aus Bildern mit dem Parameter ocr_mode
Sie können festlegen, wie Sie Text in Bildern in Ihrem Dokument mit Hilfe der optischen Zeichenerkennung (OCR) verarbeiten wollen. Geben Sie den folgenden Parameter im API-Anforderungstext an:
"parameters": {
"ocr_mode": "enabled"
}
Die folgende Tabelle enthält Einzelheiten zu den verschiedenen OCR-Modi, mit denen Sie angeben können, wie Bilder in Ihrer API-Anfrage verarbeitet werden sollen:
| OCR-Modus | Beschreibung |
|---|---|
disabled |
Bilddateien und gescannte Dokumente werden nicht verarbeitet. Bei hybriden Dokumenten, die sowohl Bildmaterial als auch Text enthalten, wird nur der Text extrahiert. |
enabled |
OCR wird nur ausgeführt, wenn kein Text aus dem Dokument extrahiert werden konnte. In Dokumente eingebettete Bilder werden verarbeitet. |
forced |
Jede Seite des Dokuments wird in ein Bild umgewandelt und mit OCR verarbeitet. Alle Dokumenttypen, einschließlich reiner Textdateien, werden vor der Verarbeitung in Bilder umgewandelt. |
Konfigurieren der Pipeline für die Verarbeitung von Schlüssel-Wert-Paaren mit dem Parameter semantic_config
Sie können strukturierte Informationen identifizieren und in Schlüssel-Wert-Paaren aus unstrukturierten oder halbstrukturierten Dokumenten wie Rechnungen, Formularen, Verträgen oder Quittungen extrahieren. Der verarbeitete Text liegt in einem Format vor, in dem jede Dateneinheit (der Wert) mit einer eindeutigen Kennung (dem Schlüssel) verbunden ist. Die Verarbeitung von Schlüssel-Wert-Paar-Daten erfolgt über ein allgemeines Basismodell oder ein Modell, das auf bestimmte Dokumentenformate abgestimmt ist.
Die Klassifizierung und Extraktion von Schlüssel-Wert-Paaren wird nur für englischsprachige Dokumente unterstützt. Die Grundmodelle, die Sie für die Verarbeitung von Schlüssel-Wert-Paaren verwenden können, variieren je nach Rechenzentrum. Einzelheiten finden Sie unter Regionale Verfügbarkeit von Stiftungsmodellen.
Sie können die Textklassifizierungs-API verwenden, um schnell zu prüfen, ob ein Dokument in eines von mehreren vordefinierten Schemata für gängige Dokumenttypen eingeordnet werden kann, ohne die Extraktion von Schlüssel-Wert-Paaren durchzuführen. Wenn das Dokument keinem vordefinierten Typ entspricht, können Sie einen neuen Dokumenttyp und ein benutzerdefiniertes Schema definieren, bevor Sie eine API-Anforderung zur Textextraktion ausführen.
Verwenden Sie verschiedene semantic_config Parameter im REST-API-Anforderungstext, um die folgenden Pipeline-Funktionen für die Verarbeitung von Schlüssel-Wert-Paaren zu konfigurieren:
Sie legen auch Felder im Parameter semantic_config fest, die für die Text-Extraktions-API-Methode spezifisch sind. Weitere Informationen finden Sie unter „Festlegen, wie Daten in Schlüssel-Wert-Paaren extrahiert werden sollen “.
Definition von Schemata mit dem Feld schemas
Auf der Grundlage des Layouts lassen sich die Dokumente grob in die folgenden Typen einteilen:
- Dokumente mit variablem Layout
- Dokumente ohne einheitliche Struktur, wie z. B. Rechnungen, Bestellungen oder Pässe, bei denen sich die Struktur über mehrere Seiten erstreckt.
- Dokumente mit festem Layout
- Strukturierte Dokumente, bei denen jede Seite einem vordefinierten Format folgt, z. B. ein Steuerformular, bei dem jede Seite ein bestimmtes Layout hat.
Vordefinierte Schemata
Sie können Text aus Ihren Dateien in vordefinierte Schemata für die folgenden unterstützten gängigen Dokumenttypen klassifizieren oder extrahieren:
- Rechnung
- Rechnung eines Versorgungsunternehmens
- Hypothekarkreditdokument
- Frachtbrief
- Zollformular
- Lieferschein
- EXPENSE REPORT
- Beleg
- Einkaufsauftrag
- Steuerformular
- Finanzbericht
- Überweisung oder Zahlungsavis
- Kontoauszug
- Kreditkartenabrechnung
- Führerschein
- Reisepass
- Nationale ID-Karte
- W-4 formular
- I-9 formular
- Aufnahmeformular für Patienten
- Versicherungsanspruch
- Transkript
- Diplom oder Zertifizierung
- Antragsformular für den Standard-Invaliditätsantrag in der Lebensversicherung
- Standardformular für die Genehmigung einer Lebensversicherung
- Standardisiertes Versicherungsformular der Association for Cooperative Operations Research and Development (ACORD)
- Erklärung des Antragstellers - Antragsformular für den Todesfall
- Geschäftslizenz und Genehmigung
Benutzerdefinierte Schemata
Wenn Ihre Dokumente eindeutig strukturierte Inhalte enthalten, können Sie ein benutzerdefiniertes Schema bereitstellen, das spezifische Daten und eindeutige Bezeichner definiert. Wenn Sie ein benutzerdefiniertes Schema angeben, überschreibt der Textextraktionsprozess automatisch die Klassifizierung des Dokuments in eines der vordefinierten Schemata und verwendet nur das Schema, das Sie im Parameter schemas in der semantic_config angeben.
Einzelheiten zur Definition von Parametern in einem benutzerdefinierten Schema finden Sie unter Erstellen von benutzerdefinierten Schemata für die Extraktion von Schlüssel-Wert-Paaren.
Das folgende Beispiel zeigt ein benutzerdefiniertes Schema für eine Quittung im REST-API-Anforderungstext:
"semantic_config": {
"schemas": [ {
"document_type": "Receipt",
"document_description": "A receipt issued for a purchase at ABC store.",
"fields": {
"receipt_number": {
"default": "",
"example": "R-20241027-ABC",
"description": "Unique identifier on the receipt."
},
"customer_name": {
"default": "",
"example": "John Smith",
"description": "Full name of the customer or payee."
},
"date_of_transaction": {
"default": "",
"example": "2023-01-01",
"description": "Date when the purchase or payment occurred."
},
"total_paid": {
"default": "",
"example": "8.64",
"description": "Final amount paid by the customer."
},
"payment_method": {
"default": "",
"example": "Credit Card",
"description": "How payment was made, such as cash, card, check, etc.)."
},
}
} ]
}
Steuerung der Interaktion vordefinierter und benutzerdefinierter Schemata mit dem Feld schemas_merge_strategy
Sie können festlegen, wie von Ihnen erstellte benutzerdefinierte Schemata mit den von der Textverarbeitungs-API unterstützten vordefinierten Schemata interagieren.
Die folgende Tabelle enthält Einzelheiten über die verschiedenen Arten der Verarbeitung vordefinierter und benutzerdefinierter Schemata, wenn Sie die Einstellung schemas_merge_strategy im Parameter semantic_config konfigurieren:
| Einstellung der Schemastrategie | Beschreibung |
|---|---|
replace |
Verwerfen Sie alle vordefinierten Schemata und verwenden Sie nur das benutzerdefinierte Schema. |
merge |
Benutzerdefinierte Schemata werden mit vordefinierten Schemata, die dasselbe document_type -Attribut in der Schemadefinition haben, zusammengeführt und haben Vorrang vor ihnen. |
Wenn Sie ein benutzerdefiniertes Schema für einen Dokumenttyp erstellen, das mit einem unterstützten vordefinierten Schema übereinstimmt, werden beide Schemata standardmäßig zusammengeführt, bevor sie zur Verarbeitung von Schlüssel-Wert-Paar-Daten in Ihrem Dokument verwendet werden.