Vorwort
Willkommen zum zweiten Teil der Blog-Serie über die Intelligente Dokumentenverarbeitung (IDP). Im ersten Artikel haben wir die grundsätzlichen Vorteile und Einsatzmöglichkeiten von IDP beleuchtet. Wir haben darüber gesprochen, wie maschinelles Lernen und Künstliche Intelligenz dazu beitragen, Dokumente effizienter und fehlerfreier zu analysieren, zu extrahieren und in Ihre Geschäftsprozesse zu integrieren. In diesem zweiten Teil vertiefen wir unser Wissen und konzentrieren uns darauf, wie die Schnittstelle von IDP tatsächlich implementiert werden kann. Wir zeigen detailliert auf, welche Schritte erforderlich sind, um IDP in Ihre bestehenden Systeme zu integrieren, und welche konkreten Funktionen es bietet. Wenn Sie also neugierig geworden sind und wissen möchten, wie Sie die Vorteile von IDP in der Praxis nutzen können, sind Sie hier genau richtig. Lehnen Sie sich zurück, nehmen Sie Ihr Entwicklungs-Tool zur Hand, und lassen Sie uns gemeinsam die Welt der intelligenten Dokumentenverarbeitung weiter erkunden!
Anypoint Platform IDP
Wenn Sie die Anypoint Platform öffnen, fällt sofort eine neue, spannende Funktion ins Auge: die Automation-Funktion. Direkt auf dem Startbildschirm platziert, ist sie sofort zugänglich und leicht zu finden. Mit dieser neuen Ergänzung wird das Automatisieren von Arbeitsabläufen noch einfacher und intuitiver, sodass Sie keine Zeit verlieren und direkt loslegen können. Die auffallend platzierte Funktion sorgt dafür, dass Sie sofort wissen, wo Sie starten müssen, um Ihre Prozesse effizienter zu gestalten.
Um sofort mit dem neuen Tool loszulegen, klicken Sie einfach auf „Get Started“. Dadurch öffnet sich die Benutzeroberfläche zur Einrichtung, und Sie können direkt beginnen. Die intuitive Gestaltung sorgt dafür, dass Sie ohne Umwege in die Nutzung einsteigen und das Potenzial der neuen Funktionen voll ausschöpfen können.
Schauen wir uns einmal die Möglichkeiten auf der Seite an. Auf der linken Seite haben wir eine übersichtliche Navigation, die es uns ermöglicht, zwischen zwei Hauptbereichen zu wechseln: "Document Actions" und "Review Tasks". Relativ mittig auf der Seite finden wir den „Create New“-Button, mit dem wir neue Document Actions erstellen können. Gehen wir einmal näher auf die einzelnen Actions ein. Eine Document Action ist ein vorgefertigtes Template von MuleSoft, das ein bestimmtes Format in Form eines Datenmodells vorgibt. MuleSoft stellt zwei Arten von Dokumenten bereit: Rechnungen (Invoices) und Bestellaufträge (Purchase Orders). Für jede dieser Dokumenttypen werden unterschiedliche Attribute als Standard festgelegt, um die extrahierten Daten einem spezifischen Attribut zuzuordnen. Des Weiteren haben Anwender die Möglichkeit, individuelle Prompts anzulegen. Diese Prompts können spezifische Fragen stellen, die auf bestimmte Informationen abzielen, die das standardmäßige Datenmodell von MuleSoft möglicherweise nicht abdeckt oder nicht gut erkennt. So können Sie sicherstellen, dass alle relevanten Daten erfasst und korrekt verarbeitet werden. Mit dieser übersichtlichen und flexiblen Oberfläche bietet MuleSoft die Werkzeuge, die Sie benötigen, um Dokumente effizient und präzise zu verarbeiten.
In meinem Beispiel habe ich meine Action „firstIdp“ genannt und den Dokumententyp „Invoice“ (Rechnung) gewählt. Jetzt kann es direkt losgehen und wir können die ersten Rechnungen durch die KI verarbeiten lassen. Dazu klicken wir einfach auf den neuen Eintrag „firstIdp“. Es öffnet sich eine neue Seite, die genau beschreibt, was getan werden muss, um Informationen aus einem Dokument zu extrahieren. Ein wichtiger Hinweis: Jedes Attribut in der Definition kann individuell angepasst werden. Sie können festlegen, ob ein Attribut als „required“ (erforderlich) markiert ist oder welcher „threshold“ (Schwellenwert) erreicht werden muss, damit das Attribut eindeutig identifiziert werden kann. Diese Flexibilität ermöglicht es Ihnen, die Datenextraktion optimal an Ihre spezifischen Anforderungen anzupassen und sicherzustellen, dass alle relevanten Informationen korrekt erfasst werden. Wobei hier erwähnt werden muss, dass die Erkennung durch andere Mechanismen evaluiert werden sollte, um Fehlverarbeitungen zu vermeiden!
Für Testzwecke kann eine Rechnung ganz einfach über den „Select files“-Button importiert oder per Drag-and-Drop auf die Oberfläche gezogen werden. Sobald das Dokument hochgeladen ist, wird es auf der Plattform sichtbar. Nun können Sie die Extraktion starten. Ein neuer „Run“-Button erscheint, den Sie einfach anklicken können. Die Einstein KI übernimmt dann den Rest und verarbeitet das Dokument, extrahiert die relevanten Daten und ordnet sie den entsprechenden Attributen zu.
Wie in den beiden Screenshots zu sehen ist, wurden die Informationen aus dem Vertragsdokument erfolgreich extrahiert und in das von der KI vordefinierte Modell eingepflegt. Die extrahierten Daten sind übersichtlich dem entsprechenden Datenmodell zugeordnet. Zusätzlich wurde ein generischer Prompt verwendet, der speziell nach der Vertragsnummer im Dokument sucht und diese auch erfolgreich findet.
Wie wird ein Asset erstellt?
Doch wie integriert man nun die Fähigkeiten des neuen Tools in bestehende Integrationsprozesse oder setzt komplett neue Prozesse auf? Das ist tatsächlich genauso einfach wie das Hochladen eines Assets für eine bestehende API-Spezifikation im Design Center. Folgen Sie einfach diesen Schritten: Speichern: Sobald Sie Ihre Konfiguration abgeschlossen haben, klicken Sie auf den „Save“-Button. Veröffentlichen: Anschließend klicken Sie auf den „Publish“-Button.
Durch diese Schritte wird Ihre aktuelle Version im RPA Builder und in der Anypoint Exchange verfügbar gemacht. Das bedeutet, dass Sie Ihre neue Document Action in bestehenden Integrationsprozessen nutzen oder in neuen Projekten einbinden können – ganz ohne großen Aufwand.
Connected App
Um mit dem IDP Tool zu kommunizieren, benötigen Sie eine Connected App auf der Anypoint Platform. Diese ermöglicht und verwaltet die Interaktion zwischen externen Anwendungen und der MuleSoft Anypoint Platform, da die Schnittstelle für IDP einen OAuth2 Access Token benötigt. Das erzeugte Asset für IDP bedient sich an einer bereits bestehenden Schnittstelle, die die Daten entgegennimmt und bereitstellt. Dadurch haben wir in unserem Asset direkt eine POST- und GET-Schnittstelle zum Fremdsystem.
- Zugriff auf Access Management: Öffnen Sie auf der linken Seite der Anypoint Platform die Option „Access Management“ und wählen Sie den Punkt „Connected Apps“ aus.
- Neue Connected App erstellen: Klicken Sie auf den Button „Create New“, um den Dialog zum Anlegen einer neuen Connected App zu öffnen.
- App-Details eingeben:
- Name: Geben Sie einen Namen für Ihre Connected App ein.
- App Acts on its own behalf: Wählen Sie diese Option, um anzuzeigen, dass die App im eigenen Namen agiert.
- Scope: Fügen Sie den Scope „Execute Published Actions“ hinzu.
- Business Group: Weisen Sie die Connected App Ihrer Business Group zu.
- Speichern: Klicken Sie auf „Save“, um die Connected App zu erstellen.
Ihre Connected App ist jetzt eingerichtet und bereit zur Nutzung. Mit dieser App können Sie nahtlos mit dem IDP Tool kommunizieren und die benötigten OAuth2 Access Tokens generieren. So stellen Sie sicher, dass Ihre POST- und GET-Schnittstellen effektiv genutzt werden können, um Daten zu empfangen und bereitzustellen.
Asset als Modul in Applikation benutzen
Nachdem wir alle Konfigurationen vorgenommen haben, können wir nun damit beginnen, MuleSofts IDP in bestehende Prozesse oder neue Schnittstellen zu integrieren. In meinem Beispiel habe ich zwei Schnittstellen erstellt:
- Dokument-Upload: Diese Schnittstelle nimmt ein Dokument im octet-stream-Format entgegen und wandelt es in multipart/form-data um, damit die IDP-Schnittstelle damit umgehen kann.
- Datenkonsum: Diese Schnittstelle ermöglicht den Zugriff auf die extrahierten Daten.
Um diese Schnittstellen nutzen zu können, müssen wir zunächst das IDP-Asset über Anypoint Exchange in die Applikation importieren. Hier ist die Vorgehensweise:
- Asset importieren:
- Öffnen Sie das Manage Modules-Menü Ihrer Applikation.
- Wählen Sie das benötigte Asset-Artefakt aus Anypoint Exchange aus.
- Importieren Sie das Asset, um Zugriff auf die vordefinierten Connectoren zu erhalten.
- Schnittstellen einrichten:
- Dokument-Upload-Schnittstelle: Konfigurieren Sie die Schnittstelle so, dass sie Dokumente im octet-stream-Format akzeptiert und diese in multipart/form-data umwandelt, bevor sie an die IDP-Schnittstelle weitergeleitet werden.
- Datenkonsum-Schnittstelle: Richten Sie eine Schnittstelle ein, die es erlaubt, die extrahierten Daten zu konsumieren und weiterzuverarbeiten.
Mit diesen Schritten haben Sie die IDP-Funktionalitäten in Ihre Applikation integriert und sind bereit, Dokumente effizient und präzise zu verarbeiten. Durch das Importieren des Assets über Anypoint Exchange und die Nutzung der vordefinierten Connectoren können Sie sicherstellen, dass Ihre Integrationen nahtlos funktionieren und optimal für Ihre Geschäftsprozesse angepasst sind.
In der Definition der postDocumentActionExecution im Anypoint Exchange erhalten wir als Antwort eine id und einen documentName. Diese beiden Parameter ermöglichen es uns, das Dokument eindeutig zu identifizieren und Zugriff auf die extrahierten Daten zu erhalten. Hier ist die Vorgehensweise:
- Dokument hochladen und verarbeiten:
- Wenn Sie die postDocumentActionExecution-Methode aufrufen und ein Dokument hochladen, erhalten Sie eine Antwort, die eine id (auch bekannt als „executionId“) und den documentName enthält.
- Daten abrufen:
- Diese executionId wird dann in der getDocumentActionExecution-Methode verwendet, um die Daten vom Server abzurufen.
- Der Response ist ein JSON-Objekt, das die extrahierten Daten enthält.
- Weiterverarbeitung:
- Die extrahierten Daten können daraufhin weiterverarbeitet werden, je nach den spezifischen Anforderungen Ihrer Anwendung.
Mit diesen Schritten haben Sie eine klare Methode, um Dokumente hochzuladen, die extrahierten Daten abzurufen und weiterzuverarbeiten. Die Nutzung der executionId als Schlüsselparameter stellt sicher, dass Sie jederzeit auf die richtigen Daten zugreifen können.
Dokument Review Tasks
Sobald die Implementierung abgeschlossen ist, können PDFs, JPGs und PNG-Dateien an die KI geschickt werden, um die Dokumente zu verarbeiten. Es kann jedoch vorkommen, dass einige Dokumente nicht eindeutig erkannt werden und der voreingestellte Grenzwert von 80% (für jedes Attribut) unterschritten wird. Um solche Fälle schnell zu identifizieren, bietet die JSON-Rückgabe ein wichtiges Attribut namens „status“. Dieser Status kann verschiedene Zustände annehmen, die genau definieren, wie die Extraktion abgelaufen ist.
- ACKNOWLEDGED: Die Anforderung zur Dokumentenverarbeitung wurde empfangen.
- IN_PROGRESS: Das Dokument wird derzeit verarbeitet.
- RESULTS_PENDING: Die Verarbeitung ist abgeschlossen, und die Ergebnisse werden aufbereitet.
- MANUAL_VALIDATION_REQUIRED: Das Dokument wurde verarbeitet, aber einige Ergebnisse müssen manuell überprüft werden, da der voreingestellte Grenzwert von 80% nicht erreicht wurde.
- FAILED: Die Verarbeitung des Dokuments war nicht erfolgreich.
- PARTIAL_SUCCESS: Die Verarbeitung war teilweise erfolgreich, aber einige Unteraufgaben sind fehlgeschlagen.
- SUCCEEDED: Das Dokument wurde erfolgreich verarbeitet und alle relevanten Daten wurden extrahiert.
Durch Überprüfen des „status“-Attributs in der JSON-Rückgabe können Sie schnell feststellen, ob die Dokumentenextraktion erfolgreich war oder ob manuelle Eingriffe erforderlich sind.
Wo landen meine Daten?
IDP verwendet AWS-Dienste wie S3 und RDS, um Dateien und die extrahierten Daten zu speichern. Derzeit unterstützt IDP 2 Regionen: USA (Virginia) und EU (Frankfurt, Deutschland). IDP speichert die Daten möglichst nah an Ihrer Anypoint-Kontrollplane-Region, um die Anforderungen der DSGVO zu erfüllen. Beispielsweise speichert IDP Ihre Daten im Rechenzentrum in Frankfurt, wenn Ihre Anypoint-Kontrollplane in der EU-Region betrieben wird.
Fazit
Das neue Tool Intelligence Document Processing von MuleSoft zeigt sich als einfach zu implementieren und intuitiv zu benutzen, was eine recht übersichtliche Benutzeroberfläche bietet. Es stellt einen guten ersten Ansatz dar, eröffnet jedoch Raum für weitere Verbesserungen. Der derzeitige Einsatz ist hauptsächlich auf standardisierte Rechnungen und Dokumente begrenzt (dies ist der Eindruck, den ich zunächst gewonnen habe), und es sind noch einige Kinderkrankheiten vorhanden. Ein Beispiel hierfür ist, dass eine Nachbearbeitung bereits erkannter Attribute im Überprüfungsauftrag nicht möglich ist und die Konversionsrate für die einzelnen Attribute nicht angegeben wird. Die Plattform zur Nachbearbeitung befindet sich noch in einem frühen Entwicklungsstadium, was zu Einschränkungen führen kann. Insgesamt stellt sich die Frage, ob ein großer Dokumentenumfang effizient verarbeitet werden kann. Der Fokus sollte möglicherweise auf kleinere Einsatzfälle gelegt werden. Trotz der besseren Workflow-Gestaltung anderer Anbieter bleibt es spannend abzuwarten, welche Verbesserungen und neuen Funktionen MuleSoft in den kommenden Monaten für den IDP-Workflow bereitstellen wird. Letztendlich muss sich jeder selbst damit auseinandersetzen, um herauszufinden, ob IDP für den eigenen Use-Case geeignet ist und die internen Prozesse verbessert werden können.
Weitere Beiträge
von René Rother
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog-Autor*in
René Rother
IT Consultant & Developer
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.