PDF zu JSON Konvertierung für intelligente Textverarbeitung

Daniel Weißmann

Viele Technologien sind heutzutage selbstverständlicher Teil des Alltags. Videos werden automatisch verschönert. Onlineshops wissen schon vor uns, was wir kaufen wollen. Ein Bild ,wie JPG oder PNG, oder eine PDF Datei von der griechischen Speisekarte genügt für eine automatische Übersetzung. Wir gehen davon aus, dass es mit künstlicher Intelligenz zu tun hat, mit viel Rechenleistung. Sie werden nur hinterfragt, wenn etwas nicht funktioniert, wie wir es uns vorstellen. Computer sind aber nur so intelligent wie die Algorithmen und Daten, die wir Ihnen geben.

Und hier kommt JSON ins Spiel, eine Struktur, die die Verarbeitung erst möglich macht. Sollte es nur um die Übertragung der PDFs in einem praktischen Format gehen, so genügt die Nutzung von JSON für die Serialisierung der binären PDF Datei. Dazu gibt es eine anschauliche Übersicht hier. Aber wie ist es, wenn Daten strukturiert aus den PDFs ausgelesen werden sollen, um sie dann weiterverarbeiten zu können? Das erläutern wir genauer in diesem Artikel.

Was ist JSON genau

JSON steht für JavaScript Object Notation. Es bietet ein übersichtliches Format um strukturierte Daten zu speichern. Strukturierte Daten sind zum Beispiel die Personalien auf einem Antragsformular. Oder es ist die Liste an Speisen und Getränken auf der Speisekarte. Ursprünglich nutzenen Enwickler JSON zur Datenübertragung in IT Systemen. Ein Beispiel hierfür sind Daten, die Nutzer in eine mobile Anwendung eingeben. Zur Übertragung an den Server übersetzt das Programm die Daten in das JSON Format. Der Vorteil hier ist, dass JSON Dateien auch von Menschen lesbar sind. Vor der Nutzung von JSON kamen dafür XML Dateien zur Anwendung. Diese sind aber schwerer zu lesen und benötigen deutlich mehr Speicherplatz und damit Übertragungszeit.

Schauen wir uns ein Beispiel an. Nehmen wir eine PDF Datei an, das die Daten in diesem Bild enthält.

Beispiel für ein Formular zur PDF zu JSON Konvertierung.
PDF Beispielformular zur Weiterverarbeitung in das JSON Format

Das PDF enthält Personendaten in verschiedenen Kategorien. Die Daten und die Kategorien der Datei können bei der Konvertierung nach JSON in folgende Struktur gebracht werden:

{
  "Attorney":
  {
    "Name": "John Doe & Jane Doe",
    “First Name": null,
    "Address":
    {
      "Street Number": "1234",
      "Street Name": "ABC Street",
      "City":"San Francisco",
      "State":"CA"
      "ZIP Code": "94102"
    }
    "Telephone No": "415-123-4567",
    "E-Mail": "[email protected]",
    "Fax-No": null
  }
}

Die Struktur des JSON Formats kann beliebig den Anforderungen entsprechend aufgebaut sein. Alle Felder können abgebildet werden. Auch komplexe Tabellen sind durch Verschachtelung gut darstellbar. Leere Werte sind möglich und es können Texte oder Zahlen definiert werden. Die Komplexität bei der Umwandlung entsteht, wenn die Daten nicht mehr aus einem Onlineformular kommen, sondern aus einem PDF.

Warum nicht XML oder HTML für die Umwandlung der PDFs

Auch XML bietet die Möglichkeit, die komplexen Strukturen abzubilden. Große Anstrengungen wurden unternommen, durch XML Schemas und Definitionen, diese Strukturen zu formalisieren. Dies änderte aber nichts an der Tatsache, dass die übertragenen Dateien sehr viel redundante Informationen enthalten. Ein signifikanter Teil der Übertragung besteht aus der XML Struktur, nicht den ausgelesenen Daten.

