Bearbeiten

Share via


Automatisieren der Dokumentidentifizierung, -klassifizierung und -suche mithilfe von Durable Functions

Azure-Funktionen
Azure App Service
Azure KI Services
Azure KI Search
Azure Kubernetes Service (AKS)

In diesem Artikel wird eine Architektur für die Verarbeitung von Dokumentdateien beschrieben, die mehrere Dokumente verschiedener Typen enthalten. Dabei wird die Durable Functions-Erweiterung von Azure Functions für die Implementierung der Pipelines verwendet, die die Dateien verarbeiten.

Aufbau

Diagramm: Architektur zum Identifizieren, Klassifizieren und Suchen von Dokumenten

Laden Sie eine Visio-Datei dieser Architektur herunter.

Workflow

  1. Der Benutzer stellt eine Dokumentdatei bereit, die von der Web-App hochgeladen wird. Die Datei enthält mehrere Dokumente verschiedener Typen. Es kann sich beispielsweise um eine PDF- oder eine mehrseitige TIFF-Datei handeln.

    1. Die Dokumentdatei wird in Azure Blob Storage gespeichert.
    2. Die Web-App fügt einer Speicherwarteschlange eine Befehlsmeldung hinzu, um die Pipelineverarbeitung zu initiieren.
  2. Die Durable Functions-Orchestrierung wird durch die Befehlsmeldung ausgelöst. Die Meldung enthält Metadaten, die den Speicherort der zu verarbeitenden Dokumentdatei in Blob Storage angeben. Jede Durable Functions-Instanz verarbeitet nur eine Dokumentdatei.

  3. Die Funktion für die Scanaktivität ruft die Lese-API für maschinelles Sehen auf und übergibt den Speicherort im Speicher des zu verarbeitenden Dokuments. Ergebnisse der optischen Zeichenerkennung (Optical Character Recognition, OCR) werden an die Orchestrierung zur Verwendung durch nachfolgende Aktivitäten zurückgegeben.

  4. Die Funktion für die Klassifizierungsaktivität ruft den Dokumentklassifizierungsdienst auf, der in einem AKS-Cluster (Azure Kubernetes Service) gehostet wird. Dieser Dienst verwendet den Musterabgleich mit regulären Ausdrücken, um die Startseite jedes bekannten Dokuments zu identifizieren und um zu berechnen, wie viele Dokumenttypen in der Dokumentdatei enthalten sind. Die Typen und Seitenbereiche der Dokumente werden berechnet und an die Orchestrierung zurückgegeben.

    Hinweis

    Azure bietet keinen Dienst, der mehrere Dokumenttypen in einer einzelnen Datei klassifizieren kann. Diese Lösung verwendet einen Nicht-Azure-Dienst, der in AKS gehostet wird.

  5. Die Funktion für die Metadatenspeicheraktivität speichert die Informationen zu Dokumenttyp und Seitenbereich in einem Azure Cosmos DB-Speicher.

  6. Die Funktion für die Indizierungsaktivität erstellt im Cognitive Search-Service ein neues Suchdokument für jeden identifizierten Dokumenttyp und verwendet die Azure KI-Suche-Bibliotheken für .NET, um die vollständigen OCR-Ergebnisse und Dokumentinformationen in das Suchdokument einzuschließen. Außerdem wird dem Suchdokument eine Korrelations-ID hinzugefügt, damit die Suchergebnisse mit den entsprechenden Dokumentmetadaten aus Azure Cosmos DB abgeglichen werden können.

  7. Endbenutzer können anhand von Inhalten und Metadaten nach Dokumenten suchen. Korrelations-IDs im Resultset der Suche können verwendet werden, um Dokumentdatensätze in Azure Cosmos DB nachzuschlagen. Die Datensätze enthalten Links zur ursprünglichen Dokumentdatei in Blob Storage.

