Zephyrnet-logo

Kosteneffectieve documentclassificatie met behulp van het Amazon Titan Multimodal Embeddings Model | Amazon-webservices

Datum:

Organisaties in verschillende sectoren willen inzichten categoriseren en verkrijgen uit grote hoeveelheden documenten in verschillende formaten. Het handmatig verwerken van deze documenten om informatie te classificeren en extraheren blijft duur, foutgevoelig en moeilijk schaalbaar. Voortgang in generatieve kunstmatige intelligentie (AI) hebben aanleiding gegeven tot intelligente documentverwerkingsoplossingen (IDP) die de documentclassificatie kunnen automatiseren en een kosteneffectieve classificatielaag kunnen creëren die diverse, ongestructureerde bedrijfsdocumenten kan verwerken.

Het categoriseren van documenten is een belangrijke eerste stap in IDP-systemen. Het helpt u bij het bepalen van de volgende reeks acties die u moet ondernemen, afhankelijk van het type document. Tijdens het schadebehandelingsproces ontvangt het crediteurenteam bijvoorbeeld de factuur, terwijl de schadeafdeling de contract- of polisdocumenten beheert. Traditionele regelengines of op ML gebaseerde classificatie kunnen de documenten classificeren, maar bereiken vaak een limiet op het gebied van documentformaten en ondersteuning voor de dynamische toevoeging van nieuwe documentklassen. Voor meer informatie, zie Amazon Comprehend-documentclassificatie voegt lay-outondersteuning toe voor hogere nauwkeurigheid.

In dit bericht bespreken we documentclassificatie met behulp van de Amazon Titan Multimodal Embeddings-model om elk documenttype te classificeren zonder de noodzaak van training.

Multimodale inbedding van Amazon Titan

Amazon heeft onlangs geïntroduceerd Titan multimodale inbedding in Amazonebodem. Dit model kan insluitingen voor afbeeldingen en tekst creëren, waardoor de creatie van documentinsluitingen mogelijk wordt gemaakt voor gebruik in nieuwe workflows voor documentclassificatie.

Het genereert geoptimaliseerde vectorrepresentaties van documenten die als afbeeldingen zijn gescand. Door zowel visuele als tekstuele componenten te coderen in uniforme numerieke vectoren die de semantische betekenis inkapselen, maakt het snelle indexering, krachtig contextueel zoeken en nauwkeurige classificatie van documenten mogelijk.

Wanneer er nieuwe documentsjablonen en -typen verschijnen in zakelijke workflows, kunt u eenvoudigweg de Amazon Bedrock-API om ze dynamisch te vectoriseren en toe te voegen aan hun IDP-systemen om de mogelijkheden voor documentclassificatie snel te verbeteren.

Overzicht oplossingen

Laten we de volgende oplossing voor documentclassificatie bekijken met het Amazon Titan Multimodal Embeddings-model. Voor optimale prestaties moet u de oplossing aanpassen aan uw specifieke gebruiksscenario en bestaande IDP-pijplijnconfiguratie.

Deze oplossing classificeert documenten met behulp van semantisch zoeken met vectorinbedding door een invoerdocument te matchen met een reeds geïndexeerde galerij met documenten. Wij gebruiken de volgende belangrijke componenten:

  • inbeddingen - inbeddingen zijn numerieke representaties van objecten uit de echte wereld die machine learning (ML) en AI-systemen gebruiken om complexe kennisdomeinen te begrijpen zoals mensen dat doen.
  • Vector-databases - Vector-databases worden gebruikt om inbedding op te slaan. Vectordatabases indexeren en organiseren de inbedding efficiënt, waardoor vergelijkbare vectoren snel kunnen worden opgehaald op basis van afstandsmetrieken zoals Euclidische afstand of cosinus-overeenkomst.
  • Semantisch zoeken – Semantisch zoeken werkt door rekening te houden met de context en betekenis van de invoerquery en de relevantie ervan voor de inhoud waarin wordt gezocht. Vectorinsluitingen zijn een effectieve manier om de contextuele betekenis van tekst en afbeeldingen vast te leggen en te behouden. Wanneer een applicatie een semantische zoekopdracht wil uitvoeren, wordt in onze oplossing het zoekdocument eerst omgezet in een inbedding. Vervolgens wordt de vectordatabase met relevante inhoud doorzocht om de meest vergelijkbare inbedding te vinden.

Tijdens het etiketteringsproces wordt een voorbeeldset van zakelijke documenten, zoals facturen, bankafschriften of recepten, omgezet in insluitingen met behulp van het Amazon Titan Multimodal Embeddings-model en opgeslagen in een vectordatabase tegen vooraf gedefinieerde labels. Het Amazon Titan Multimodal Embedding-model is getraind met behulp van het Euclidische L2-algoritme en daarom moet voor de beste resultaten de gebruikte vectordatabase dit algoritme ondersteunen.

Het volgende architectuurdiagram illustreert hoe u het Amazon Titan Multimodal Embeddings-model kunt gebruiken met documenten in een Amazon eenvoudige opslagservice (Amazon S3) bucket voor het maken van afbeeldingengalerijen.

De workflow bestaat uit de volgende stappen:

  1. Een gebruiker of applicatie uploadt een voorbeelddocumentafbeelding met classificatiemetagegevens naar een documentafbeeldingsgalerij. Een S3-voorvoegsel of metagegevens van een S3-object kunnen worden gebruikt om galerijafbeeldingen te classificeren.
  2. Een Amazon S3-objectmeldingsgebeurtenis roept de insluiting op AWS Lambda functie.
  3. De Lambda-functie leest de documentafbeelding en vertaalt de afbeelding naar insluitingen door Amazon Bedrock aan te roepen en het Amazon Titan Multimodal Embeddings-model te gebruiken.
  4. Inbedding van afbeeldingen wordt, samen met documentclassificatie, opgeslagen in de vectordatabase.

Dit is het architectuurdiagram dat illustreert hoe Titan Multimodal Embeddings kan worden gebruikt met documenten in een Amazon Simple Storage Service (Amazon S3)-bucket voor het maken en classificeren van afbeeldingengalerijen.

Wanneer een nieuw document classificatie nodig heeft, wordt hetzelfde inbeddingsmodel gebruikt om het querydocument om te zetten in een inbedding. Vervolgens wordt een semantische gelijkeniszoekopdracht uitgevoerd op de vectordatabase met behulp van de inbedding van de zoekopdracht. Het label dat wordt opgehaald met de beste inbeddingsovereenkomst, zal het classificatielabel voor het querydocument zijn.

Het volgende architectuurdiagram illustreert hoe u het Amazon Titan Multimodal Embeddings-model kunt gebruiken met documenten in een S3-bucket voor beeldclassificatie.

De workflow bestaat uit de volgende stappen:

  1. Documenten waarvoor classificatie vereist is, worden geüpload naar een S3-invoerbucket.
  2. De classificatie Lambda-functie ontvangt de Amazon S3-objectmelding.
  3. De Lambda-functie vertaalt de afbeelding naar een inbedding door de Amazon Bedrock API aan te roepen.
  4. Er wordt in de vectordatabase gezocht naar een overeenkomend document met behulp van semantisch zoeken. Classificatie van het matchingdocument wordt gebruikt om het invoerdocument te classificeren.
  5. Het invoerdocument wordt verplaatst naar de doel-S3-directory of het voorvoegsel met behulp van de classificatie die is opgehaald uit de zoekopdracht in de vectordatabase.

Dit is het architectuurdiagram dat illustreert hoe Titan Multimodal Embeddings kan worden gebruikt met documenten in een Amazon Simple Storage Service (Amazon S3)-bucket voor beeldclassificatie.

Om u te helpen de oplossing met uw eigen documenten te testen, hebben we een voorbeeld van een Python Jupyter-notebook gemaakt, dat beschikbaar is op GitHub.

Voorwaarden

Om de notebook te kunnen gebruiken, hebt u een AWS-account met passend AWS Identiteits- en toegangsbeheer (IAM)-machtigingen om Amazon Bedrock te bellen. Bovendien, op de Toegang tot modellen pagina van de Amazon Bedrock-console, zorg ervoor dat toegang wordt verleend voor het Amazon Titan Multimodal Embeddings-model.

Implementatie

Vervang in de volgende stappen elke tijdelijke aanduiding voor gebruikersinvoer door uw eigen informatie:

  1. Maak de vectordatabase. In deze oplossing gebruiken we een FAISS-database in het geheugen, maar u kunt ook een alternatieve vectordatabase gebruiken. De standaardafmetingsgrootte van Amazon Titan is 1024.
index = faiss.IndexFlatL2(1024)
indexIDMap = faiss.IndexIDMap(index)

  1. Nadat de vectordatabase is gemaakt, inventariseert u de voorbeelddocumenten, maakt u van elk inbedding en slaat u deze op in de vectordatabase
  1. Test met uw documenten. Vervang de mappen in de volgende code door uw eigen mappen die bekende documenttypen bevatten:
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. Gebruik de Boto3-bibliotheek en bel Amazon Bedrock. De variabele inputImageB64 is een base64-gecodeerde byte-array die uw document vertegenwoordigt. Het antwoord van Amazon Bedrock bevat de inbedding.
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. Voeg de insluitingen toe aan de vectordatabase, met een klasse-ID die een bekend documenttype vertegenwoordigt:
indexIDMap.add_with_ids(embeddings, classID)

  1. Met de vectordatabase gevuld met afbeeldingen (die onze galerij vertegenwoordigen), kunt u overeenkomsten met nieuwe documenten ontdekken. Hieronder volgt bijvoorbeeld de syntaxis die wordt gebruikt voor zoeken. De k = 1 vertelt FAISS om de top 1-wedstrijd terug te geven.
indexIDMap.search(embeddings, k=1)

Bovendien wordt ook de Euclidische L2-afstand tussen het aanwezige beeld en het gevonden beeld geretourneerd. Als de afbeelding exact overeenkomt, is deze waarde 0. Hoe groter deze waarde is, hoe verder de afbeeldingen uit elkaar liggen.

Aanvullende overwegingen

In deze sectie bespreken we aanvullende overwegingen voor een effectief gebruik van de oplossing. Dit omvat gegevensprivacy, beveiliging, integratie met bestaande systemen en kostenramingen.

Gegevensprivacy en -beveiliging

De AWS model met gedeelde verantwoordelijkheid geldt voor gegevensbescherming in Amazone-bodem. Zoals beschreven in dit model is AWS verantwoordelijk voor het beschermen van de mondiale infrastructuur waarop de gehele AWS Cloud draait. Klanten zijn verantwoordelijk voor het behouden van controle over hun inhoud die op deze infrastructuur wordt gehost. Als klant bent u verantwoordelijk voor de beveiligingsconfiguratie en beheertaken voor de AWS-diensten waarvan u gebruik maakt.

Gegevensbescherming in Amazon Bedrock

Amazon Bedrock vermijdt het gebruik van prompts en voortzettingen van klanten om AWS-modellen te trainen of deze met derden te delen. Amazon Bedrock bewaart of registreert geen klantgegevens in zijn servicelogboeken. Modelaanbieders hebben geen toegang tot Amazon Bedrock-logboeken of toegang tot klantprompts en voortzettingen. Als gevolg hiervan worden de afbeeldingen die worden gebruikt voor het genereren van insluitingen via het Amazon Titan Multimodal Embeddings-model niet opgeslagen of gebruikt bij het trainen van AWS-modellen of externe distributie. Bovendien zijn andere gebruiksgegevens, zoals tijdstempels en geregistreerde account-ID's, uitgesloten van modeltraining.

Integratie met bestaande systemen

Het Amazon Titan Multimodal Embeddings-model heeft training ondergaan met het Euclidische L2-algoritme, dus de gebruikte vectordatabase moet compatibel zijn met dit algoritme.

Kostenraming

Op het moment dat dit bericht wordt geschreven, zoals per Amazon Bedrock-prijzen voor het Amazon Titan Multimodal Embeddings-model zijn dit de geschatte kosten op basis van on-demand prijzen voor deze oplossing:

  • Eenmalige indexeringskosten – $ 0.06 voor een enkele indexering, uitgaande van een galerij met 1,000 afbeeldingen
  • Classificatiekosten – $ 6 voor 100,000 invoerafbeeldingen per maand

Opruimen

Om te voorkomen dat er in de toekomst kosten in rekening worden gebracht, verwijdert u de bronnen die u heeft gemaakt, zoals de Amazon SageMaker-notebookinstantie, wanneer niet in gebruik.

Conclusie

In dit bericht hebben we onderzocht hoe je het Amazon Titan Multimodal Embeddings-model kunt gebruiken om een ​​goedkope oplossing te bouwen voor documentclassificatie in de IDP-workflow. We hebben gedemonstreerd hoe u een afbeeldingengalerij van bekende documenten kunt maken en hoe u overeenkomsten kunt zoeken met nieuwe documenten om deze te classificeren. We bespraken ook de voordelen van het gebruik van multimodale afbeeldingsinsluitingen voor documentclassificatie, inclusief hun vermogen om verschillende documenttypen te verwerken, schaalbaarheid en lage latentie.

Naarmate er nieuwe documentsjablonen en -typen verschijnen in zakelijke workflows, kunnen ontwikkelaars een beroep doen op de Amazon Bedrock API om ze dynamisch te vectoriseren en toe te voegen aan hun IDP-systemen om de mogelijkheden voor documentclassificatie snel te verbeteren. Hierdoor ontstaat een goedkope, oneindig schaalbare classificatielaag die zelfs de meest uiteenlopende, ongestructureerde bedrijfsdocumenten aankan.

Over het geheel genomen biedt dit bericht een routekaart voor het bouwen van een goedkope oplossing voor documentclassificatie in de IDP-workflow met behulp van Amazon Titan Multimodal Embeddings.

Als volgende stappen, ga naar Wat is Amazon Bedrock om de dienst te gaan gebruiken. En volg Amazon Bedrock op de AWS Machine Learning-blog om op de hoogte te blijven van nieuwe mogelijkheden en gebruiksscenario's voor Amazon Bedrock.


Over de auteurs

Sumit Bhati is Senior Customer Solutions Manager bij AWS en is gespecialiseerd in het versnellen van het cloudtraject voor zakelijke klanten. Sumit is toegewijd aan het bijstaan ​​van klanten in elke fase van hun cloud-adoptie, van het versnellen van migraties tot het moderniseren van workloads en het faciliteren van de integratie van innovatieve praktijken.

David Girling is een Senior AI/ML Solutions Architect met meer dan 20 jaar ervaring in het ontwerpen, leiden en ontwikkelen van bedrijfssystemen. David maakt deel uit van een gespecialiseerd team dat zich richt op het helpen van klanten bij het leren, innoveren en gebruiken van deze zeer capabele services met hun gegevens voor hun gebruiksscenario's.

Ravi Avula is een Senior Solutions Architect in AWS, gericht op Enterprise Architectuur. Ravi heeft 20 jaar ervaring in software-engineering en heeft verschillende leidinggevende functies bekleed op het gebied van software-engineering en software-architectuur in de betalingssector.

George Belsian is een Senior Cloud Applicatie Architect bij AWS. Hij heeft een passie voor het helpen van klanten bij het versnellen van hun moderniserings- en cloudadoptietraject. In zijn huidige rol werkt George samen met klantenteams aan het bedenken, ontwerpen en ontwikkelen van innovatieve, schaalbare oplossingen.

spot_img

Laatste intelligentie

spot_img