Leistungsbeschreibungen#

Präambel zur Standardsoftware#

Mit der Konfuzio Software werden Informationen aus Dokumenten automatisiert, vereinfacht und jederzeit strukturiert abrufbar. Dokumente aus verschiedensten Geschäftsprozessen können integriert und konsolidiert werden. Die Software dient als Plattform und bietet unterschiedliche Komponenten zur einfachen und schnellen Verarbeitung von individuellen Dokumenten jeglicher Art sowie zur individuellen Strukturierung der darin enthaltenen Informationen. Es handelt sich dabei um Standardsoftware, die für den Einsatz bei einer Vielzahl von Kunden konzipiert ist. Die Software muss daher in jedem Fall vom Kunden individuell angepasst und bearbeitet werden. Die Gesamtverantwortung für die Einführung der Software liegt bei dem Kunden. Der Hersteller der unten genannte Software ist die Helm & Nagel GmbH.

Die Konfuzio Software besteht aktuell aus drei Modulen.

Konfuzio Server#

Die serviceorientierte Architektur von Konfuzio bietet einen KI Webservice zur Verarbeitung von Dokumenten. Die Ergebnisse des Verarbeitungsprozesses der Dokumente werden über mandantenfähige REST API Services im JSON Format bereitgestellt. Die aktuell dokumentierten Funktionen der API sind unter https://app.konfuzio.com/api/ abrufbar. Die Applikation differenziert hierbei Nutzer nach Rollen und bietet die Möglichkeit, Create, Read, Update und Delete (CRUD) Berechtigungen zu konfigurieren. Vereinfacht dargestellt verarbeitet Konfuzio Dokumente in drei Schritten:

Texterkennung in Scans und Bildern durch OCR#

Beim Laden der Dokumente werden über die REST-API Dokumente in Konfuzio geladen. Abhängig von der eingehenden Qualität der Dokumente werden Verfahren zur technischen Korrektur bei beschädigten Dateien und danach OCR zur Vollseitentexterkennung genutzt. Die verwendete OCR Engine ist dabei frei vom Kunden wählbar. Standardmäßig wird die Open Source OCR Engine Tesseract 4.1.1 installiert. Bei der Nutzung der Tesseract OCR entstehen dem Kunden keine weiteren Kosten. Andere OCR Engines werden von dem Kunden separat erworben. Der Hersteller stellt dem Kunden Konnektoren zur Verfügung, um die OCR Engine je Projekt separat zu definieren. Je Dokument wird eine eindeutige ID generiert. Unterstützte Input Formate, siehe Dokumentation , werden als archivfähige PDF Dokumente (PDF/A) inkl. eingebettetem Textlayer gespeichert. Die Originale der hochgeladenen Datei und das daraus generierte PDF/A sind per REST-API abrufbar.

In der auf app.konfuzio.com gehosteten Version des Konfuzio Servers nutzt die Helm & Nagel GmbH die Azure Read API 3.2. Sofern der Kunde in der eigenen Installation die gleichen Ergebnisse der Texterkennung sicherstellen möchte, wird diesem empfohlen die OCR von Azure als On-Prem Container oder als REST API zu erwerben. Sofern der Kunde dies wünscht, stellt die Helm & Nagel diese OCR Engine zur Verfügung und berechnet diese separat. Der Preis für die Nutzung ergeben sich aus den Preisen von Microsoft. Diese können für die REST API von Microsoft und für den On-Prem Container von Microsoft eingesehen werden. Es gilt der Preis ohne Mengenrabatt.

Kategorisieren und späteres Extrahieren der Einzelinformationen#

Kategorisieren und Extrahieren der Dokumente: Jedes eingehende Dokument wird durch ein supervised learning Modell einer Klasse zugewiesen. Das genaue Vorgehen bei der Klassifikation kommt ohne manuelle Regelen aus und geht weit über die Schlagwort-, Phrasen-, Layout- oder Grafik-basierte Klassifikation hinaus. Die Klassifizierung gibt je Klasse je eingehendem Dokument ein Konfidenzwert aus. Klassen werden durch Nutzer konfiguriert und trainiert. Je Klasse können sofern gewünscht Einzelinformationen extrahiert werden. Die Extraktion von Einzelinformationen in Kontext von Tabellen, unstrukturierten Freitexten oder durch das Layout des Dokuments ist lediglich durch die Definition von Trainingsdokumenten möglich. Hierfür passen Nutzer die KI durch Trainigsdokumente an. Je Trainingslauf und Category wird ein KI-Modell auf der Basis der Trainingsdokumente automatisch trainiert, gespeichert und danach für die Inferenz verwendet. Während der Inferenz wird je Einzelinformation ein Konfidenzwert ausgegeben. Die Erkennung der Einzelinformationen wird durch die Nutzung von Labels ermöglicht, siehe unten. Sofern in den Trainingsdokumenten annotiert, wird der Kontext von Einzelinformationen von der KI gelernt. So kann eine Einzelinformation, z. B. Vorname, mehrmals im Dokument auftreten. Einer der beiden erkannten Vornamen kann z. B. dem Empfänger und einem dem Absender zugeordnet werden. Die Erkennung des fachlichen Kontexts der Einzelinformation wird durch die Nutzung von Label-Sets ermöglicht, siehe nächste Seite. Der Hersteller evaluiert die neueste KI Forschung laufend und nimmt weitere KI-Modelle nach positiven Testergebnissen in die Anwendung auf.

