Automatisierte Daten Integration

Das Projekt ermöglicht die automatisierte Extraktion und Validierung von Containerstatusmeldungen aus Reports verschiedener Dateiformate. Die bisher zeitaufwändige und fehleranfällige manuelle Übertragung in das Zielsystem wird durch einen effizienten und automatisierten Prozess ersetzt.

Text
Quelle: Bertschi Fotos

Ausgangslage

Die Bertschi AG betreibt weltweit eine grosse Containerflotte für den Gütertransport. Nach dem Entladen müssen Container gereinigt, geprüft und gegebenenfalls repariert werden. Der Status wird von Bertschi aktuell manuell aus nicht standardisierten Reports (PDF, CSV, Excel) in ein internes System übertragen. Dieser Prozess beansprucht viel Zeit, erfordert Fachwissen und ist anfällig für Fehler.

Zielsetzung

Entwicklung einer Lösung, die Statusinformationen aus unterschiedlichen Dateiformaten automatisiert extrahiert, validiert und an das Zielsystem überträgt. Dadurch sollen Bearbeitungszeiten verkürzt, Datenqualität verbessert und Personalressourcen geschont werden.

Beispiel Report

Beispiel Report

Ein Beispiel für einen Report, der die Containerstatusmeldungen enthält.

Big-Picture Systemlandschaft

Big-Picture Systemlandschaft

Dokumente werden an unser System übermittelt. Der Backbone übernimmt die Koordination der Datenflüsse und verarbeitet die User-Anfragen. Die Verarbeitung des Dokuments wird durch den Capturing-Service durchgeführt. Schliesslich werden die extrahierten Daten an das Zielsystem übergeben.

Capturing Pipeline

Capturing Pipeline

Der Capturing-Service verarbeitet die Reports in vier Verarbeitungsschritten.

UI - Report Rows

UI Report Rows

Das UI zeigt die extrahierten Report-Zeilen inkl. Validierungsmeldungen in einer übersichtlichen Tabelle an.

UI - Error Resolver

UI Error Resolver

Das UI bietet eine Fehlerbehebungsfunktion, die es den Benutzern ermöglicht, Validierungsfehler in den extrahierten Report-Zeilen zu identifizieren und zu beheben.

UI - Mapping

UI Mapping

Über das UI können Benutzer die Zuordnungsvorschläge der extrahierten Attribute überschreiben. Das System schlägt basierend auf der Cosine Similarity passende Attribute vor.

Ergebnisse

Die Applikation verarbeitet Reports automatisiert von der Extraktion bis zur Übergabe an das Zielsystem. In vier Verarbeitungsschritten werden die relevanten Inhalte identifiziert, strukturiert und in ein einheitliches JSON-Format überführt. Der in Python implementierte Service nutzt regelbasierte Verfahren und ein Large Language Model (LLM) und erkennt im Testset 99 % der Zeilen korrekt. Über das Java-Spring-Boot-Backend werden Benutzeraktionen verarbeitet, Business-Regeln geprüft und die Daten an das Zielsystem übergeben. Das React-Frontend ermöglicht den Usern eine effiziente Abarbeitung der Statusmeldungen. Die Applikation bietet folgende Features:

  • Automatisierte Verarbeitung von Reports (PDF, CSV, Excel)
  • Validierung der extrahierten Inhalte gegenüber von Business Regeln
  • Intuitive Benutzeroberfläche zur Überprüfung und Korrektur der Daten
  • Integration in bestehende Systeme zur Datenübergabe

Technische Schlüsselbegriffe

  • Java Sprint-BootDie Implementation des Backbones erfolgte mit Spring-Boot.
  • PythonFür die Datenanalyse und -verarbeitung im Capturing-Service wurde Python eingesetzt.
  • JavaScript/ReactFür die Benutzeroberfläche des Capturing-Service wurde React verwendet.
  • RabbitMQFür die asynchrone Kommunikation zwischen den Microservices wurde RabbitMQ eingesetzt.
  • PostgreSQLFür die Speicherung der extrahierten Daten wurde PostgreSQL verwendet.
  • WebSocketsFür die Aktualisierung der Benutzeroberfläche in Echtzeit wurden WebSockets eingesetzt.
  • KubernetesDie Applikation wurde dem Kunden für das Testing mit Kubernetes bereitgestellt.
  • BERTDie Klassifizierung der Report-Inhalte wurde ein BERT Modell trainiert.
  • Cosine SimilarityReport spezifische Begrifflichkeiten wurden mithilfe der Cosine Similarity normalisiert.

Auftraggeber

Logos

Bertschi AG
Hutmattstrasse 22
CH-5724 Dürrenäsch
Bertschi AG

Team

Seya Schmassmann
Dario Wigger

Betreuer
Prof. Martin Kropp
Fabian Affolter