deepdoctection – Ein Open-Source Framework für Document AI

Deepdoctection ist eine Python-Bibliothek, die die Aufgaben der Dokumentextraktion und der Dokumentenlayoutanalyse mit Hilfe von Deep-Learning-Modellen orchestriert.

Deepdoctection konzentriert sich auf Anwendungen und ist für diejenigen gemacht, die reale Problemlösungen im Zusammenhang mit der Dokumentextraktion aus PDFs oder Scans in verschiedenen Bildformaten programmieren möchten.

Websites vs. Dokumente und Scans als Informationsträger

Angenommen, Sie möchten die Rezensionen einer Webseite auswerten. Mit ein wenig Programmiererfahrung können Sie in kurzer Zeit umfassende Untersuchungen wie Sentiment Analysen erstellen.

Nun nehmen wir an, Sie möchten erneut Kundenfeedback auswerten. Diesmal aber liegen die Informationen in gescannten Formularen vor. Vielleicht sind die Formulare nicht alle identisch und einige wurden handschriftlich ausgefüllt. In diesem Fall werden Sie wesentlich mehr Zeit zum Erreichen Ihrer Ziele aufwenden müssen.

Aber was ist der große Unterschied?

Sofern Sie Ihre Informationen aus Webseiten beziehen wollen, müssen Sie Ihre Daten per Webcrawling gewinnen und aufbereiten, sodass aus der rohen HTML-Darstellung nur die Informationen übrigbleiben, die Sie für Ihre Analyse benötigen. Bis zu diesem Punkt reicht ein regelbasierter Ansatz aus.

Aber nun zu den Formularen: Vielleicht haben Sie bereits ein digitalisiertes Dokument, aber dieses Dokument speichert seine Inhalte in Pixelform, das heißt in abertausenden von Zahlen zwischen 0 und 255. Hier können Sie eine OCR-Engine darüber laufen lassen und Sie erhalten eine Kombination von Wörtern und Koordinaten.

Jetzt beginnt die eigentliche Arbeit, denn Sie müssen dem Formular noch Struktur geben. Zum Beispiel: Wie erkenne ich die Entitäten in dem Formular? Welche Wortblöcke gehören zusammen? Welche Strukturen gibt es, wie zum Beispiel Tabellen oder Paragrafen?

Um solche Probleme anzugehen, benötigen Sie einen Fundus an Hilfsmitteln. Zum einen kann künstliche Intelligenz Hilfe leisten, zum anderen muss künstliche Intelligenz aber orchestriert werden, um im Gesamtpaket wirkungsvoll zu sein.

deepdoctection – Pipelines für Document AI

deepdoctection ist ein auf Python basierendes Open Source Framework, das Sie bei der Extraktion von Informationen aus Dokumenten unterstützt. Sie finden den Quellcode bei Github.

deepdoctection

Nutzung von Bild und Text

Im Unterschied zu gängigen Natural Language Processing Frameworks bietet deepdoctection die Möglichkeit, Pipelines zu erstellen, bei denen multimodale Modelle verwendet werden können, die neben Text- auch Bildinformationen einlesen. Hierzu gehören Positionsinformationen von Wörtern und Textsegmenten oder das gesamte Bild. Es hat sich nämlich gezeigt, dass besonders für Dokumente aus der täglichen Geschäftswelt (Formulare, Berichte, Präsentationen), KI-Modelle, die visuelle Informationen berücksichtigen, für die Extraktion besser funktionieren. Hierzu gehört die LayoutLM-Familie, eine Gruppe von Modellen, die von Microsoft entwickelt wurde.

Mit deepdoctection können Sie diese Modelle im Zusammenspiel mit OCR für die Klassifikation von Dokumenten oder der Extraktion von Entitäten ausprobieren.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Layoutanalyse und Tabellenextraktion

