Sie können Text aus Dateien in IBM watsonx.ai programmatisch extrahieren, indem Sie die Python-Bibliothek verwenden.
Sie können einen Dokumenttextextraktionsauftrag ausführen, um Text aus einer Datei zu extrahieren, die in IBM Cloud Object Storage gespeichert ist, indem Sie das ibm-watsonx-ai
Python SDK verwenden und die Ergebnisse in einer JSON-Datei abrufen.
Beispielnotebook
Das Python Beispiel-Notebook „Verwenden Sie den Textextraktionsdienst watsonx.ai , um Text aus einer Datei zu extrahieren“ enthält Code zum Ausführen eines Textextraktionsauftrags in watsonx.ai .
Verwenden Sie einen Textextraktionsauftrag, um Text aus einer Datei zu extrahieren
Dieses Notizbuch verwendet die Text-Extraktionsklasse der watsonx.ai Python -Bibliothek.
Die folgenden übergeordneten Schritte umfassen das Einrichten eines Quelldokuments, aus dem Text extrahiert wird, und einer Ausgabedatei, in der die extrahierten Ergebnisse gesammelt werden, sowie das Ausführen eines Textextraktionsauftrags zur Erzeugung der Ergebnisse:
Laden Sie ein Quelldokument auf IBM Cloud Object Storage und eine JSON-Datei hoch, die mit den extrahierten Daten gefüllt werden soll.
from ibm_watsonx_ai.helpers import DataConnection, S3Location local_source_file_name = "granite_code_models_paper.pdf" source_file_name = "./files/granite_code_models_paper.pdf" results_file_name = "./files/text_extraction_granite_code_models_paper.json"
Erstellen Sie Datenverbindungsobjekte, die das Quelldokument und die Ergebnisdatei darstellen.
document_reference = DataConnection(connection_asset_id=connection_asset_id, location=S3Location(bucket=bucketname, path=source_file_name)) results_reference = DataConnection(connection_asset_id=connection_asset_id, location=S3Location(bucket=bucketname, path=results_file_name))
Initialisieren Sie ein Textextraktionsmanager-Objekt mit Hilfe der Klasse
TextExtractions
.from ibm_watsonx_ai.foundation_models.extractions import TextExtractions extraction = TextExtractions(api_client=client, project_id=project_id)
Legen Sie die Eigenschaften fest, die Sie bei der Textextraktion extrahieren möchten. In diesem Beispiel wird englischer Text mit Hilfe von OCR (Optical Character Recognition) erkannt, und alle in den Dokumenten vorhandenen Tabellen werden verarbeitet.
from ibm_watsonx_ai.metanames import TextExtractionsMetaNames steps = {TextExtractionsMetaNames.OCR: {'language_list': ['en']}, TextExtractionsMetaNames.TABLE_PROCESSING: {'enabled': True}}
Führen Sie den Textextraktionsauftrag aus und rufen Sie die Auftragskennung ab.
details = extraction.run_job(document_reference=document_reference, results_reference=results_reference, steps=steps) extraction_job_id = extraction.get_id(extraction_details=details)
Nach Beendigung des Auftrags können Sie die Ausgabedatei der Ergebnisse herunterladen und die extrahierten Daten verarbeiten.
results_reference = extraction.get_results_reference(extraction_id=extraction_job_id) filename = "text_extraction_results_granite_code_models_paper.json" results_reference.download(filename=filename) import json metadata = json.load(open(filename, 'r')) metadata.get('all_structures').get('tokens')[:10]
Weitere Informationen
Übergeordnetes Thema: Python Bibliothek