Konvertieren Sie hochwertige PDF-Geschäftsdokumente in ein einfacheres Dateiformat, das von KI-Modellen verwendet werden kann.
Sie können die Dokumenttextextraktionsmethode der watsonx.ai REST-API verwenden, um stark strukturierte PDF-Dateien mit Diagrammen, Bildern und Tabellen in ein Dateiformat zu konvertieren, das sich leichter programmatisch verarbeiten lässt, z. B. Markdown oder JSON.
Die Textextraktion ist nur bei kostenpflichtigen Tarifen verfügbar. Die Abrechnung erfolgt nach der Anzahl der bearbeiteten Seiten. Weitere Informationen finden Sie unter Abrechnungsdetails für generative KI-Assets.
Die Vereinfachung Ihrer Geschäftsdokumente auf diese Weise ist besonders nützlich für abruferweiterte Generierungsaufgaben, bei denen Sie Informationen finden möchten, die für eine Benutzerabfrage relevant sind, und diese in die Eingabe eines foundation model aufnehmen möchten. Die Einbeziehung genauer kontextbezogener Informationen in die Modelleingabe hilft dem foundation model, sachliche und aktuelle Informationen in die Modellausgabe einzubeziehen. Weitere Informationen finden Sie unter Retrieval-augmented generation (RAG).
Die Textextraktions-API wendet die von IBM entwickelte Technologie zum Verstehen natürlicher Sprache an, um Dokumentstrukturen zu erkennen.
Die Textextraktion ist ein asynchroner Prozess, bei dem eine Datei nach der anderen konvertiert wird. Sie können parallele Methodenanforderungen stellen, um Text aus einer Reihe von Dokumenten zu extrahieren.
Unterstützte Dateitypen
Sie können die API verwenden, um Text aus den folgenden Dateitypen zu extrahieren:
- PDF-Datei
Sie können den extrahierten Text in den folgenden Formaten speichern:
- JSON
- Markdown
Verwaltung Ihrer Dokumente
Sie fügen die Dokumente, die Sie verarbeiten möchten, in IBM Cloud Object Storage ein, damit Sie sie über die API referenzieren können.
Es werden nur Verbindungs-Assets unterstützt, die das Schlüsselpaar Access Key und Secret Key für Anmeldeinformationen verwenden. Weitere Informationen zum Einrichten der Verbindung finden Sie unter Referenzierung von Dateien über die API.
Sie referenzieren die Datei, die Sie zu IBM Cloud Object Storage hinzufügen, zum Beispiel wie folgt:
"document_location": {
"type": "connection_asset",
"connection": {
"id": "6f5688fd-f3bf-42c2-a18b-49c0d8a1920d"
},
"location": {
"file_name": "document.pdf",
"bucket":"janessandbox"
}
}
Sie legen den Speicherort für die erzeugte Ausgabedatei wie folgt fest:
"results_location": {
"type": "connection_asset",
"connection": {
"id": "6f5688fd-f3bf-42c2-a18b-49c0d8a1920d"
},
"location": {
"file_name": "extracted_document.json"
}
}
Unterstützte Sprachen
Die Fähigkeit, Text aus Bildern zu extrahieren, wird als optische Zeichenerkennung (OCR) bezeichnet. Diese Funktion ist nützlich, um Informationen zu erhalten, die in Bildern, Diagrammen oder in Text eingebettet sind, z. B. in gescannten PDF-Dateien.
Obwohl die optische Zeichenerkennung Text aus verrauschten Bildern extrahieren kann, muss die Qualität der Bilddateien die Mindestanforderung von 80 DPI (dots per inch) erfüllen.
Wenn das Dokument mit den Bildern, das Sie konvertieren möchten, in einer anderen Sprache als Englisch vorliegt, müssen Sie die Sprache durch ihren ISO 639-Sprachcode im Parameter language_list
Ihrer Anfrage angeben.
"languages_list": [
"fr"
]
Wenn das Dokument mehrere Sprachen enthält, ist jede Sprache einzeln aufzuführen. Die optische Zeichenerkennung kann Bilder in einem gemischtsprachigen Dokument nur dann umwandeln, wenn die Sprachen eine gemeinsame Schrift haben. 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 OCR jedoch nicht verwenden, um Text aus Bildern in einem Dokument zu extrahieren, das sowohl japanischen als auch englischen Text enthält.
Die optische Zeichenerkennung kann Text aus Bildern in Dokumenten extrahieren, die in den folgenden Sprachen verfasst sind:
Sprache | ISO 639-Sprachcode | Script |
---|---|---|
Chinesisch (vereinfacht) | zh-CN |
Chinesisch |
Chinesisch (traditionell) | zh-TW |
Chinesisch |
Dänisch | da |
lateinischer Zeichensatz |
Niederländisch | nl |
lateinischer Zeichensatz |
Englisch | en |
lateinischer Zeichensatz |
Englische Handschrift | en_hw |
lateinischer Zeichensatz |
Finnisch | fi |
lateinischer Zeichensatz |
Französisch | fr |
lateinischer Zeichensatz |
Deutsch | de |
lateinischer Zeichensatz |
Griechisch | el |
Griechisch |
Hebräisch | he |
Hebräisch |
Italienisch | it |
lateinischer Zeichensatz |
Japanisch | ja |
Japanisch |
Koreanisch | ko |
Koreanisch |
Norwegisch (Bokmål) | nb |
lateinischer Zeichensatz |
Norwegisch (Nynorsk) | nn |
lateinischer Zeichensatz |
Polnisch | pl |
lateinischer Zeichensatz |
Portugiesisch | pt |
lateinischer Zeichensatz |
Spanisch | es |
lateinischer Zeichensatz |
Schwedisch | sv |
lateinischer Zeichensatz |
Extrahieren von Text aus Tabellen
Konvertieren Sie tabellarische Daten in einem Dokument in verbrauchbaren Text, der die Tabelleninformationen enthält. Viele große Sprachmodelle haben Schwierigkeiten, tabellarische Informationen korrekt zu interpretieren.
Um die Tabellenkonvertierung zu aktivieren, geben Sie den folgenden Parameter in Ihrer Anfrage an.
"steps": {
"tables_processing": {
"enabled": true
}
}
Auswahl des Ausgabedateiformats
Standardmäßig wird der extrahierte Text in JSON-Syntax geschrieben. Wenn Sie möchten, dass der extrahierte Text stattdessen in Markdown geschrieben wird, geben Sie den folgenden Parameter im API-Anforderungstext an:
"assembly_md": {}
API-Details
Das folgende Diagramm zeigt den Arbeitsablauf, den Sie verwenden, um strukturelle Informationen über ein Geschäftsdokument mit der API für die Textextraktion zu extrahieren.
Befolgen Sie diese allgemeinen Schritte, um mit der REST-API Text aus einem Geschäftsdokument zu extrahieren:
Fügen Sie die Datei, aus der Sie den Text extrahieren möchten, zu einem IBM Cloud Object Storage Bucket hinzu und definieren Sie dann eine Verbindung von Ihrem watsonx.ai Projekt zu der IBM Cloud Object Storage Service-Instanz.
Weitere Informationen finden Sie unter Referenzierung von Dateien über die API.
Verwenden Sie die Methode Start a text extraction request, um den Textextraktionsprozess zu starten.
Beachten Sie die ID, die im Feld
metadata.id
zurückgegeben wird. Sie verwenden diese ID als Extraktions-ID, um den Status Ihres Antrags im nächsten Schritt zu überprüfen.Verwenden Sie die Methode Get the results of the request, um den Status Ihrer Anfrage zu überprüfen.
Die Überprüfung des Status ist die einzige Möglichkeit, um herauszufinden, ob der Prozess aus irgendeinem Grund fehlgeschlagen ist.
Wenn der Status
Completed
ist, ist die extrahierte Textdatei im angegebenen IBM Cloud Object Storage Bucket verfügbar.Laden Sie die generierte Datei von Cloud Object Storage herunter.
Einzelheiten zu den API-Methoden finden Sie in der API-Referenzdokumentation.
Anforderungsbeispiel
Mit dem folgenden Befehl wird zum Beispiel eine Anforderung zum Extrahieren von Text aus der Datei " retail_guidebook.pdf
und zum Speichern im Markdown-Format übermittelt.
curl -X POST \
'https://{region}.ml.cloud.ibm.com/ml/v1/text/extractions?version=2024-10-18' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJraWQiOi...'
Der Anfragekörper sieht wie folgt aus:
{
"project_id": "e40e5895-ce4d-42a3-b699-8ac764b89a09",
"document_reference": {
"type": "connection_asset",
"connection": {
"id": "5c0cefce-da57-408b-b47d-58f7785de3ee"
},
"location": {
"bucket":"my-cloud-object-storage-bucket",
"file_name": "retail_guidebook.pdf"
}
},
"results_reference": {
"type": "connection_asset",
"connection": {
"id": "5c0cefce-da57-408b-b47d-58f7785de3ee"
},
"location": {
"bucket":"my-cloud-object-storage-bucket",
"file_name": "output_retail.md"
}
},
"steps": {
"ocr": {
"languages_list": [
"en"
]
},
"tables_processing": {
"enabled": true
}
},
"assembly_md": {}
}
Kopieren Sie aus der Antwort das metadata.id
, beispielsweise 64162e0a-b05d-4ba6-a688-422893f58663
. Geben Sie diese ID in dem Endpunkt an, den Sie verwenden, um den Status des Extraktionsprozesses zu überprüfen.
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v1/text/extractions/64162e0a-b05d-4ba6-a688-422893f58663?project_id=e40e5895-ce4d-42a3-b699-8ac764b89a09&version=2024-09-23' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJraWQiOi...'
Ausgabedetails
Der extrahierte Text wird in eine Markdown-Datei mit dem Namen geschrieben, den Sie im Feld " results_reference.location.file_name
angegeben haben.
Das Markdown erfasst Strukturen im Dokument, wie Abschnitte und Tabellen. Das folgende Bild zeigt zum Beispiel, wie eine Tabelle aus der ursprünglichen PDF-Datei nach der Extraktion des Textes in Markdown dargestellt wird. Eine Vorschau der Markdown-Tabelle ist enthalten, um zu zeigen, dass der Text der Originaltabelle in der PDF-Datei nach der Extraktion intakt bleibt.
Beispiel JSON-Ausgabe
Wenn Text in eine JSON-Datei extrahiert wird, enthält die resultierende Datei Details über verschiedene Datenstrukturen im Dokument wie Abschnitte, Absätze, Tabellenstrukturen, Token und mehr.
Weitere Informationen über die Arbeit mit Text, der im JSON-Format extrahiert wurde, finden Sie unter Parsen von JSON-Strukturen, die durch Textextraktion erzeugt wurden.
Verwendung des Textes, den Sie aus der PDF-Datei extrahiert haben
Sie können die generierte Markdown-Datei in eine Textdatei umwandeln, indem Sie die Dateierweiterung von " .md
in " .txt
ändern. Die resultierende Textdatei enthält die Markdown-Tags. Wenn Sie das Tagging entfernen wollen, können Sie eine Parser-Bibliothek verwenden, um die Tags zu finden und zu konvertieren.
Sie können eine JSON-Prozessorbibliothek verwenden, um Text aus der generierten JSON-Datei zu extrahieren und als reinen Text zu speichern. Der folgende Befehl extrahiert zum Beispiel den Text aus jedem Token für alle Strukturen im Dokument und speichert den Text in einer Datei mit dem Namen parsed_output_text.txt
:
cat output_retail.json | jq '[.all_structures.tokens[].text] | join(" ")' > parsed_output_text.txt
Nachdem Sie die erzeugte Datei in eine TXT-Datei umgewandelt haben, können Sie den extrahierten Text auf folgende Weise als Kontextinformation für eine Eingabeaufforderung für foundation model verwenden:
Verweisen Sie auf den extrahierten Text aus einem Python.
Sie können zum Beispiel Ihre TXT-Datei anstelle der '
state_of_the_union.txt
-Datei im Beispielnotizbuch Use watsonx, Chroma, and LangChain to answer questions (RAG) verwenden.Sie können die TXT-Datei als Grundlagendokument in Prompt Lab verwenden. Für weitere Informationen siehe " Verankerung von ' foundation model -Aufforderungen in kontextuellen Informationen.
Weitere Informationen
- Programmatisch Text aus einer Datei extrahieren
- Parsing der durch Textextraktion erzeugten JSON-Strukturen
- Berechtigungsnachweise für den programmatischen Zugang
Übergeordnetes Thema: Codierung generativer KI-Lösungen