Automatisches Extrahieren von Inhalten aus PDF-Dateien mit Amazon Textract - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisches Extrahieren von Inhalten aus PDF-Dateien mit Amazon Textract

Erstellt von Tianxia Jia (AWS)

Umgebung: Produktion

Technologien: Maschinelles Lernen und KI; Analytik; Große Datenmengen

AWS-Dienste: Amazon S3; Amazon Textract; Amazon SageMaker

Übersicht

Viele Unternehmen müssen Informationen aus PDF-Dateien extrahieren, die in ihre Geschäftsanwendungen hochgeladen werden. Beispielsweise könnte eine Organisation Informationen aus steuerlichen oder medizinischen PDF-Dateien für die Steueranalyse oder die Bearbeitung von medizinischen Ansprüchen präzise extrahieren müssen.

In der Amazon Web Services (AWS) Cloud extrahiert Amazon Textract automatisch Informationen (z. B. gedruckten Text, Formulare und Tabellen) aus PDF-Dateien und erstellt eine Datei im JSON-Format, die Informationen aus der ursprünglichen PDF-Datei enthält. Sie können Amazon Textract in der AWS-Managementkonsole oder durch Implementierung von API-Aufrufen verwenden. Wir empfehlen, programmatische API-Aufrufe zu verwenden, um eine große Anzahl von PDF-Dateien zu skalieren und automatisch zu verarbeiten.

Wenn Amazon Textract eine Datei verarbeitet, erstellt es die folgende Block Objektliste: Seiten, Textzeilen und Wörter, Formulare (Schlüssel-Wert-Paare), Tabellen und Zellen sowie Auswahlelemente. Andere Objektinformationen sind ebenfalls enthalten, z. B. Begrenzungsrahmen, Konfidenzintervalle, IDs und Beziehungen. Amazon Textract extrahiert die Inhaltsinformationen als Zeichenketten. Korrekt identifizierte und transformierte Datenwerte sind erforderlich, da sie von Ihren nachgelagerten Anwendungen einfacher verwendet werden können. 

Dieses Muster beschreibt einen step-by-step Arbeitsablauf für die Verwendung von Amazon Textract, um automatisch Inhalte aus PDF-Dateien zu extrahieren und zu einer sauberen Ausgabe zu verarbeiten. Das Muster verwendet ein Verfahren zum Abgleich von Vorlagen, um das erforderliche Feld, den Schlüsselnamen und die Tabellen korrekt zu identifizieren, und wendet dann die Nachbearbeitungskorrekturen auf jeden Datentyp an. Sie können dieses Muster verwenden, um verschiedene Arten von PDF-Dateien zu verarbeiten. Anschließend können Sie diesen Workflow skalieren und automatisieren, um PDF-Dateien mit identischem Format zu verarbeiten.   

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto.

  • Ein vorhandener Amazon Simple Storage Service (Amazon S3) -Bucket zum Speichern der PDF-Dateien, nachdem sie zur Verarbeitung durch Amazon Textract in das JPEG-Format konvertiert wurden. Weitere Informationen zu S3-Buckets finden Sie unter Buckets-Übersicht in der Amazon S3 S3-Dokumentation.

  • Das Textract_PostProcessing.ipynb Jupyter-Notebook (angeschlossen), installiert und konfiguriert. Weitere Informationen zu Jupyter-Notebooks finden Sie unter Erstellen eines Jupyter-Notizbuchs in der Amazon-Dokumentation. SageMaker

  • Bestehende PDF-Dateien, die ein identisches Format haben.

  • Ein Verständnis von Python.

Einschränkungen

Architektur

Der Workflow dieses Musters führt Amazon Textract zunächst für eine Beispiel-PDF-Datei aus (Erstausführung) und führt ihn dann für PDF-Dateien aus, die ein identisches Format wie das erste PDF haben (Wiederholungslauf). Das folgende Diagramm zeigt den kombinierten Arbeitsablauf beim ersten Ausführen und beim wiederholten Ausführen, der automatisch und wiederholt Inhalte aus PDF-Dateien mit identischen Formaten extrahiert.

Verwenden von Amazon Textract zum Extrahieren von Inhalten aus PDF-Dateien

Das Diagramm zeigt den folgenden Arbeitsablauf für dieses Muster:

  1. Konvertiert eine PDF-Datei in das JPEG-Format und speichert sie in einem S3-Bucket. 

  2. Rufen Sie die Amazon Textract Textract-API auf und analysieren Sie die Amazon Textract Textract-Antwort-JSON-Datei. 

  3. Bearbeiten Sie die JSON-Datei, indem Sie das richtige KeyName:DataType Paar für jedes erforderliche Feld hinzufügen. Erstellen Sie eine TemplateJSON Datei für die Phase „Ausführung wiederholen“.

  4. Definieren Sie die Korrekturfunktionen für die Nachbearbeitung für jeden Datentyp (z. B. Float, Integer und Date).

  5. Bereiten Sie die PDF-Dateien vor, die ein identisches Format wie Ihre erste PDF-Datei haben.

  6. Rufen Sie die Amazon Textract Textract-API auf und analysieren Sie die Amazon Textract Textract-Antwort-JSON.

  7. Ordnen Sie die geparste JSON-Datei der Datei zu. TemplateJSON

  8. Implementieren Sie Korrekturen nach der Bearbeitung.

Die endgültige JSON-Ausgabedatei enthält das richtige KeyName und Value für jedes erforderliche Feld.

Zieltechnologie-Stack

  • Amazon SageMaker 

  • Amazon S3 

  • Amazon Textract

