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

Umwelt: Produktion

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

AWSDienste: 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 Steuer- oder PDF Krankenakten 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 JSON -formatierte Datei, die Informationen aus der Originaldatei enthält. PDF Sie können Amazon Textract in der AWS Management Console oder durch die 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 und Beziehungen. IDs 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 Workflow 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 Korrekturen nach der Verarbeitung auf jeden Datentyp an. Sie können dieses Muster verwenden, um verschiedene Dateitypen zu verarbeiten. Anschließend können Sie diesen Workflow skalieren und automatisieren, um PDF Dateien mit identischem Format zu verarbeiten. PDF   

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 in ein JPEG Format für die Verarbeitung durch Amazon Textract 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 PDF Beispieldatei aus (Erstausführung) und führt ihn dann für PDF Dateien aus, die ein identisches Format wie die erste Datei haben PDF (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 Dateien PDF

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

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

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

  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 Amazon Textract auf API und analysieren Sie die Amazon Textract Textract-Antwort. JSON

  7. Ordnen Sie die analysierte 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-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

Konvertiere 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 in ein JPEG Format für den synchronen Amazon Textract Textract-Vorgang 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 Amazon Textract Textract-Antwort. JSON

Öffnen Sie das Textract_PostProcessing.ipynb Jupyter-Notizbuch (beigefügt) und rufen Sie Amazon Textract mit API dem folgenden Code auf:

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

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

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

Bearbeiten Sie die JSON Vorlagendatei.

Bearbeiten Sie die geparsten JSON Überschriften der einzelnen KeyName und der entsprechenden DataType (z. B. Zeichenfolge, Fließkommazahl, Ganzzahl oder Datum) und Tabellenüberschriften (z. B. ColumnNames undRowNames).

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 in ein JPEG Format für den synchronen Amazon Textract Textract-Vorgang 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 Amazon Textract API an.

Rufen Sie Amazon Textract mit API dem folgenden Code auf:

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

Analysieren Sie die Amazon Textract Textract-Antwort. JSON

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

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

Laden Sie die JSON Vorlagendatei 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