Zudem bietet deepdoctection die Möglichkeit, Modelle für die Dokumenten-Layout-Analyse einzusetzen. Diese sind äußerst nützlich, um eine Strukturierung des Dokumentes in bestimmte Bereiche wie Tabellen, Figuren oder Listenelemente vorzunehmen.

Auch Tabellen können rekonstruiert werden und als csv-Datei oder sogar als HTML-Struktur extrahiert werden. Deepdoctection können Sie einfach online testen.

Live Demo

OCR

OCR ist eine Schlüsseltechnologie für Intelligent Document Processing und ermöglicht in erster Linie die Extraktion von Text aus optischen Formaten wie PDF. Hierfür bietet deepdoctection die Möglichkeit, verschiedene OCR-Frameworks einzusetzen. Dazu gehört das bekannteste Open Source Framework Tesseract, aber auch das modernere DocTr, welches für viele Use-Cases genauere Ergebnisse liefert.

Trainieren und Evaluieren von Modellen

Kein Modell funktioniert für alle Use-Cases. Aber es lässt sich die Genauigkeit wesentlich verbessern, indem man Modelle auf eigene Daten trainiert. Für verschiedene Basis-Modelle bietet deepdoctection vorkonfigurierte Trainingsskripte, so dass Sie nicht mühevoll nach einem geeigneten Setting suchen müssen. Bevor man ein Modell produktiv einsetzen kann, muss man es evaluieren, um zu sehen, ob die Vorhersageergebnisse auf noch nicht gesehenen Daten akkurat genug sind.

Hierfür bietet deepdoctection Metriken und Evaluierungsinstrumente an, die Sie nutzen können, um die Prognosefähigkeit Ihres Modells umfassend bewerten zu können. Darüber hinaus bietet deepdoctection die Möglichkeit, eigene Datensätze anzulegen und zu registrieren. Das erleichtert das Trainieren von Basismodellen und bietet überdies die Möglichkeit, mehrere Datensets zu kombinieren.

Open Source Basismodelle

Insgesamt lassen sich diverse Basismodelle aus verschiedenen hochwertigen Open Source Bibliotheken mithilfe von deepdoctection verwenden. Besonders die Ausführung von mehreren KI-Modellen in einem einfachen Aufruf ist die Stärke des Frameworks. Hierin besteht derzeit eines der wichtigsten Bedürfnisse von Enterprises. Vor diesem Hintergrund ergibt es Sinn, sich darüber hinaus mit einigen Open Source KI-Modellen auseinanderzusetzen. Hier eine Auswahl aus den verschiedenen Anwendungsbereichen der Dokumentenverarbeitung.

Vision

DiT – Document Image Transformer ist ein vortrainiertes und selbstüberwachtes Modell, das mit großen Textbildern ohne Label arbeitet. 

BEiT – Dieser Vision Transformer basiert auf Googles Sprachmodell BERT und konnte durch selbstüberwachtes Pre-Training erstmals überwacht trainierte Modelle übertreffen.

Sprache

Donut – OCR-free Document Understanding Transformer erzielt beeindruckende Ergebnisse beim Dokumentenverständnis und der Extraktion von Text – ohne dass dafür OCR notwendig ist.

UniLM – Dieses vortrainierte Sprachmodell von Microsoft lässt sich mittels Fine-Tuning sowohl für die Verarbeitung als auch für die Erzeugung von Sprache abstimmen.

Multimodal

LayoutXLM – Diese multimodale Weiterentwicklung von LayoutLM für mehrsprachige Dokumentenanalyse berücksichtigt Text, Layout und Bildinformationen – mit höherer Performance als vorherige State-of-the-Art Models.

DocLLM – Als Erweiterung klassischer Large Language Models eignet sich DocLLM zur multimodalen Verarbeitung der räumlichen Layoutstruktur.

Weitere PDF-spezifische Intelligent Document Processing Tools sind zum Beispiel

Enterprise-Anforderungen an KI-Architektur

