Zephyrnet-Logo

Kostengünstige Dokumentenklassifizierung mit dem Amazon Titan Multimodal Embeddings Model | Amazon Web Services

Datum:

Unternehmen aller Branchen möchten große Mengen an Dokumenten unterschiedlicher Formate kategorisieren und daraus Erkenntnisse gewinnen. Die manuelle Verarbeitung dieser Dokumente zur Klassifizierung und Extraktion von Informationen bleibt teuer, fehleranfällig und schwierig zu skalieren. Fortschritte in der generative künstliche Intelligenz (KI) haben intelligente Dokumentenverarbeitungslösungen (IDP) hervorgebracht, die die Dokumentenklassifizierung automatisieren und eine kostengünstige Klassifizierungsebene schaffen können, die in der Lage ist, verschiedene, unstrukturierte Unternehmensdokumente zu verarbeiten.

Die Kategorisierung von Dokumenten ist ein wichtiger erster Schritt in IDP-Systemen. Es hilft Ihnen dabei, die nächsten Maßnahmen zu bestimmen, die je nach Dokumenttyp durchgeführt werden müssen. Während des Schadensentscheidungsprozesses erhält beispielsweise die Kreditorenbuchhaltung die Rechnung, während die Schadensabteilung die Vertrags- oder Policendokumente verwaltet. Herkömmliche Regel-Engines oder ML-basierte Klassifizierung können die Dokumente klassifizieren, stoßen jedoch häufig an Grenzen hinsichtlich der Dokumentformattypen und der Unterstützung für das dynamische Hinzufügen neuer Dokumentklassen. Weitere Informationen finden Sie unter Amazon Comprehend Document Classifier fügt Layout-Unterstützung für höhere Genauigkeit hinzu.

In diesem Beitrag besprechen wir die Dokumentenklassifizierung mithilfe von Amazon Titan Multimodal Embeddings-Modell beliebige Dokumenttypen ohne Schulungsaufwand zu klassifizieren.

Multimodale Einbettungen von Amazon Titan

Amazon hat kürzlich eingeführt Titan Multimodale Einbettungen in Amazonas Grundgestein. Dieses Modell kann Einbettungen für Bilder und Text erstellen und so die Erstellung von Dokumenteinbettungen ermöglichen, die in neuen Dokumentenklassifizierungsworkflows verwendet werden können.

Es generiert optimierte Vektordarstellungen von als Bilder gescannten Dokumenten. Durch die Codierung sowohl visueller als auch textueller Komponenten in einheitliche numerische Vektoren, die die semantische Bedeutung verkörpern, ermöglicht es eine schnelle Indizierung, eine leistungsstarke kontextbezogene Suche und eine genaue Klassifizierung von Dokumenten.

Wenn in Geschäftsabläufen neue Dokumentvorlagen und -typen auftauchen, können Sie diese einfach aufrufen Amazon Bedrock-API um sie dynamisch zu vektorisieren und an ihre IDP-Systeme anzuhängen, um die Klassifizierungsfähigkeiten von Dokumenten schnell zu verbessern.

Lösungsüberblick

Sehen wir uns die folgende Dokumentklassifizierungslösung mit dem Amazon Titan Multimodal Embeddings-Modell an. Für eine optimale Leistung sollten Sie die Lösung an Ihren spezifischen Anwendungsfall und die bestehende IDP-Pipeline-Einrichtung anpassen.

Diese Lösung klassifiziert Dokumente mithilfe der semantischen Suche mit Vektoreinbettung, indem sie ein Eingabedokument einer bereits indizierten Dokumentengalerie zuordnet. Wir verwenden folgende Schlüsselkomponenten:

  • Einbettungen - Einbettungen sind numerische Darstellungen realer Objekte, die maschinelles Lernen (ML) und KI-Systeme verwenden, um komplexe Wissensbereiche wie Menschen zu verstehen.
  • Vektordatenbanken - Vektordatenbanken werden zum Speichern von Einbettungen verwendet. Vektordatenbanken indizieren und organisieren die Einbettungen effizient und ermöglichen so das schnelle Abrufen ähnlicher Vektoren basierend auf Distanzmetriken wie der euklidischen Distanz oder der Kosinusähnlichkeit.
  • Semantische Suche – Bei der semantischen Suche werden der Kontext und die Bedeutung der Eingabeabfrage sowie deren Relevanz für den durchsuchten Inhalt berücksichtigt. Vektoreinbettungen sind eine effektive Möglichkeit, die kontextuelle Bedeutung von Texten und Bildern zu erfassen und beizubehalten. Wenn in unserer Lösung eine Anwendung eine semantische Suche durchführen möchte, wird das Suchdokument zunächst in ein Einbettungsdokument umgewandelt. Anschließend wird die Vektordatenbank mit relevanten Inhalten abgefragt, um die ähnlichsten Einbettungen zu finden.