Komponenten

  • Durable Functions ist eine Erweiterung von Azure Functions, mit der Sie zustandsbehaftete Funktionen in einer serverlosen Computeumgebung schreiben können. In dieser Anwendung wird sie zum Verwalten der Dokumenterfassung und Workfloworchestrierung verwendet. Sie können zustandsbehaftete Workflows definieren, indem Sie Orchestratorfunktionen schreiben, die dem Azure Functions-Programmiermodell entsprechen. Im Hintergrund verwaltet die Erweiterung Zustand, Prüfpunkte und Neustarts für Sie, sodass Sie sich auf die Geschäftslogik konzentrieren können.
  • Azure Cosmos DB ist eine global verteilte Datenbank mit mehreren Modellen, mit der Ihre Lösungen Durchsatz und Speicherkapazität für eine beliebige Anzahl von geografischen Regionen skalieren kann. Durchsatz, Wartezeit, Verfügbarkeit und Konsistenz können mithilfe umfassender Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs) garantiert werden.
  • Bei Azure Storage handelt es sich um eine Reihe hochgradig skalierbarer und sicherer Clouddienste für Daten, Apps und Workloads. Dazu gehören Blob Storage, Azure Files, Azure Table Storage und Azure Queue Storage.
  • Azure App Service stellt ein Framework zum Erstellen, Bereitstellen und Skalieren von Web-Apps bereit. Die Web-Apps-Funktion ist ein HTTP-basierter Dienst zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. Mit Web-Apps können Sie in .NET, .NET Core, Java, Ruby, Node.js, PHP oder Python entwickeln. Anwendungen können in Windows- und Linux-basierten Umgebungen einfach ausgeführt und skaliert werden.
  • Azure KI Services stellt intelligente Algorithmen zum Sehen, Hören, Sprechen, Verstehen und Interpretieren der Wünsche von Benutzern durch Verwendung natürlicher Kommunikationsmethoden bereit.
  • Azure KI-Suche stellt eine umfangreiche Suchbenutzeroberfläche für private, heterogene Inhalte in Web-, Mobil- und Unternehmensanwendungen bereit.
  • AKS ist ein hochverfügbarer, sicherer und vollständig verwalteter Kubernetes-Dienst. AKS erleichtert das Bereitstellen und Verwalten containerisierter Anwendungen.

Alternativen

Szenariodetails

In diesem Artikel wird eine Architektur beschrieben, die mithilfe von Durable Functions automatisierte Pipelines für die Verarbeitung von Dokumentdateien implementiert, die mehrere Dokumente verschiedener Typen enthalten. Die Pipelines identifizieren die Dokumente in einer Dokumentdatei, klassifizieren sie nach Typ und speichern Informationen, die bei der nachfolgenden Verarbeitung verwendet werden können.

Viele Unternehmen müssen Dokumentdateien verwalten und verarbeiten, die Dokumente enthalten, die per Massenvorgang gescannt wurden und mehrere verschiedene Dokumenttypen enthalten können. In der Regel handelt es sich bei den Dokumentdateien um PDF-Dateien oder mehrseitige TIFF-Bilder. Diese Dateien stammen in der Regel von außerhalb der Organisation, und das empfangende Unternehmen kontrolliert den Inhalt nicht.

Angesichts dieser Einschränkungen waren Organisationen gezwungen, eigene Dokumentanalyselösungen zu erstellen, die benutzerdefinierte Technologie und manuelle Prozesse umfassen können. Eine Lösung kann den Benutzereingriff zum Aufteilen der einzelnen Dokumenttypen in eigene Dateien und zum Hinzufügen von Klassifizierungsqualifizierern für jedes Dokument umfassen.

Viele dieser benutzerdefinierten Lösungen basieren auf dem Muster des Zustandsautomatworkflows und nutzen Datenbanksysteme zum Beibehalten des Workflowstatus mit Abrufdiensten, die die Zustände überprüfen, für deren Verarbeitung sie verantwortlich sind. Die Wartung und Optimierung solcher Lösungen kann schwierig und zeitaufwändig sein.

Organisationen suchen nach zuverlässigen, skalierbaren und resilienten Lösungen für die Verarbeitung und Verwaltung der Dokumentidentifikation und -klassifizierung für die Dateitypen, die ihre Organisation verwendet. Dies schließt die Verarbeitung von Millionen von Dokumenten pro Tag mit vollständigem Einblick in den Erfolg oder Misserfolg der Verarbeitungspipeline ein.