Mit diesen schnell wachsenden Möglichkeiten sowie der Zahl zur Verfügung stehender Modelle für Document AI sind auch die technischen Ansprüche großer Unternehmen gestiegen. In den Anfangstagen der Large Language Models schien zunächst absehbar, Organisationen könnten laufend eigene Modelle auf ihre individuellen Daten und Bedürfnisse trainieren. Die Zahl der einsetzbaren und eingesetzten Lösungen hat jedoch eine Dimension erreicht, in der diese Herangehensweise ihre Kosteneffizienz verliert. 60% der Enterprises nutzen eine Mehrzahl von Modellen, so Menlo’s Enterprise AI report. Der Großteil der Zahlungsbereitschaft bezieht sich demnach nicht etwa auf das Training, sondern auf AI Inference, also die standardisierte Nutzbarkeit diverser AI Models.

An diesem Punkt steht deepdoctection vor gewissen Herausforderungen – bei aller Robustheit und Flexibilität, die das Framework vorzuweisen hat. Trotz vorkonfigurierter Trainings- Evaluierungstranskripte ist der Einsatz eines Open Source Frameworks für Enterprises oftmals nicht ausreichend. Hier kommt es auf weitere Ressourcen an, um den Entwicklungsaufwand zu senken und dabei für hohe Sicherheitsstandards zu sorgen. Auch die Möglichkeit zur Eigenentwicklung sowie die Integration weiterer Modelle zählen zu den häufigen Nachfragen. Enterprises sind daher gut beraten, sich nach einer sicheren und flexiblen Plattform zum Betrieb des Frameworks und/oder der Integration weiterer Modelle umzusehen.

Enterprise AI für deepdoctection und weitere Basismodelle

deepdoctection kann mithilfe von Konfuzio, einer Plattform für Enterprise AI, betrieben werden. Das ermöglicht die schnelle Umsetzung individueller Use Cases sowie den Test neuer Modelle in kurzen Iterationszyklen. Es ergeben sich verschiedene Vorteile:

  • Optimale Nutzung von KI-Modellen – deepdoctection erlaubt weiterhin die Orchestrierung der verfügbaren KI-Modelle – in angepasster Software-Umgebung. Darüber hinaus kann jedes weitere, z. B. oben aufgeführte Open Source Model bei konstanter Verfügbarkeit genutzt werden.
  • Geringerer Entwicklungsaufwand – Durch ein bereitgestelltes Interface sowie eigener API, SDK und Datenbank fällt der allgemeine Entwicklungsaufwand erheblich reduziert aus. 
  • Marktplatz Feature – Über die Nutzung der dargestellten Modelle hinaus stehen zahlreiche vortrainierte, branchenspezifische und direkt einsatzbereite KI-Modelle zur Verfügung. Hier können Sie unverbindliche Tests durchführen.
  • User Management – In großen Organisationen können die Richtlinien zu Datenschutz und Governance komplexer ausfallen. Konfuzio unterstützt die Umsetzung mit einem ausgefeilten User Management, das die Vergabe individueller Zugriffsberechtigungen erlaubt.
  • Enterprise Security – Konfuzio wird mit hohen Sicherheitsstandards am Serverstandort Deutschland betrieben. Eine viel genutzte Möglichkeit ist zudem der Betrieb On-Premises, sodass keine Daten die unternehmenseigenen Server verlassen.

Document AI im Python SDK von Konfuzio

Konfuzio ermöglicht das Hochladen einer eigenen KI, individuelle Informationsextraktion und vieles mehr. Dafür steht ein vorgefertigtes Software Development Kit zur Verfügung.

So gehen Sie vor, wenn, wenn Sie deepdoctection oder verschiedene Document AI Models über das Python SDK nutzen möchten – am Beispiel einer Extraction AI:

  1. Die Installation von konfuzio_sdk
!pip install konfuzio-sdk
  1. Die benötigten Pakete lassen sich auf folgende Weise importieren.