Im Etikettierungsprozess wird ein Mustersatz von Geschäftsdokumenten wie Rechnungen, Kontoauszügen oder Rezepten mithilfe des Amazon Titan Multimodal Embeddings-Modells in Einbettungen umgewandelt und in einer Vektordatenbank anhand vordefinierter Etiketten gespeichert. Das Amazon Titan Multimodal Embedding-Modell wurde mit dem Euclidean L2-Algorithmus trainiert. Um optimale Ergebnisse zu erzielen, sollte die verwendete Vektordatenbank diesen Algorithmus daher unterstützen.

Das folgende Architekturdiagramm veranschaulicht, wie Sie das Amazon Titan Multimodal Embeddings-Modell mit Dokumenten in einem verwenden können Amazon Simple Storage-Service (Amazon S3) Bucket für die Erstellung von Bildergalerien.

Der Arbeitsablauf besteht aus den folgenden Schritten:

  1. Ein Benutzer oder eine Anwendung lädt ein Beispieldokumentbild mit Klassifizierungsmetadaten in eine Dokumentbildgalerie hoch. Zur Klassifizierung von Galeriebildern können ein S3-Präfix oder S3-Objektmetadaten verwendet werden.
  2. Ein Amazon S3-Objektbenachrichtigungsereignis ruft die Einbettung auf AWS Lambda Funktion.
  3. Die Lambda-Funktion liest das Dokumentbild und übersetzt das Bild in Einbettungen, indem sie Amazon Bedrock aufruft und das Amazon Titan Multimodal Embeddings-Modell verwendet.
  4. Bildeinbettungen werden zusammen mit der Dokumentenklassifizierung in der Vektordatenbank gespeichert.

Dies ist das Architekturdiagramm, das veranschaulicht, wie Titan Multimodal Embeddings mit Dokumenten in einem Amazon Simple Storage Service (Amazon S3)-Bucket zur Erstellung und Klassifizierung von Bildergalerien verwendet werden kann.

Wenn ein neues Dokument klassifiziert werden muss, wird dasselbe Einbettungsmodell verwendet, um das Abfragedokument in ein Einbettungsdokument umzuwandeln. Anschließend wird mithilfe der Abfrageeinbettung eine semantische Ähnlichkeitssuche in der Vektordatenbank durchgeführt. Die anhand der obersten Einbettungsübereinstimmung abgerufene Bezeichnung ist die Klassifizierungsbezeichnung für das Abfragedokument.

Das folgende Architekturdiagramm veranschaulicht, wie das Amazon Titan Multimodal Embeddings-Modell mit Dokumenten in einem S3-Bucket zur Bildklassifizierung verwendet wird.

Der Arbeitsablauf besteht aus den folgenden Schritten:

  1. Dokumente, die eine Klassifizierung erfordern, werden in einen Eingabe-S3-Bucket hochgeladen.
  2. Die Klassifizierungs-Lambda-Funktion empfängt die Amazon S3-Objektbenachrichtigung.
  3. Die Lambda-Funktion übersetzt das Bild in eine Einbettung, indem sie die Amazon Bedrock-API aufruft.
  4. Mittels semantischer Suche wird die Vektordatenbank nach einem passenden Dokument durchsucht. Die Klassifizierung des übereinstimmenden Dokuments wird zur Klassifizierung des Eingabedokuments verwendet.
  5. Das Eingabedokument wird unter Verwendung der aus der Vektordatenbanksuche abgerufenen Klassifizierung in das S3-Zielverzeichnis oder -Präfix verschoben.

Dies ist das Architekturdiagramm, das veranschaulicht, wie Titan Multimodal Embeddings mit Dokumenten in einem Amazon Simple Storage Service (Amazon S3)-Bucket zur Bildklassifizierung verwendet werden kann.

Um Ihnen beim Testen der Lösung mit Ihren eigenen Dokumenten zu helfen, haben wir ein Beispiel-Python-Jupyter-Notebook erstellt, das unter verfügbar ist GitHub.

Voraussetzungen:

Um das Notebook auszuführen, benötigen Sie eine AWS-Konto mit entsprechenden AWS Identity and Access Management and (IAM)-Berechtigungen zum Aufrufen von Amazon Bedrock. Zusätzlich auf der Modellzugriff Stellen Sie auf der Seite der Amazon Bedrock-Konsole sicher, dass der Zugriff für das Amazon Titan Multimodal Embeddings-Modell gewährt wird.

Sytemimplementierung

Ersetzen Sie in den folgenden Schritten jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen:

  1. Erstellen Sie die Vektordatenbank. In dieser Lösung verwenden wir eine In-Memory-FAISS-Datenbank, Sie können jedoch auch eine alternative Vektordatenbank verwenden. Die Standarddimensionsgröße von Amazon Titan ist 1024.
index = faiss.IndexFlatL2(1024)
indexIDMap = faiss.IndexIDMap(index)

  1. Nachdem die Vektordatenbank erstellt wurde, nummerieren Sie die Beispieldokumente, erstellen Einbettungen für jedes Dokument und speichern diese in der Vektordatenbank
  1. Testen Sie mit Ihren Unterlagen. Ersetzen Sie die Ordner im folgenden Code durch Ihre eigenen Ordner, die bekannte Dokumenttypen enthalten:
DOC_CLASSES: list[str] = ["Closing Disclosure", "Invoices", "Social Security Card", "W4", "Bank Statement"]

getDocumentsandIndex("sampleGallery/ClosingDisclosure", DOC_CLASSES.index("Closing Disclosure"))
getDocumentsandIndex("sampleGallery/Invoices", DOC_CLASSES.index("Invoices"))
getDocumentsandIndex("sampleGallery/SSCards", DOC_CLASSES.index("Social Security Card"))
getDocumentsandIndex("sampleGallery/W4", DOC_CLASSES.index("W4"))
getDocumentsandIndex("sampleGallery/BankStatements", DOC_CLASSES.index("Bank Statement"))

  1. Rufen Sie mithilfe der Boto3-Bibliothek Amazon Bedrock auf. Die Variable inputImageB64 ist ein Base64-codiertes Byte-Array, das Ihr Dokument darstellt. Die Antwort von Amazon Bedrock enthält die Einbettungen.
bedrock = boto3.client(
service_name='bedrock-runtime',
region_name='Region’
)

request_body = {}
request_body["inputText"] = None # not using any text
request_body["inputImage"] = inputImageB64
body = json.dumps(request_body)
response = bedrock.invoke_model(
body=body, 
modelId="amazon.titan-embed-image-v1", 
accept="application/json", 
contentType="application/json")
response_body = json.loads(response.get("body").read()) 

  1. Fügen Sie die Einbettungen zur Vektordatenbank hinzu, mit einer Klassen-ID, die einen bekannten Dokumenttyp darstellt:
indexIDMap.add_with_ids(embeddings, classID)

  1. Mithilfe der mit Bildern gefüllten Vektordatenbank (die unsere Galerie darstellt) können Sie Ähnlichkeiten mit neuen Dokumenten aufdecken. Die folgende Syntax wird beispielsweise für die Suche verwendet. Das k=1 weist FAISS an, das Top-1-Match zurückzugeben.
indexIDMap.search(embeddings, k=1)

Darüber hinaus wird auch der euklidische L2-Abstand zwischen dem vorliegenden Bild und dem gefundenen Bild zurückgegeben. Wenn das Bild genau übereinstimmt, wäre dieser Wert 0. Je größer dieser Wert ist, desto größer ist die Ähnlichkeit zwischen den Bildern.

Weitere Überlegungen

In diesem Abschnitt besprechen wir zusätzliche Überlegungen zur effektiven Nutzung der Lösung. Dazu gehören Datenschutz, Sicherheit, Integration in bestehende Systeme und Kostenschätzungen.

Datenschutz und Sicherheit

Die AWS Modell der geteilten Verantwortung gilt für Datenschutz im Amazonas-Grundgestein. Wie in diesem Modell beschrieben, ist AWS für den Schutz der globalen Infrastruktur verantwortlich, auf der die gesamte AWS Cloud läuft. Kunden sind dafür verantwortlich, die Kontrolle über ihre Inhalte zu behalten, die auf dieser Infrastruktur gehostet werden. Als Kunde sind Sie für die Sicherheitskonfiguration und Verwaltungsaufgaben für die von Ihnen genutzten AWS-Services verantwortlich.

Datenschutz bei Amazon Bedrock

Amazon Bedrock vermeidet die Verwendung von Kundenaufforderungen und -fortsetzungen, um AWS-Modelle zu trainieren oder sie mit Dritten zu teilen. Amazon Bedrock speichert oder protokolliert keine Kundendaten in seinen Serviceprotokollen. Modellanbieter haben keinen Zugriff auf Amazon Bedrock-Protokolle oder Zugriff auf Kundenaufforderungen und -fortsetzungen. Daher werden die Bilder, die zum Generieren von Einbettungen über das Amazon Titan Multimodal Embeddings-Modell verwendet werden, nicht gespeichert oder zum Trainieren von AWS-Modellen oder zur externen Verteilung verwendet. Darüber hinaus sind andere Nutzungsdaten wie Zeitstempel und protokollierte Konto-IDs vom Modelltraining ausgeschlossen.

Integration mit bestehenden Systemen

Das Amazon Titan Multimodal Embeddings-Modell wurde mit dem Euclidean L2-Algorithmus trainiert, daher sollte die verwendete Vektordatenbank mit diesem Algorithmus kompatibel sein.

Geschätzte Kosten

Zum Zeitpunkt des Verfassens dieses Beitrags, gemäß Amazon Bedrock-Preise Für das Amazon Titan Multimodal Embeddings-Modell sind die folgenden geschätzten Kosten unter Verwendung der On-Demand-Preise für diese Lösung:

  • Einmalige Indizierungskosten – 0.06 $ für einen einzelnen Indexierungsdurchlauf, vorausgesetzt, es handelt sich um eine Galerie mit 1,000 Bildern
  • Klassifizierungskosten – 6 $ für 100,000 eingegebene Bilder pro Monat

Aufräumen

Um künftige Kosten zu vermeiden, löschen Sie die von Ihnen erstellten Ressourcen, z Amazon SageMaker-Notebook-Instanz, Wenn nicht in Gebrauch.

Zusammenfassung

In diesem Beitrag haben wir untersucht, wie Sie das Amazon Titan Multimodal Embeddings-Modell verwenden können, um eine kostengünstige Lösung für die Dokumentenklassifizierung im IDP-Workflow zu erstellen. Wir haben gezeigt, wie man eine Bildergalerie bekannter Dokumente erstellt und Ähnlichkeitssuchen mit neuen Dokumenten durchführt, um diese zu klassifizieren. Wir haben auch die Vorteile der Verwendung multimodaler Bildeinbettungen für die Dokumentenklassifizierung besprochen, einschließlich ihrer Fähigkeit, verschiedene Dokumenttypen zu verarbeiten, Skalierbarkeit und geringe Latenz.

Wenn in Geschäftsabläufen neue Dokumentvorlagen und -typen auftauchen, können Entwickler die Amazon Bedrock-API aufrufen, um sie dynamisch zu vektorisieren und an ihre IDP-Systeme anzuhängen, um die Dokumentklassifizierungsfunktionen schnell zu verbessern. Dadurch entsteht eine kostengünstige, unbegrenzt skalierbare Klassifizierungsschicht, die selbst die unterschiedlichsten, unstrukturierten Unternehmensdokumente verarbeiten kann.

Insgesamt bietet dieser Beitrag eine Roadmap für den Aufbau einer kostengünstigen Lösung für die Dokumentenklassifizierung im IDP-Workflow mithilfe von Amazon Titan Multimodal Embeddings.

Schauen Sie sich die nächsten Schritte an Was ist Amazon Bedrock? um mit der Nutzung des Dienstes zu beginnen. Und folgen Amazon Bedrock im AWS Machine Learning Blog um über neue Funktionen und Anwendungsfälle für Amazon Bedrock auf dem Laufenden zu bleiben.


Über die Autoren

Sumit Bhati ist Senior Customer Solutions Manager bei AWS und auf die Beschleunigung der Cloud-Reise für Unternehmenskunden spezialisiert. Sumit ist bestrebt, Kunden in jeder Phase ihrer Cloud-Einführung zu unterstützen, von der Beschleunigung von Migrationen über die Modernisierung von Arbeitslasten bis hin zur Erleichterung der Integration innovativer Praktiken.

David Girling ist ein Senior AI/ML Solutions Architect mit über 20 Jahren Erfahrung in der Gestaltung, Leitung und Entwicklung von Unternehmenssystemen. David ist Teil eines Spezialistenteams, das sich darauf konzentriert, Kunden dabei zu helfen, diese hochleistungsfähigen Dienste mit ihren Daten für ihre Anwendungsfälle zu erlernen, zu innovieren und zu nutzen.

Ravi Avula ist Senior Solutions Architect bei AWS mit Schwerpunkt auf Unternehmensarchitektur. Ravi verfügt über 20 Jahre Erfahrung im Software-Engineering und hatte mehrere Führungspositionen im Software-Engineering und in der Software-Architektur in der Zahlungsbranche inne.

George Belsian ist Senior Cloud Application Architect bei AWS. Es ist ihm eine Leidenschaft, Kunden dabei zu helfen, ihre Modernisierungs- und Cloud-Einführungsreise zu beschleunigen. In seiner aktuellen Rolle arbeitet George mit Kundenteams zusammen, um Strategien zu entwickeln, zu entwerfen und innovative, skalierbare Lösungen zu entwickeln.

spot_img

Neueste Intelligenz

spot_img