Nutzung der Daten per REST API#

Nach dem Laden und Extrahieren der Dokumente werden die Inhalte der Dokumente als strukturierte Daten als REST API im JSON Format zur Verfügung gestellt. Die Daten können mit der Dokumenten ID abgeholt werden. Außerdem ist es möglich, je Dokument ein Webhook zu hinterlegen, der nach dem Verarbeitungsprozess aktiv die strukturierten Daten an einen vorher definierten Service sendet. Feedback auf KI Ergebnisse aus der Klassifikation, Extraktion und Kontexterkennung kann durch die webbasierte SmartView von berechtigten Nutzern gegeben werden. Diese SmartView bietet einen direkten Zugang und synchrone Darstellung der erkannten Informationen mittels Dokumenten ID. Durch Feedback wird die Qualität der KI kontinuierlich gesteigert. Außerdem können neue Klassen, Einzelinformation oder Kontexte der KI so antrainiert werden.

Die Software Konfuzio ist darauf ausgelegt, beliebige Dokumententypen klassifizieren und Informationen im fachlichen Kontext auf Basis des Dokumententyps zu extrahieren. Diese generische Anwendbarkeit des Systems wird durch drei wesentliche Elemente der Software ermöglicht.

Category: Jedes eingehende Dokument wird einem Dokumententyp, einer sogenannten Category, zugewiesen. Ein Dokument hat ein Dokumententyp. Sofern eine Extraktion gewünscht ist, kann eine Category um Label-Sets ergänzt werden.

Label Set: Ein Label-Set ist ein Bündel von Labeln. Ein Label-Set kann verwendet werden, um Tabellen zu erkennen oder Einzelinformationen im fachlichen Kontext zu extrahieren, z. B. die des Absenders eines Briefes.

Label: Label definieren die aus einem Dokument zu extrahierenden Einzelinformationen. Je Label kann eine Auto Typisierung, z. B. die Konvertierung in maschinenlesbare Datumsformate.

Durch diese drei Module bauen Nutzer einen umfassenden Datensatz auf, der genutzt wird, um KI mit supervised learning Verfahren sowohl in der Klassifikation als auch der Extraktion durch Beispieldokumente zu trainieren. Daten für das initiale wie auch kontinuierliche Training werden über die Web-Browser basierte Konfuzio SmartView per Point und Click im Dokument von Nutzern angebracht. Einmal abgespeicherte Informationen können über eine individuelle URL in der SmartView aufgerufen werden. Außerdem kann jede Einzelinformationen über eine eindeutige URL direkt in der SmartView angesteuert werden.

Die Anwendung bietet eine umfangreiche Protokollierung. Vom Import bis zum Export findet je Dokument eine Protokollierung der technischen Verarbeitungsschritte statt. Diese Ansicht ist für als Superuser berechtigte Nutzer einsehbar. Die Protokollierung auf Modulebene, z. B. die Klassifikation eines Dokuments, ist durch die Aufgaben in dem Messaging System Redis zugänglich.

Darüber hinaus ist es durch diese drei Module möglich einen wohlgeordneten Datenbestand aufzubauen und diesen sowohl für technische als auch inhaltliche Reportingzwecke zu nutzen. Konfuzio bietet Standard Reports und erlaubt die Konfiguration individueller Reports: Vorgefertigte Reports können je trainiertem KI-Modell und je Projekt als CSV direkt aus der Applikation heruntergeladen werden. Individuelle Reports können über das Konfuzio Python SDK oder MS Excel Power Query selbst erstellt werden.

Die Anwendung ist mandantenfähig. Ein KI-Modell kann in unterschiedlichen Projekten verwendet werden. Nutzer mit separat konfigurierbaren Rollen können zu einem Projekt eingeladen werden. Je Projekt steht ein API Endpunkt zur Verfügung. Ein KI- Modell kann somit nach dem Training oder Retraining unterschiedlichen authentifizierten Gruppen von Nutzer zugänglich gemacht werden.