import os
import sys
import konfuzio_sdk
from konfuzio_sdk.data import Project
from konfuzio_sdk.trainer.information_extraction import RFExtractionAI
from konfuzio_sdk.tokenizer.regex import WhitespaceTokenizer
from konfuzio_sdk.api import upload_ai_model
  1. Anschließend geht es an die Initialisierung des Projekts
from tests.variables import OFFLINE_PROJECT, TEST_DOCUMENT_ID
project = Project(id_=None, project_folder=OFFLINE_PROJECT)
  1. Festlegung der entsprechenden Kategorie.
category = project.get_category_by_id(63)
  1. Initialisierung der Trainingspipeline. Die Kategorie RFExtraction ist austauschbar.
pipeline = RFExtractionAI(use_separate_labels=True)
pipeline.category = category
  1. Für die spätere Auswertung wird test_documents als Attribut der Pipeline benötigt. 
pipeline.test_documents = category.test_documents()
  1. So fragen Sie die Dokumente der festgelegten Kategorie ab:
documents = category.documents()
  1. Wenden Sie die Pipeline auf die Dokumente an.
pipeline.fit(documents)
  1. Anschließend ist die Extraktion aus neuen PDFs sowie hochgeladenen Files möglich.
text = "..."
document = category.create_document(text, filename="test.pdf")
pipeline.process_document(document)
annotations = document.annotations()

Deeptoctection sowie eigene oder die oben skizzierten Basismodelle lassen sich mittels Python SDK über die upload_ai_model Funktion auf Konfuzio uploaden.

Fazit

Deepdoctection zeigt als Open-Source Framework im Bereich Document AI großes Potenzial für die Orchestrierung von KI-Modellen. Es ermöglicht eine effiziente Informationsverarbeitung durch die Integration von Text- und Bildanalysen, was besonders für die Verarbeitung von realen Dokumenten wie Formularen und Berichten relevant ist. Die Kombination verschiedener Deep-Learning-Modelle und OCR-Techniken unterstreicht die Flexibilität und Anpassungsfähigkeit des Frameworks. Trotz dieser umfangreichen Möglichkeiten kennt auch deepdoctection gewisse Limits, insbesondere in Bezug auf Enterprise-Anforderungen und die Gewährleistung von Datenschutz und Sicherheit.

Die Kooperation mit Plattformen wie Konfuzio kann diese Herausforderungen lösen, indem sie die Entwicklung vereinfacht und die Modellanwendung beschleunigt. Darüber hinaus stehen zahlreiche weitere Möglichkeiten zur Modellintegration mittels Python SDK bereit, um auch für hochkomplexe, individuelle Use Cases optimale Ergebnisse zu erzielen.

Möchten Sie deepdoctection, hier dargestellte oder eigene KI-Modelle in einer sicheren Enterprise-Umgebung betreiben? Kontaktieren Sie uns. Wir unterstützen Sie gerne.








    Über den Autor von deepdoctection

    Janis Meyer

    Dr. Janis Meyer arbeitet seit vielen Jahren als selbständiger Machine Learning Engineer und Unternehmensberater.

    Der Trigger, sich mit Document AI Themen zu beschäftigen war für ihn ein Projekt, bei dem es darum ging, aus Finanzberichten spezifische Kennzahlen zu extrahieren.

    Er hat deepdoctection entwickelt, um in kurzen Iterationszyklen neue Machine Learning Modelle, zur Lösung von Document AI Themen in Pipelines zu integrieren.

    Dr. Janis Meyer berät Endkunden und Plattformbetreiber bei Einführungs- und Innovationsthemen von Intelligent Automation Themen. Hierzu gehört allgemeine Beratung, sowie Projekt, Umsetzungs-, Test- und Produktionsmonitoring.

    «
    »
    Avatar von Maximilian Schneider

    Neueste Artikel