HTML ist, genauer betrachtet, ebenfalls ein XML Format. Hinzu kommt aber, dass HTML nicht zum Austausch von Daten konzipiert wurde. Stattdessen dient es ausschließlich zur Definition des Layouts von Webseiten. HTML strukturiert die Seiten, erlaubt das Einbinden von graphischen Informationen oder interaktiven Funktionen über weiter Scriptsprachen oder Bibliotheken wie JavaScript oder Vue.JS. HTML für den Austausch von Daten zu benutzen ist wie Suppe mit Stäbchen zu essen: es ist möglich aber mühselig.

Wie funktioniert die PDF zu JSON Konvertierung

PDF Dateien können eine klar-definierte Form enthalten. Das sehen wir zum Beispiel bei offiziellen Formularen, z.B. vom Standesamt oder Finanzamt. Darüber hinaus gibt es aber auch viele Freiformate. Briefe enthalten typischerweise eine Anschrift, ein Datum oder eventuell Bankinformationen. Das Format, die Schrift, die Position oder die Vollständigkeit kann aber stark variieren.

Bei beiden PDF Formaten kommt zunächst Texterkennung (OCR) zur Anwendung. Sie erkennt Schriftzeichen und konvertiert sie in Texte, die der Computer lesen kann. Schon hier ist die Wahl der richtigen Software wichtig, damit es nicht bereits im ersten Schritt zu Fehlern kommt. Wird die Telefonnummer richtig erkannt? Können handschriftliche Einträge erkannt werden? Gibt es Flecken oder schwer zu lesende Ausdrucke? Ausgereifte Algorithmen, unterstützt durch Künstliche Intelligenz, erlauben das Umschiffen dieser Hürden.

Bekannte PDF Strukturen konvertieren

Bei PDFs in bekannten Formaten kann dann der Algorithmus bereits durch die Position des erkannten Textes den Kontext erkennen. Der Algorithmus identifiziert so Namen, Adresse etc. und kann diese Informationen direkt in eine JSON Struktur umwandeln. Dafür gibt es ein Template, ein vordefiniertes Format, in dem die gefundenen Daten eingetragen werden. Auch fehlende Daten kann das Programm so schnell identifizieren.

Komplexe PDFs nach JSON umwandeln

PDF Dateien mit komplexen Inhalten oder unbekannten Strukturen benötigen mehr Intelligenz. Die Kategorisierung kann nicht mehr durch manuelle Eingabe erfolgen. Stattdessen ist ein Ansatz mit künstlicher Intelligenz notwendig. Der Algorithmus wird für eine Klasse von Dokumenten trainiert, z.B. Rechnungen, und lernt so, die relevanten Informationen zu erkennen. Er lernt aus vielen PDF Beispielen, wie eine Adresse oder Bankinformation aussehen kann. Er lernt, dass ein Datum verschiedene Formate haben kann (18. Januar 2023, 18-01-2023 oder 2023/01/18). So entstehen Kategorien im KI-Netz, die sich dann auf das JSON Format übertragen lassen. Man kann zusätzlich eine Fallback-Logik implementieren, falls die künstliche Intelligenz noch nicht in der Lage ist, bestimmte Kategorien sicher zu identifizieren.

Zur Konvertierung von PDF zu JSON Python nutzen

Für die Verarbeitung gibt es verschiedene Bibliotheken, Produkte und Anbieter, die sehr gute Texterkennung und KI-Unterstützung anbieten. Eine sehr beliebte Programmiersprache zur Handhabung der Fähigkeiten, zum Training der KI-Algorithmen und für die Konvertierung der Eingabedateien zu JSON ist Python. Python ist eine einfache aber mächtige Scriptsprache. Seit langer Zeit findet Python insbesondere bei Anwendungen der künstlichen Intelligenz breite Anwendung. Durch die hohe Verfügbarkeit von Programmierbibliotheken speziell für Python ist die Einbindung der Konvertierungsalgorithmen denkbar einfach.

Bei Konfuzio sieht ein einfaches Beispiel für das Training der KI in Python (Im Auszug) so aus:

project = Project(id_=None, project_folder=OFFLINE_PROJECT)
category = project.get_category_by_id(63)
pipeline = RFExtractionAI(use_separate_labels=True)
pipeline.category = category
pipeline.test_documents = category.test_documents()
...
evaluation = pipeline.evaluate_full()
pipeline_path = pipeline.save(output_dir=project.model_folder)

Schritt-für-schritt vom PDF zum JSON Format

Den Ablauf der PDF zu JSON Konvertierung kann man so zusammenfassen:

  1. Das Training der KI

    Zunächst muss die Anwendung konfiguriert werden und, ganz wichtig, die künstliche Intelligenz des Systems auf die relevanten Dokumentformate trainiert werden. Das bedeutet, dass Beispieldokumente in die Anwendung geladen werden und das System so erkennen lernt, welche Informationen relevant sind und wie sie zu finden sind.

  2. Das Hochladen der PDF Datei

    Nach erfolgreichem Training wird die Schnittstelle aufgebaut, die das Hochladen erlaubt. Dies kann z.B. eine mobile Anwendung oder eine Website sein. Auch automatische Prozesse können implementiert werden, um z.B. eingehende E-Mails auf PDFs zu untersuchen. Diese lädt das System dann automatisch auf den Verarbeitungsserver hoch.

  3. Extraktion der Daten

    Die Anwendung beginnt dann automatisch, mit Hilfe der KI, die erlernten Datenfelder zu erkennen und in Textform in das zuvor definierte JSON format zu überführen. Dokumente, die nicht lesbar waren oder es eine hohe Unsicherheit bei den Ergebnissen gibt, werden markiert und können durch menschliche Analyse entschlüsselt werden. Mit jedem Dokument lernt dann auch dei KI weiter dazu.

  4. Verarbeiten der JSON Datei

    Die vollständige JSON Datei wird in der Regel nicht manuell weiterverarbeitet. Stattdessen dient sie weiteren Systemen im Anschluss an die Verarbeitung, um die gelesenen Daten automatisiert für Analysen, Geschäftsprozesse oder Datenbankaktualisierungen zu nutzen.

Mehr Details und eine Schritt-für-Schritt Anleitung mit Codebeispielen findet sich hier.

Die Anleitung zeigt auch, dass die Wahl des Anbieters von der Qualität der Funktionen abhängt aber genauso auch von der Nutzbarkeit. Die Funktionen müssen auch für Einsteiger gut dokumentiert sein, damit die Leistungsfähigkeit tatsächlich ausgeschöpft werden kann.

Das Gesamtbild zählt

Ein weiterer Vorteil der Umwandlung von PDF zu JSON ist die hohe Kompatibilität mit anderen Anwendungen. Fast alle Anbieter von Datenanwendungen erlauben die Verarbeitung von JSON. So ist man in der Verarbeitungskette nicht von einem einzigen Anbieter abhängig. Die weitere Verarbeitung der gelesenen Daten kann von Cloud-Lösungen oder lokalen Anwendungen übernommen werden, um z.B. die Informationen in die richtigen Datenbanken zu schreiben, Tabellen in Excel Dateien umzuwandeln, automatisch Antwortschreiben zu generieren oder Überweisungen durchzuführen. So kann das Unternehmen für jeden Arbeitsschritt immer die besten Produkte und Lösungen wählen (best-of-need) und kann auch in Zukunft einzelne Komponenten austauschen ohne in eine vollständig neue Infrastruktur investieren zu müssen.

Wie konvertiere ich PDF zu JSON?

Es gibt eine große Bandbreite an Tools, die diese Aufgabe übernehmen. In Kürze beschrieben geht es darum, möglichst intelligente Tools zu nutzen (künstliche Intelligenz), um die Verarbeitung durch geringe Fehlerzahlen zu erhöhen. Dies erfordert auch ein gutes Training der KI. Mehr dazu findet sich in diesem Artikel.

Wie kann ich JSON zu PDF konvertieren?

