0 / 0
Zurück zur englischen Version der Dokumentation
Extrahieren von Text aus Dokumenten
Letzte Aktualisierung: 06. Dez. 2024
Extrahieren von Text aus Dokumenten

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.

watsonx.ai API-Arbeitsablauf zur Extraktion von Dokumententext

Befolgen Sie diese allgemeinen Schritte, um mit der REST-API Text aus einem Geschäftsdokument zu extrahieren:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Drei Screenshots, wobei der erste eine Tabelle in einem PDF-Dokument zeigt, der nächste den als Markdown extrahierten Tabellentext und der dritte eine Vorschau der Tabelle

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
Hinweis: Dieser Befehl verwendet jq, einen JSON-Prozessor für die Befehlszeile, der separat installiert werden muss.

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:

Weitere Informationen

Übergeordnetes Thema: Codierung generativer KI-Lösungen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen