0 / 0
Zurück zur englischen Version der Dokumentation
Programmgesteuertes Extrahieren von Text aus einer Datei
Letzte Aktualisierung: 03. Feb. 2025
Programmgesteuertes Extrahieren von Text aus einer Datei

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:

  1. 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"
    
  2. 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))
    
  3. 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)
    
  4. 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}}
    
  5. 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)
    
  6. 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