Många företag är överväldigade av den stora mängd dokument som de måste bearbeta, organisera och klassificera för att betjäna sina kunder bättre. Exempel på sådana kan vara låneansökningar, skatteanmälan och fakturering. Sådana dokument mottas oftare i bildformat och är oftast flersidiga och i lågkvalitetsformat. För att vara mer konkurrenskraftiga och kostnadseffektiva, och samtidigt förbli säkra och kompatibla, måste dessa företag utveckla sina dokumentbehandlingsmöjligheter för att minska bearbetningstiderna och förbättra klassificeringsnoggrannheten på ett automatiserat och skalbart sätt. Dessa företag står inför följande utmaningar när det gäller att behandla dokument:
- Moderera dokumenten för att upptäcka olämpligt, oönskat eller stötande innehåll
- Manuell dokumentklassificering, som används av mindre företag, är tidskrävande, felbenägen och dyr
- OCR-tekniker med regelbaserade system är inte tillräckligt intelligenta och kan inte anpassa sig till ändringar i dokumentformat
- Företag som använder metoder för maskininlärning (ML) har ofta inte resurser att skala sin modell för att hantera toppar i inkommande dokumentvolym
Det här inlägget tar itu med dessa utmaningar och ger en arkitektur som effektivt löser dessa problem. Vi visar hur du kan använda Amazon-erkännande och amazontext att optimera och minska mänskliga ansträngningar vid behandling av dokument. Amazon Rekognition identifierar modereringsetiketter i ditt dokument och klassificerar dem med hjälp av Amazon Rekognition anpassade etiketter. Amazon Textract extraherar text från dina dokument.
I det här inlägget täcker vi att bygga två ML-pipelines (utbildning och slutledning) för att bearbeta dokument utan behov av någon manuell ansträngning eller anpassad kod. Stegen på hög nivå i slutledningspipelinen inkluderar:
- Utför moderering av uppladdade dokument med Amazon Rekognition.
- Klassificera dokument i olika kategorier som W-2:or, fakturor, kontoutdrag och lönebesked med hjälp av Custom Labels för erkännande.
- Extrahera text från dokument som tryckt text, handskrift, formulär och tabeller med Amazon Textract.
Lösningsöversikt
Denna lösning använder följande AI-tjänster, serverlösa tekniker och hanterade tjänster för att implementera en skalbar och kostnadseffektiv arkitektur:
- Amazon DynamoDB - En nyckel-värde och dokumentdatabas som levererar ensiffriga millisekunders prestanda i vilken skala som helst.
- Amazon EventBridge – En serverlös händelsebuss för att bygga händelsedrivna applikationer i stor skala med hjälp av händelser genererade från dina applikationer, integrerad programvara som en tjänst (SaaS)-applikationer och AWS-tjänster.
- AWS Lambda – En serverlös beräkningstjänst som låter dig köra kod som svar på triggers som förändringar i data, förändringar i systemtillstånd eller användaråtgärder.
- Amazon-erkännande – Använder ML för att identifiera objekt, personer, text, scener och aktiviteter i bilder och videor, samt upptäcka olämpligt innehåll.
- Amazon Rekognition anpassade etiketter – Använder AutoML för datorseende och överföringsinlärning för att hjälpa dig träna anpassade modeller för att identifiera objekt och scener i bilder som är specifika för ditt företags behov.
- Amazon Simple Storage Service (Amazon S3) – Fungerar som objektlager för dina dokument och möjliggör central hantering med finjusterade åtkomstkontroller.
- Amazon stegfunktioner – En serverlös funktionsorkestrator som gör det enkelt att sekvensera Lambda-funktioner och flera tjänster till affärskritiska applikationer.
- amazontext - Använder ML för att extrahera text och data från skannade dokument i PDF-, JPEG- eller PNG-format.
Följande diagram illustrerar arkitekturen för inferenspipelinen.
Vårt arbetsflöde innehåller följande steg:
- Användaren laddar upp dokument till S3-inmatningshinken.
- Uppladdningen utlöser en Amazon S3 händelsemeddelande att leverera händelser i realtid direkt till EventBridge. Amazon S3-evenemangen som matchar "
object created
” filter definierat för en EventBridge-regel startar arbetsflödet Step Functions. - Arbetsflödet Step Functions utlöser en serie lambdafunktioner som utför följande uppgifter:
- Den första funktionen utför förbearbetningsuppgifter och gör API-anrop till Amazon Rekognition:
- Om de inkommande dokumenten är i bildformat (som JPG eller PNG) anropar funktionen Amazon Rekognition API och tillhandahåller dokumenten som S3-objekt. Men om dokumentet är i PDF-format streamar funktionen bildbyten när man anropar Amazon Rekognition API.
- Om ett dokument innehåller flera sidor, delar funktionen upp dokumentet i enskilda sidor och sparar dem i en mellanliggande mapp i S3-utgången innan de bearbetas individuellt.
- När förbearbetningsuppgifterna är klara gör funktionen ett API-anrop till Amazon Rekognition för att upptäcka olämpligt, oönskat eller stötande innehåll, och gör ytterligare ett API-anrop till den utbildade Rekognition Custom Labels-modellen för att klassificera dokument.
- Den andra funktionen gör ett API-anrop till Amazon Textract för att initiera ett jobb för att extrahera text från inmatningsdokumentet och lagra den i S3-utgången.
- Den tredje funktionen lagrar dokumentmetadata som modereringsetikett, dokumentklassificering, klassificeringssäkerhet, Amazon Textract jobb-ID och filsökväg i en DynamoDB-tabell.
- Den första funktionen utför förbearbetningsuppgifter och gör API-anrop till Amazon Rekognition:
Du kan justera arbetsflödet enligt dina krav, till exempel kan du lägga till en NLP-funktion (natural language processing) i detta arbetsflöde med Amazon Comprehend för att få insikter i den extraherade texten.
Utbildning pipeline
Innan vi distribuerar den här arkitekturen tränar vi en anpassad modell för att klassificera dokument i olika kategorier med hjälp av Rekognition Custom Labels. I utbildningspipelinen märker vi dokumenten med hjälp av Amazon SageMaker Ground Sannhet. Vi använder sedan de märkta dokumenten för att träna en modell med Rekognition Custom Labels. I det här exemplet använder vi en Amazon SageMaker notebook för att utföra dessa steg, men du kan också kommentera bilder med hjälp av Rekognition Custom Labels-konsolen. För instruktioner, se Märkning av bilder.
dataset
För att träna modellen använder vi följande offentliga datamängder som innehåller W2s och fakturor:
Du kan använda en annan datauppsättning som är relevant för din bransch.
Följande tabell sammanfattar datauppdelningen mellan träning och testning.
Klass | Träningsset | Testset |
Fakturor | 352 | 75 |
W-2s | 86 | 16 |
Totalt | 438 | 91 |
Distribuera utbildningspipeline med AWS CloudFormation
Du distribuerar en AWS molnformation mall för att tillhandahålla det nödvändiga AWS identitets- och åtkomsthantering (IAM) roller och komponenter i utbildningspipeline, inklusive en SageMaker anteckningsbok-instans.
- Starta följande CloudFormation-mall i USA:s East (N. Virginia) Region:
- För Stapla namn, ange ett namn, t.ex.
document-processing-training-pipeline
. - Välja Nästa.
- I Förmågor och omvandlingar markerar du kryssrutan för att bekräfta att AWS CloudFormation kan skapa IAM-resurser.
- Välja Skapa stack.
Stackens informationssida bör visa stackens status som CREATE_IN_PROGRESS
. Det kan ta upp till 5 minuter innan statusen ändras till CREATE_COMPLETE
. När det är klart kan du visa utgångarna på Utgångarna fliken.
- När stacken har lanserats framgångsrikt öppnar du SageMaker-konsolen och väljer Notebook-instanser i navigeringsnamnet.
- Leta efter en instans med
DocProcessingNotebookInstance-
prefix och vänta tills dess status är InService. - Enligt Handlingarväljer Öppna Jupyter.
Kör exemplet på anteckningsboken
Gör följande för att köra din anteckningsbok:
- Välj
Rekognition_Custom_Labels
exempel anteckningsbok.
- Välja Körning för att köra cellerna i exempelanteckningsboken i ordning.
Anteckningsboken visar hela livscykeln för att förbereda tränings- och testbilder, märka dem, skapa manifestfiler, träna en modell och köra den tränade modellen med Rekognition Custom Labels. Alternativt kan du träna och köra modellen med hjälp av Rekognition Custom Labels-konsolen. För instruktioner, se Utbilda en modell (konsol).
Anteckningsboken är självförklarande; du kan följa stegen för att slutföra utbildningen av modellen.
- Anteckna
ProjectVersionArn
för att sörja för slutledningsledningen i ett senare steg.
För SageMaker notebook-instanser debiteras du för den instanstyp du väljer, baserat på hur länge du använder den. Om du har tränat färdigt modellen kan du stoppa den bärbara instansen för att undvika kostnader för lediga resurser.
Distribuera inferenspipeline med AWS CloudFormation
Utför följande steg för att distribuera inferenspipeline:
- Starta följande CloudFormation-mall i USA:s East (N. Virginia) Region:
- För Stapla namn, ange ett namn, t.ex.
document-processing-inference-pipeline
. - För DynamoDBTableName, ange ett unikt DynamoDB-tabellnamn; till exempel,
document-processing-table
. - För InputBucketName, ange ett unikt namn för S3-hinken som stacken skapar; till exempel,
document-processing-input-bucket
.
Inmatningsdokumenten laddas upp till den här hinken innan de bearbetas. Använd endast gemener och inga mellanslag när du skapar namnet på inmatningssegmentet. Dessutom skapar den här operationen en ny S3-hink, så använd inte namnet på en befintlig hink. För mer information, se Regler för namngivning av hinkar.
- För OutputBucketName, ange ett unikt namn för din utmatningshink; till exempel d
ocument-processing-output-bucket
.
Den här hinken lagrar utdatadokumenten efter att de har bearbetats. Den lagrar också sidor med flersidiga PDF-indatadokument efter att de har delats av Lambda-funktionen. Följ samma namnregler som din inmatningsbehållare.
- För RekognitionCustomLabelModelARN, gå in i
ProjectVersionArn
värde du noterade från Jupyter-anteckningsboken. - Välja Nästa.
- På Konfigurera stackalternativ sida, ställ in eventuella ytterligare parametrar för stacken, inklusive taggar.
- Välja Nästa.
- I Förmågor och omvandlingar markerar du kryssrutan för att bekräfta att AWS CloudFormation kan skapa IAM-resurser.
- Välja Skapa stack.
Stackens informationssida bör visa stackens status som CREATE_IN_PROGRESS
. Det kan ta upp till 5 minuter innan statusen ändras till CREATE_COMPLETE
. När det är klart kan du visa utgångarna på Utgångarna fliken.
Bearbeta ett dokument genom pipeline
Vi har distribuerat både utbildnings- och slutledningspipelines och är nu redo att använda lösningen och bearbeta ett dokument.
- Öppna inmatningshinken på Amazon S3-konsolen.
- Ladda upp ett exempeldokument till S3-mappen.
Detta startar arbetsflödet. Processen fyller DynamoDB-tabellen med dokumentklassificering och modereringsetiketter. Utdata från Amazon Textract levereras till S3-utmatningshinken i TextractOutput
mapp.
Vi skickade in några olika exempeldokument till arbetsflödet och fick följande information ifylld i DynamoDB-tabellen.
Om du inte ser objekt i DynamoDB-tabellen eller dokument som laddats upp i S3-utgången, kontrollera Amazon CloudWatch-loggar för motsvarande Lambdafunktion och leta efter potentiella fel som orsakade felet.
Städa upp
Slutför följande steg för att rensa upp resurser som distribueras för den här lösningen:
- Välj på CloudFormation-konsolen Stacks.
- Välj de stackar som används för den här lösningen.
- Välja Radera.
Dessa steg tar inte bort S3-hinkarna, DynamoDB-tabellen och den tränade Rekognition Custom Labels-modellen. Du fortsätter att ta på dig lagringsavgifter om de inte raderas. Du bör ta bort dessa resurser direkt via deras respektive tjänstekonsoler om du inte längre behöver dem.
Slutsats
I det här inlägget presenterade vi en skalbar, säker och automatiserad metod för att moderera, klassificera och bearbeta dokument. Företag inom flera branscher kan använda den här lösningen för att förbättra sin verksamhet och betjäna sina kunder bättre. Det möjliggör snabbare dokumentbehandling och högre noggrannhet, och minskar komplexiteten i datautvinning. Det ger också bättre säkerhet och efterlevnad av personuppgiftslagstiftningen genom att minska den mänskliga arbetsstyrkan som är involverad i behandlingen av inkommande dokument.
För mer information, se Guide för anpassade etiketter för Amazon Rekognition, Amazon Rekognition utvecklarguide och Amazon Textract utvecklarguide. Om du är ny på Amazon Rekognition Custom Labels, prova det med vår gratisnivå, som varar i 3 månader och inkluderar 10 gratis träningstimmar per månad och 4 gratis slutledningstimmar per månad. Amazon Rekognition gratisnivå inkluderar bearbetning av 5,000 12 bilder per månad i 1,000 månader. Amazon Textract gratisnivå varar också i tre månader och inkluderar XNUMX XNUMX sidor per månad för Detect Document Text API.
Om författarna
Jay Rao är en Principal Solutions Architect på AWS. Han tycker om att ge teknisk och strategisk vägledning till kunder och hjälpa dem att designa och implementera lösningar på AWS.
Uchenna Egbe är Associate Solutions Architect på AWS. Han ägnar sin fritid åt att forska om örter, teer, supermat och hur han kan införliva dem i sin dagliga kost.
- Myntsmart. Europas bästa bitcoin- och kryptobörs.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. FRI TILLGÅNG.
- CryptoHawk. Altcoin radar. Gratis provperiod.
- Källa: https://aws.amazon.com/blogs/machine-learning/moderate-classify-and-process-documents-using-amazon-rekognition-and-amazon-textract/
- "
- 000
- 10
- 100
- 116
- 12 månader
- Om oss
- tillgång
- tvärs
- åtgärder
- aktiviteter
- Annat
- AI
- AI-tjänster
- amason
- Annan
- api
- tillämpningar
- tillvägagångssätt
- arkitektur
- Associate
- Automatiserad
- AWS
- Bank
- innan
- fakturering
- gränsen
- Box
- SLUTRESULTAT
- Byggnad
- Bussen
- företag
- Ring
- kapacitet
- orsakas
- centrala
- utmaningar
- byta
- laddad
- avgifter
- Välja
- klassificering
- koda
- Företag
- konkurrenskraftig
- Efterlevnad
- kompatibel
- Compute
- dator
- förtroende
- Konsol
- innehåller
- innehåll
- fortsätta
- Motsvarande
- kostnadseffektiv
- täcka
- skapa
- skapar
- Skapa
- beställnings
- Kunder
- datum
- Databas
- levereras
- levererar
- distribuera
- utplacerade
- Designa
- detaljer
- Utvecklare
- Diet
- olika
- direkt
- dokument
- effektivt
- ansträngning
- ansträngningar
- ange
- händelse
- händelser
- utvecklas
- exempel
- exempel
- befintliga
- extrakt
- Ansikte
- Misslyckande
- snabbare
- Förnamn
- följer
- efter
- formen
- format
- former
- Fri
- fungera
- funktioner
- Vidare
- hantera
- hjälpa
- hjälpa
- högre
- Hur ser din drömresa ut
- Men
- HTTPS
- humant
- identifiera
- Identitet
- bild
- genomföra
- förbättra
- innefattar
- innefattar
- Inklusive
- individuellt
- industrier
- industrin
- informationen
- ingång
- insikter
- integrerade
- Intelligent
- involverade
- IT
- Jobb
- märkning
- Etiketter
- språk
- lanserades
- inlärning
- Lagstiftning
- Maskinen
- maskininlärning
- GÖR
- förvaltade
- ledning
- manuell
- Match
- kanske
- ML
- modell
- modeller
- Månad
- månader
- mer
- multipel
- Natural
- Navigering
- nödvändigt för
- behov
- anteckningsbok
- öppet
- drift
- Optimera
- beställa
- Betala
- Personer
- prestanda
- personlig
- personlig information
- potentiell
- Principal
- problem
- process
- bearbetning
- ge
- ger
- tillhandahålla
- allmän
- realtid
- mottagna
- minska
- reducerande
- relevanta
- Resurser
- respons
- regler
- Körning
- rinnande
- skalbar
- Skala
- scener
- säkra
- säkerhet
- Serier
- Server
- service
- Tjänster
- in
- Enkelt
- So
- Mjukvara
- mjukvara som en service
- fast
- lösning
- Lösningar
- Löser
- utrymmen
- delas
- Delar upp
- stapel
- startar
- Ange
- uttalanden
- status
- bo
- förvaring
- lagra
- lagrar
- Strategisk
- lämnats
- Framgångsrikt
- system
- System
- uppgifter
- skatt
- Teknisk
- tekniker
- Tekniken
- testa
- Testning
- Genom
- tid
- tidskrävande
- gånger
- Utbildning
- överföring
- unika
- us
- användning
- värde
- Verifiering
- Video
- utsikt
- Virginia
- syn
- volym
- vänta
- utan
- arbetskraft