Für die Konvertierung (zurück) zu PDF gibt es ebenfalls gute Lösungen. Hier werden Layout Templates genutzt. Diese definieren das Aussehen der Ergebnisdatei. Ein Konvertierungsprogramm fügt dann die Daten, die im JSON Format zur Verfügung stehen, in dieses Template ein und erzeugt eine neue PDF Datei.
Dies lässt sich auch mit anderen Dateiformaten erreichen (z.B. Word oder Excel).

Welche weiteren Formate sind zur Konvertierung nach JSON geeignet?

Generell können moderne OCR Programme alle Formate, die bildliche Textinformationen enthalten, lesen und zu JSON konvertieren. Das sind neben PDF auch Bildformate wie TIFF, PNG oder JPEG.
Wichtig ist, dass die Komprimierung der Bilddatei nicht zu stark ist. So werden künstliche Artefakte und falsch interpretierte Zeichen vermieden. Dateien, die durch Dokumentenscanner erzeugt werden, haben in aller Regel ausreichende Auflösung und Qualität. Mit den heutigen OCR Lösungen sind selbst Fotos von Mobilgeräten ausreichend für eine korrekte Analyse. Mit der Qualität der Texterkennung steigt dann auch der Erfolg der Konvertierung zu JSON.

  1. Informationen zur Serialisierung von PDFs mit Hilfe von JSON: https://wikis.ec.europa.eu/download/attachments/36701338/Mooney-Binary-Encodings.pdf?version=1&modificationDate=1633696451409&api=v2
  2. Detaillierte Definition von JSON: https://www.w3schools.com/js/js_json_intro.asp
  3. Überblick zu XML von w3schools: https://www.w3schools.com/xml/xml_whatis.asp

    🐍✨Auf der Suche nach einer neuen Herausforderung?

    Tritt dem AI Comedy Club bei! Tauche ein in eine Welt, in der sich KI und Humor treffen, und nutze diese Bühne für deine Fähigkeiten. Ob aufstrebender Youngster oder erfahrener Entwickler, hier hast du die Chance, dein Python-Können auf eine lustige und innovative Art zu zeigen. Entdecke außerdem Möglichkeiten, einen Beitrag zu leisten und dich sogar für einen Job bei uns zu bewerben.

    Bereit zum Coden, Lachen und Beeindrucken?

    Sieh dir unsere AI Comedy Club Challenge an und finde heraus, wohin dich dein Humor und deine Python-Skills führen können!

    Apply for data scientist, 
backend developer, 
data engineer, 
software developer, 
python software developer jobs.

    Über mich

    #!trpst#trp-gettext data-trpgettextoriginal=1168#!trpen#More Articles#!trpst#/trp-gettext#!trpen#

    15 Tools für die digitale Rechnungsfreigabe

    Zeitaufwendig, unübersichtlich und fehleranfällig: Unternehmen, die ihre Rechnungsverarbeitung manuell angehen, müssen eine Vielzahl an Herausforderungen bewältigen. Die Lösung ist in…

    #!trpst#trp-gettext data-trpgettextoriginal=835#!trpen#Read article#!trpst#/trp-gettext#!trpen#
    LSTM

    LSTM Langzeitkurzzeitgedächtnis – Long Short-Term Memory

    Künstliche Intelligenz (KI) hat in den letzten Jahren enorme Fortschritte gemacht und revolutioniert die Welt, wie wir sie kennen. Eine…

    #!trpst#trp-gettext data-trpgettextoriginal=835#!trpen#Read article#!trpst#/trp-gettext#!trpen#
    PDF Texterkennung Bild

    So erleichtert die PDF Texterkennung Ihr Leben

    Sie kennen es bestimmt, Sie haben eine Vielzahl an Dateien auf Ihrem Handy oder Laptop gespeichert und suchen nach einer…

    #!trpst#trp-gettext data-trpgettextoriginal=835#!trpen#Read article#!trpst#/trp-gettext#!trpen#
    Arrow-up