Mögliche Anwendungsfälle

Diese Lösung eignet sich für viele Bereiche:

  • Titel: Viele Regierungsbehörden und Gemeinden verwalten Papierunterlagen, die noch nicht in digitale Form überführt wurden. Eine effektive automatisierte Lösung kann eine Datei generieren, die alle Dokumente enthält, die zum Erfüllen einer Dokumentanforderung erforderlich sind.
  • Wartungsunterlagen: Wartungsunterlagen für Flugzeuge, Lokomotiven und Maschinen liegen noch in Papierform vor, die eingescannt und an externe Organisationen gesendet werden müssen.
  • Genehmigungsverarbeitung: Die für die Erteilung von Genehmigungen zuständigen Abteilungen der Städte und Bezirke führen immer noch Papierdokumente, die für Prüfberichte für Genehmigungen erstellt werden. Die Möglichkeit, ein Bild von mehreren Prüfdokumenten zu machen und diese Datensätze automatisch zu identifizieren, zu klassifizieren und zu durchsuchen, kann sehr vorteilhaft sein.

Überlegungen

Diese Überlegungen setzen die Säulen des Azure Well-Architected Framework um, das eine Reihe von Leitprinzipien enthält, die zur Verbesserung der Qualität eines Workloads verwendet werden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

Eine zuverlässige Workload muss robust und verfügbar sein. Resilienz ist die Fähigkeit des Systems, nach Ausfällen für ein System eine Wiederherstellung durchzuführen und die Betriebsbereitschaft sicherzustellen. Das Ziel der Resilienz besteht darin, nach einem Ausfall wieder die volle Funktionsfähigkeit einer Anwendung herzustellen. Verfügbarkeit ist ein Maßstab dafür, ob Ihre Benutzer bei Bedarf jederzeit auf Ihre Workload Zugriff haben.

Informationen zur Zuverlässigkeit dieser Lösungskomponenten finden Sie in den folgenden Ressourcen:

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Die größten Kosten für diese Architektur ergeben sich möglicherweise aus der Speicherung von Bilddateien im Speicherkonto, der Azure KI Services-Bildverarbeitung und den Anforderungen der Indexkapazität im Azure KI-Suche-Dienst.

Die Kosten können durch die richtige Dimensionierung des Speicherkontos mithilfe von reservierter Kapazität und Lebenszyklusrichtlinien, durch die richtige Azure KI-Suche-Planung für regionale Bereitstellungen und die Planung der operativen Hochskalierung sowie durch die Nutzung von Preisen für Mindestabnahme für den OCR-Dienst für maschinelles Sehen optimiert werden, um vorhersagbare Kosten zu verwalten.

Hier finden Sie einige Richtlinien für die Kostenoptimierung:

  • Nutzen Sie für Ihre Architektur die Strategie mit nutzungsbasierter Bezahlung, und skalieren Sie nach Bedarf auf, anstatt bereits zu Beginn in umfangreiche Ressourcen zu investieren.
  • Berücksichtigen Sie Opportunitätskosten Ihrer Architektur, und wägen Sie die Vor- und Nachteile ab, die eine Position als Vorreiter oder Nachahmer mit sich bringt. Nutzen Sie den Preisrechner, um die Vor- und Betriebskosten zu schätzen.
  • Richten Sie Richtlinien, Budgets und Kontrollen ein, um die Kosten für Ihre Lösung zu begrenzen.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, eine effiziente Skalierung entsprechend den Anforderungen der Benutzer auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

In Zeiten, in denen diese Lösung große Mengen verarbeitet, kann es zu Leistungsengpässen kommen. Stellen Sie sicher, dass Sie die Skalierungsoptionen für Azure Functions, automatische Skalierung von Azure KI Services und Azure Cosmos DB-Partitionierung verstehen, und planen Sie entsprechend, um eine angemessene Leistungseffizienz für Ihre Lösung sicherzustellen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte

Einführungsartikel:

Produktdokumentation: