Zephyrnet-logotyp

Kostnadseffektiv dokumentklassificering med Amazon Titan Multimodal Embeddings Model | Amazon webbtjänster

Datum:

Organisationer över branscher vill kategorisera och extrahera insikter från stora volymer av dokument i olika format. Att manuellt bearbeta dessa dokument för att klassificera och extrahera information är fortfarande dyrt, felbenäget och svårt att skala. Avancerar in generativ artificiell intelligens (AI) har gett upphov till lösningar för intelligent dokumentbehandling (IDP) som kan automatisera dokumentklassificeringen och skapa ett kostnadseffektivt klassificeringsskikt som kan hantera olika, ostrukturerade företagsdokument.

Kategorisering av dokument är ett viktigt första steg i IDP-system. Det hjälper dig att bestämma nästa uppsättning åtgärder att vidta beroende på typen av dokument. Till exempel, under skadeprövningsprocessen, tar leverantörsreskontrateamet emot fakturan, medan skadeavdelningen hanterar kontraktet eller policydokumenten. Traditionella regelmotorer eller ML-baserad klassificering kan klassificera dokumenten, men når ofta en gräns för typer av dokumentformat och stöd för dynamiskt tillägg av nya dokumentklasser. För mer information, se Amazon Comprehend dokumentklassificerare lägger till layoutstöd för högre noggrannhet.

I det här inlägget diskuterar vi dokumentklassificering med hjälp av Amazon Titan Multimodal Embeddings modell att klassificera eventuella dokumenttyper utan behov av utbildning.

Amazon Titan multimodala inbäddningar

Amazon introducerade nyligen Titan multimodala inbäddningar in Amazonas berggrund. Denna modell kan skapa inbäddningar för bilder och text, vilket gör det möjligt att skapa dokumentinbäddningar som kan användas i nya arbetsflöden för dokumentklassificering.

Den genererar optimerade vektorrepresentationer av dokument som skannas som bilder. Genom att koda både visuella och textuella komponenter till enhetliga numeriska vektorer som kapslar in semantisk betydelse, möjliggör det snabb indexering, kraftfull kontextuell sökning och korrekt klassificering av dokument.

När nya dokumentmallar och typer dyker upp i arbetsflöden kan du helt enkelt anropa Amazon Bedrock API att dynamiskt vektorisera dem och lägga till deras IDP-system för att snabbt förbättra dokumentklassificeringskapaciteten.

Lösningsöversikt

Låt oss undersöka följande dokumentklassificeringslösning med Amazon Titan Multimodal Embeddings-modellen. För optimal prestanda bör du anpassa lösningen till ditt specifika användningsfall och befintliga IDP-pipelineuppsättningar.

Den här lösningen klassificerar dokument med hjälp av semantisk sökning med vektorinbäddning genom att matcha ett inmatningsdokument med ett redan indexerat dokumentgalleri. Vi använder följande nyckelkomponenter:

  • inbäddningar - inbäddningar är numeriska representationer av verkliga objekt som maskininlärning (ML) och AI-system använder för att förstå komplexa kunskapsdomäner som människor gör.
  • Vektordatabaser - Vektordatabaser används för att lagra inbäddningar. Vektordatabaser indexerar och organiserar inbäddningarna effektivt, vilket möjliggör snabb hämtning av liknande vektorer baserat på avståndsmått som euklidiskt avstånd eller cosinuslikhet.
  • Semantisk sökning – Semantisk sökning fungerar genom att ta hänsyn till sammanhanget och betydelsen av inmatningsfrågan och dess relevans för innehållet som söks. Vektorinbäddningar är ett effektivt sätt att fånga och behålla den kontextuella betydelsen av text och bilder. I vår lösning, när en applikation vill utföra en semantisk sökning, konverteras sökdokumentet först till en inbäddning. Vektordatabasen med relevant innehåll efterfrågas sedan för att hitta de mest liknande inbäddningarna.

I märkningsprocessen konverteras ett exempel på affärsdokument som fakturor, kontoutdrag eller recept till inbäddningar med Amazon Titan Multimodal Embeddings-modellen och lagras i en vektordatabas mot fördefinierade etiketter. Amazon Titan Multimodal Embedding-modellen tränades med den euklidiska L2-algoritmen och därför för bästa resultat bör den använda vektordatabasen stödja denna algoritm.

Följande arkitekturdiagram illustrerar hur du kan använda Amazon Titan Multimodal Embeddings-modellen med dokument i en Amazon enkel lagringstjänst (Amazon S3) hink för att skapa bildgallerier.

Arbetsflödet består av följande steg:

  1. En användare eller applikation laddar upp en exempeldokumentbild med klassificeringsmetadata till ett dokumentbildgalleri. Ett S3-prefix eller S3-objektmetadata kan användas för att klassificera galleribilder.
  2. En Amazon S3-objektaviseringshändelse anropar inbäddningen AWS Lambda funktion.
  3. Lambdafunktionen läser dokumentbilden och översätter bilden till inbäddningar genom att anropa Amazon Bedrock och använda Amazon Titan Multimodal Embeddings-modellen.
  4. Bildinbäddningar, tillsammans med dokumentklassificering, lagras i vektordatabasen.

Det här är arkitekturdiagrammet som illustrerar hur Titan Multimodal Embeddings kan användas med dokument i en Amazon Simple Storage Service (Amazon S3) hink för skapande och klassificering av bildgallerier.

När ett nytt dokument behöver klassificeras, används samma inbäddningsmodell för att konvertera frågedokumentet till en inbäddning. Sedan utförs en semantisk likhetssökning på vektordatabasen med hjälp av frågeinbäddningen. Etiketten som hämtas mot den översta inbäddningsmatchningen kommer att vara klassificeringsetiketten för frågedokumentet.

Följande arkitekturdiagram illustrerar hur man använder Amazon Titan Multimodal Embeddings-modellen med dokument i en S3-hink för bildklassificering.

Arbetsflödet består av följande steg:

  1. Dokument som kräver klassificering laddas upp till en S3-inmatningshink.
  2. Klassificeringen Lambda-funktionen tar emot Amazon S3-objektaviseringen.
  3. Lambdafunktionen översätter bilden till en inbäddning genom att anropa Amazon Bedrock API.
  4. Vektordatabasen söks efter ett matchande dokument med hjälp av semantisk sökning. Klassificering av det matchande dokumentet används för att klassificera indatadokumentet.
  5. Inmatningsdokumentet flyttas till S3-målkatalogen eller prefixet med användning av klassificeringen som hämtas från vektordatabassökningen.

Detta är arkitekturdiagrammet som illustrerar hur Titan Multimodal Embeddings kan användas med dokument i en Amazon Simple Storage Service (Amazon S3) hink för bildklassificering.

För att hjälpa dig testa lösningen med dina egna dokument har vi skapat en exempel Python Jupyter-anteckningsbok, som finns tillgänglig på GitHub.

Förutsättningar

För att köra anteckningsboken behöver du en AWS-konto med lämpligt AWS identitets- och åtkomsthantering (IAM) tillstånd att ringa Amazon Bedrock. Dessutom på Modellåtkomst sidan av Amazon Bedrock-konsolen, se till att åtkomst beviljas för Amazon Titan Multimodal Embeddings-modellen.

Genomförande

I följande steg byter du ut varje platshållare för användarinmatning med din egen information:

  1. Skapa vektordatabasen. I den här lösningen använder vi en FAISS-databas i minnet, men du kan använda en alternativ vektordatabas. Amazon Titans standardstorlek är 1024.
index = faiss.IndexFlatL2(1024)
indexIDMap = faiss.IndexIDMap(index)

  1. När vektordatabasen har skapats, räkna upp exempeldokumenten, skapa inbäddningar av varje och lagra dem i vektordatabasen
  1. Testa med dina dokument. Ersätt mapparna i följande kod med dina egna mappar som innehåller kända dokumenttyper:
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. Använd Boto3-biblioteket, ring Amazon Bedrock. Variabeln inputImageB64 är en base64-kodad byte-array som representerar ditt dokument. Svaret från Amazon Bedrock innehåller inbäddningarna.
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. Lägg till inbäddningarna i vektordatabasen, med ett klass-ID som representerar en känd dokumenttyp:
indexIDMap.add_with_ids(embeddings, classID)

  1. Med vektordatabasen fylld med bilder (som representerar vårt galleri) kan du upptäcka likheter med nya dokument. Till exempel är följande syntax som används för sökning. K=1 säger till FAISS att returnera topp 1-matchen.
indexIDMap.search(embeddings, k=1)

Dessutom returneras också det euklidiska L2-avståndet mellan den aktuella bilden och den hittade bilden. Om bilden är en exakt matchning skulle detta värde vara 0. Ju större detta värde är, desto längre ifrån varandra är bilderna i likhet.

Ytterligare överväganden

I det här avsnittet diskuterar vi ytterligare överväganden för att använda lösningen effektivt. Detta inkluderar datasekretess, säkerhet, integration med befintliga system och kostnadsberäkningar.

Dataskydd och säkerhet

AWS modell med delat ansvar gäller för dataskydd i Amazonas berggrund. Som beskrivs i den här modellen är AWS ansvarig för att skydda den globala infrastrukturen som kör hela AWS-molnet. Kunder är ansvariga för att behålla kontrollen över sitt innehåll som finns på denna infrastruktur. Som kund ansvarar du för säkerhetskonfigurationen och hanteringsuppgifterna för de AWS-tjänster som du använder.

Dataskydd i Amazon Bedrock

Amazon Bedrock undviker att använda kundmeddelanden och fortsättningar för att träna AWS-modeller eller dela dem med tredje part. Amazon Bedrock lagrar eller loggar inte kunddata i sina tjänsteloggar. Modellleverantörer har inte tillgång till Amazon Bedrock-loggar eller tillgång till kundmeddelanden och fortsättningar. Som ett resultat av detta lagras inte bilderna som används för att generera inbäddningar genom Amazon Titan Multimodal Embeddings-modellen eller används i utbildning av AWS-modeller eller extern distribution. Dessutom utesluts annan användningsdata, såsom tidsstämplar och loggade konto-ID:n från modellträning.

Integration med befintliga system

Amazon Titan Multimodal Embeddings-modellen genomgick utbildning med Euclidian L2-algoritmen, så vektordatabasen som används bör vara kompatibel med denna algoritm.

Kostnadsberäkning

I skrivande stund detta inlägg, enligt Prissättning för Amazons berggrund för Amazon Titan Multimodal Embeddings-modellen är följande de uppskattade kostnaderna med prissättning på begäran för denna lösning:

  • Engångs indexeringskostnad – $0.06 för en enda körning av indexering, förutsatt att ett galleri med 1,000 XNUMX bilder
  • Klassificeringskostnad – $6 för 100,000 XNUMX inmatade bilder per månad

Städa upp

För att undvika framtida avgifter, radera de resurser du skapade, till exempel Amazon SageMaker notebook-instans, när den inte används.

Slutsats

I det här inlägget utforskade vi hur du kan använda Amazon Titan Multimodal Embeddings-modellen för att bygga en billig lösning för dokumentklassificering i IDP-arbetsflödet. Vi visade hur man skapar ett bildgalleri av kända dokument och utför likhetssökningar med nya dokument för att klassificera dem. Vi diskuterade också fördelarna med att använda multimodala bildinbäddningar för dokumentklassificering, inklusive deras förmåga att hantera olika dokumenttyper, skalbarhet och låg latens.

När nya dokumentmallar och typer dyker upp i företags arbetsflöden kan utvecklare anropa Amazon Bedrock API för att vektorisera dem dynamiskt och lägga till sina IDP-system för att snabbt förbättra dokumentklassificeringskapaciteten. Detta skapar ett billigt, oändligt skalbart klassificeringsskikt som kan hantera även de mest olikartade, ostrukturerade företagsdokumenten.

Sammantaget ger detta inlägg en färdplan för att bygga en billig lösning för dokumentklassificering i IDP-arbetsflödet med hjälp av Amazon Titan Multimodal Embeddings.

Som nästa steg, kolla in Vad är Amazon Bedrock för att börja använda tjänsten. Och följ Amazon Bedrock på AWS Machine Learning Blog för att hålla dig uppdaterad med nya funktioner och användningsfall för Amazon Bedrock.


Om författarna

Sumit Bhati är Senior Customer Solutions Manager på AWS, specialiserad på att påskynda molnresan för företagskunder. Sumit är dedikerade till att hjälpa kunder genom varje fas av deras molnintroduktion, från att påskynda migrationer till att modernisera arbetsbelastningar och underlätta integrationen av innovativa metoder.

David Girling är en senior AI/ML-lösningsarkitekt med över 20 års erfarenhet av att designa, leda och utveckla företagssystem. David är en del av ett specialistteam som fokuserar på att hjälpa kunder att lära sig, förnya och använda dessa mycket kapabla tjänster med sina data för sina användningsfall.

Ravi Avula är Senior Solutions Architect inom AWS med fokus på Enterprise Architecture. Ravi har 20 års erfarenhet av mjukvaruteknik och har haft flera ledarroller inom mjukvaruteknik och mjukvaruarkitektur inom betalningsbranschen.

George Belsian är senior molnapplikationsarkitekt på AWS. Han brinner för att hjälpa kunder att påskynda sin moderniserings- och molnanpassningsresa. I sin nuvarande roll arbetar George tillsammans med kundteam för att skapa strategier, utforma och utveckla innovativa, skalbara lösningar.

plats_img

Senaste intelligens

plats_img