Neben den Konfuzio internen Möglichkeiten zum Reporting wird Konfuzio in einer Kubernetes Umgebung betrieben. Diese erlaubt eine umfassende Kontrolle des technischen Betriebes. Der kontinuierliche Export der Reporting-relevanten Daten ermöglicht ein Ende-zu-Ende-Reporting.

Konfuzio Trainer#

Die Leistungsbeschreibung ergibt sich aus der technischen Dokumentation auf https://dev.konfuzio.com/training/training_documentation.html.

Konfuzio Python SDK#

Das Konfuzio Python SDK erweiterbare Python API, die es Data Scientists und EntwicklerInnen ermöglicht, auf die Funktionalität des Konfuzio Servers zuzugreifen und mit diesem zu interagieren. Das Konfuzio Python SDK funktioniert unabhängig von dem gewählten Hosting Konzept der Konfuzio Servers.

Ein häufiger Anwendungsfall stellt der komplette Download aller auf dem Konfuzio Server verfügbaren Daten dar, zu denen der Nutzer Zugriff hat. Diese Art von Download ermöglicht eine komplette und autarke Datensicherung oder Übertragung der Daten auf den Server des Kunden. Bei einer guten Internetverbindung, somit einer Downloadgeschwindigkeit von mehr als 200 MBit/s, ist folgender Speicherplatzbedarf und Dauer für den Download zu erwarten:

  • Der Text des Dokuments benötigt einen Speicherplatz von ca. 0.05 MB je Seite bei einer Downloadgeschwindigkeit von 26.000 Seiten je Stunde

  • Es fallen zusätzlich 1 MB je Seite an, sofern die optischen Eigenschaften, sogenannte Bounding Boxen, bis auf den jeweiligen einzelnen Buchstabe gesichert werden sollen. Der Download erfolgt bei ca. 16.000 Seiten je Stunde.

  • Weitere 0.125 MB je Seite sind nötig, wenn auch die archivierbare OCR Version des PDFs gesichert werden soll. Diese Dateien können ca. mit 48.000 Seiten je Stunde heruntergeladen werden.

  • Weitere 0.15 MB je Seite sind nötig, wenn jede Seite als Bild gesichert werden soll. Dieser Download ist bei einer Geschwindigkeit von 16.000 Seiten je Stunde möglich.

Eine technische Anleitung zur Nutzung des Python SDK ist auf dev.konfuzio.com zu finden.

Die Leistungsbeschreibung ergibt sich aus der technischen Dokumentation auf https://dev.konfuzio.com/sdk/configuration_reference.html. Sofern das Konfuzio Python SDK nicht in den Wartungsvertrag aufgenommen wird, findet die MIT Lizenz Anwendung. Diese kann auf GitHub eingesehen werden.

Konfuzio Document Validation UI#

Die Konfuzio Document Validation UI bietet eine erweiterbare Vue.js basierte Benutzeroberfläche. Diese wurde speziell für Geschäftskunden entwickelt, um die von unserer Dokumenten Extraktions-KI automatisch extrahierten Informationen intuitiv und mit minimalem Zeitaufwand auf ihre Richtigkeit zu überprüfen und ggf. Korrekturen vorzunehmen.

Die Document Validation UI stellt dem Benutzer eine klare Anleitung zur Überprüfung der extrahierten Informationen bereit. Der typische Anwendungsfall ist die Überprüfung eines von Konfuzio extrahierten Dokuments durch einen Sacharbeiter. Dem Benutzer stehen dabei folgende Aktionen zur Verfügung:

  • Akzeptieren der ausgelesenen Information als Bestätigung der korrekten Auslese

  • Editieren des ausgelesenen Informationsinhalts

  • Entfernen der ausgelesenen Information bei unerwünschter Auslese

  • Hinzufügen einer neuen Annotation bei fehlender extrahierter Information

  • Abschließen der Überprüfung, um durchgeführte Überprüfungen nachzuverfolgen

Des weiteren stellt die Document Validation UI Bearbeitungswerkzeuge bereit, mit der sich die Dokumente wie folgt modifizieren lassen:

  • Umbenennung des Dateinamen

  • Manueller Dokumentenkategorie-Wechsel

  • Aufteilung in mehrere Dateien

  • Umsortieren der im Dokument enthaltenen Seiten

  • Drehen einzelner oder aller Seiten im Dokument

Neben der bestehenden Integration im Konfuzio Server lässt sich die Document Validation UI in Third Party Applikation integrieren.

Eine technische Anleitung zur Integration der Document Validation UI ist auf dev.konfuzio.com zu finden.

Die Leistungsbeschreibung ergibt sich aus der Dokumentation auf https://help.konfuzio.com/document-validation-ui/index.html. Sofern die Document Validation UI nicht in den Wartungsvertrag aufgenommen wird, findet die MIT Lizenz Anwendung. Diese kann auf GitHub eingesehen werden.