Automatisierung und Skalierung

Sie können den Repeat Run-Workflow automatisieren, indem Sie eine AWS Lambda Lambda-Funktion verwenden, die Amazon Textract initiiert, wenn eine neue PDF-Datei zu Amazon S3 hinzugefügt wird. Amazon Textract führt dann die Verarbeitungsskripten aus und die endgültige Ausgabe kann an einem Speicherort gespeichert werden. Weitere Informationen dazu finden Sie in der Lambda-Dokumentation unter Verwenden eines Amazon S3 S3-Triggers zum Aufrufen einer Lambda-Funktion.

Tools

  • Amazon SageMaker ist ein vollständig verwalteter ML-Service, mit dem Sie schnell und einfach ML-Modelle erstellen und trainieren und sie dann direkt in einer produktionsbereiten gehosteten Umgebung bereitstellen können.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

  • Amazon Textract macht es einfach, Ihren Anwendungen die Erkennung und Analyse von Dokumententext hinzuzufügen.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Konvertiert die PDF-Datei.

Bereiten Sie die PDF-Datei für Ihre erste Ausführung vor, indem Sie sie in eine einzelne Seite aufteilen und sie für den synchronen Vorgang von Amazon Textract in das JPEG-Format konvertieren (). Syn API

Hinweis: Sie können die asynchrone Amazon Textract Textract-Operation (Asyn API) auch für mehrseitige PDF-Dateien verwenden.

Datenwissenschaftler, Entwickler

Analysieren Sie die JSON der Amazon Textract Textract-Antwort.

Öffnen Sie das Textract_PostProcessing.ipynb Jupyter-Notizbuch (angehängt) und rufen Sie die Amazon Textract Textract-API mit dem folgenden Code auf:

response = textract.analyze_document( Document={ 'S3Object': { 'Bucket': BUCKET, 'Name': '{}'.format(filename) } }, FeatureTypes=["TABLES", "FORMS"])

Analysieren Sie den Antwort-JSON mithilfe des folgenden Codes in ein Formular und eine Tabelle:

parseformKV=form_kv_from_JSON(response) parseformTables=get_tables_fromJSON(response)
Datenwissenschaftler, Entwickler

Bearbeiten Sie die TemplateJSON-Datei.

Bearbeiten Sie den analysierten JSON-Code für jeden KeyName und die entsprechenden DataType (z. B. Zeichenfolge, Fließkommazahl, Ganzzahl oder Datum) und Tabellenüberschriften (z. B. und). ColumnNames RowNames

Diese Vorlage wird für jeden einzelnen PDF-Dateityp verwendet, was bedeutet, dass die Vorlage für PDF-Dateien mit identischem Format wiederverwendet werden kann.

Datenwissenschaftler, Entwickler

Definieren Sie die Korrekturfunktionen für die Nachbearbeitung.

Die Werte in der Antwort von Amazon Textract für die TemplateJSON Datei sind Zeichenketten. Es gibt keine Unterscheidung nach Datum, Fließkommazahl, Ganzzahl oder Währung. Diese Werte müssen in den richtigen Datentyp für Ihren Downstream-Anwendungsfall konvertiert werden. 

Korrigieren Sie jeden Datentyp entsprechend der TemplateJSON Datei, indem Sie den folgenden Code verwenden:

finalJSON=postprocessingCorrection(parsedJSON,templateJSON)
Datenwissenschaftler, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten

Bereiten Sie die PDF-Dateien vor.

Bereiten Sie die PDF-Dateien vor, indem Sie sie auf eine einzelne Seite aufteilen und sie für den synchronen Vorgang von Amazon Textract in das JPEG-Format konvertieren (). Syn API

Hinweis: Sie können die asynchrone Amazon Textract Textract-Operation (Asyn API) auch für mehrseitige PDF-Dateien verwenden.

Datenwissenschaftler, Entwickler

Rufen Sie die Amazon Textract Textract-API auf.

Rufen Sie die Amazon Textract Textract-API mit dem folgenden Code auf:

response = textract.analyze_document( Document={ 'S3Object': { 'Bucket': BUCKET, 'Name': '{}'.format(filename) } }, FeatureTypes=["TABLES", "FORMS"])
Datenwissenschaftler, Entwickler

Analysieren Sie die JSON der Amazon Textract Textract-Antwort.

Analysieren Sie die Antwort-JSON mithilfe des folgenden Codes in ein Formular und eine Tabelle:

parseformKV=form_kv_from_JSON(response) parseformTables=get_tables_fromJSON(response)
Datenwissenschaftler, Entwickler

Laden Sie die TemplateJSON-Datei und ordnen Sie sie der analysierten JSON-Datei zu.

Verwenden Sie die TemplateJSON Datei, um mithilfe der folgenden Befehle die richtigen Schlüssel-Wert-Paare und die richtige Tabelle zu extrahieren:

form_kv_corrected=form_kv_correction(parseformKV,templateJSON) form_table_corrected=form_Table_correction(parseformTables, templateJSON) form_kv_table_corrected_final={**form_kv_corrected , **form_table_corrected}
Datenwissenschaftler, Entwickler

Korrekturen nach der Bearbeitung.

Verwenden Sie DataType in der TemplateJSON Datei und in der Nachbearbeitung Funktionen, um Daten mithilfe des folgenden Codes zu korrigieren: 

finalJSON=postprocessingCorrection(form_kv_table_corrected_final,templateJSON)
Datenwissenschaftler, Entwickler

Zugehörige Ressourcen

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip