Många organisationer som spänner över olika storlekar och branschvertikalar förlitar sig fortfarande på stora volymer dokument för att sköta sin dagliga verksamhet. För att lösa denna affärsutmaning använder kunderna intelligenta dokumentbehandlingstjänster från AWS som t.ex amazontext och Amazon Comprehend att hjälpa till med utvinning och processautomatisering. Innan du kan extrahera text, nyckel-värdepar, tabeller och entiteter måste du kunna dela flersidiga PDF-dokument som ofta innehåller heterogena formulärtyper. Till exempel kan en mäklare eller lånebearbetande individ behöva dela upp ett konsoliderat PDF-lånepaket, som innehåller låneansökan (Fannie Mae-formulär 1003), W2s, inkomstverifiering, 1040-skatteformulär med mera.
För att lösa detta problem använder organisationer regelbaserad bearbetning: identifiera dokumenttyper via formulärtitlar, sidnummer, formulärlängder och så vidare. Dessa tillvägagångssätt är felbenägna och svåra att skala, särskilt när formulärtyperna kan ha flera varianter. Följaktligen går dessa lösningar snabbt sönder i praktiken och ökar behovet av mänskligt ingripande.
I det här inlägget visar vi hur du kan skapa din egen dokumentdelningslösning med lite kod för vilken uppsättning formulär som helst, utan att bygga anpassade regler eller bearbeta arbetsflöden.
Lösningsöversikt
För det här inlägget använder vi en uppsättning vanliga ansökningsformulär för bolån för att visa hur du kan använda Amazon Textract och Amazon Comprehend för att skapa en intelligent dokumentdelare som är mer robust än tidigare tillvägagångssätt. Vid handläggning av dokument för bolåneansökningar lämnar låntagaren en flersidig PDF som är uppbyggd av heterogena dokumenttyper med varierande sidlängder; för att extrahera information måste användaren (till exempel en bank) bryta ner denna PDF.
Även om vi visar ett specifikt exempel för inteckningsformulär, kan du generellt skala och tillämpa detta tillvägagångssätt på nästan alla flersidiga PDF-dokument.
Vi använder Amazon Textract för att extrahera data från dokumentet och bygga en Amazon Comprehend-kompatibel datauppsättning för att träna en dokumentklassificeringsmodell. Därefter tränar vi klassificeringsmodellen och skapar en klassificeringsändpunkt som kan utföra dokumentanalys i realtid. Tänk på att Amazon Textract och Amazon Comprehend klassificeringsslutpunkter medför avgifter, så se Amazon Textract-prissättning och Amazon Comprehend-prissättning för mer information. Slutligen visar vi hur vi kan klassificera dokument med denna slutpunkt och dela upp dokument utifrån klassificeringsresultaten.
Denna lösning använder följande AWS-tjänster:
Förutsättningar
Du måste uppfylla följande förutsättningar för att bygga och distribuera den här lösningen:
- installera Python 3.8.x.
- installera jq.
- installera AWS SAM CLI.
- installera Hamnarbetare.
- Se till att du har pip installerad.
- Installera och konfigurera d AWS-kommandoradsgränssnitt (AWS CLI).
- Inställd dina AWS-uppgifter.
Lösningen är designad för att fungera optimalt i us-east-1
och us-west-2
Regioner för att dra nytta av högre standardkvoter för Amazon Textract. För specifika regionala arbetsbelastningar, se Amazon Textract-slutpunkter och kvoter. Se till att du använder en enda region för hela lösningen.
Klona repo
För att komma igång, klona förvaret genom att köra följande kommando; sedan byter vi till arbetskatalogen:
Lösningsarbetsflöden
Lösningen består av tre arbetsflöden:
- workflow1_endpointbuilder – Tar utbildningsdokumenten och bygger en anpassad klassificeringsslutpunkt på Amazon Comprehend.
- workflow2_docsplitter – Fungerar som dokumentdelningstjänsten, där dokument delas upp efter klass. Den använder klassificeringens slutpunkt som skapats i
workflow1
. - arbetsflöde3_lokalt – Är avsedd för kunder som är i starkt reglerade branscher och inte kan bevara data i Amazon S3. Detta arbetsflöde innehåller lokala versioner av
workflow1
ochworkflow2
.
Låt oss ta en djupdykning i varje arbetsflöde och hur de fungerar.
Arbetsflöde 1: Bygg en Amazon Comprehend-klassificerare från PDF-, JPG- eller PNG-dokument
Det första arbetsflödet tar dokument lagrade på Amazon S3 och skickar dem genom en rad steg för att extrahera data från dokumenten via Amazon Textract. Sedan används den extraherade informationen för att skapa en anpassad klassificeringsslutpunkt för Amazon Comprehend. Detta visas i följande arkitekturdiagram.
Att avfyra workflow1
, behöver du Amazon S3 URI för mappen som innehåller utbildningsdatafilerna (dessa kan vara bilder, ensidiga PDF-filer eller flersidiga PDF-filer). Strukturen för mappen måste vara följande:
Alternativt kan strukturen ha ytterligare kapslade underkataloger:
Namnen på klassens underkataloger (den andra katalognivån) blir namnen på klasserna som används i Amazon Comprehends anpassade klassificeringsmodell. Till exempel, i följande filstruktur, klassen för form123.pdf
is tax_forms
:
Utför följande steg för att starta arbetsflödet:
- Ladda upp datasetet till en S3-bucket som du äger.
Rekommendationen är att ha över 50 prover för varje klass du vill klassificera på. Följande skärmdump visar ett exempel på denna dokumentklassstruktur.
- Bygga
sam-app
genom att köra följande kommandon (ändra de angivna kommandona efter behov):
Utdata från konstruktionen är en ARN för en tillståndsmaskin för stegfunktioner.
- När bygget är klart, navigera till Statliga maskiner sidan på Step Functions-konsolen.
- Välj den tillståndsmaskin du skapade.
- Välja Starta körning.
- Ange följande nödvändiga inmatningsparametrar:
Tillståndsmaskinen startar arbetsflödet. Detta kan ta flera timmar beroende på datauppsättningens storlek. Följande skärmdump visar vår tillståndsmaskin på gång.
När tillståndsmaskinen är klar är varje steg i grafen grönt, som visas i följande skärmdump.
Du kan navigera till Amazon Comprehend-konsolen för att se slutpunkten utplacerad.
Du har nu byggt din anpassade klassificerare med dina dokument. Detta markerar slutet på workflow1
.
Arbetsflöde 2: Bygg en slutpunkt
Det andra arbetsflödet tar slutpunkten du skapade i workflow1
och delar upp dokumenten utifrån de klasser som modellen har tränats med. Detta visas i följande arkitekturdiagram.
Att avfyra workflow2
, bygger vi sam-app
. Ändra de angivna kommandona efter behov:
Efter att stacken har skapats får du en Load Balancer DNS på Utgångarna fliken i CloudFormation-stacken. Du kan börja göra förfrågningar till denna slutpunkt.
En provförfrågan finns tillgänglig i workflow2_docsplitter/sample_request_folder/sample_s3_request.py
fil. API:et tar tre parametrar: S3-bucket-namnet, dokumentet Amazon S3 URI och Amazon Comprehend-klassificeringens slutpunkt ARN. Workflow2 stöder endast PDF-inmatning.
För vårt test använder vi ett 11-sidigt pantdokument med fem olika dokumenttyper.
Svaret för API:t är en Amazon S3 URI för en .zip-fil med alla delade dokument. Du kan också hitta den här filen i hinken som du angav i ditt API-anrop.
Ladda ner objektet och granska dokumenten fördelade baserat på klass.
Detta markerar slutet på workflow2
. Vi har nu visat hur vi kan använda en anpassad Amazon Comprehend-klassificeringsslutpunkt för att klassificera och dela dokument.
Arbetsflöde 3: Lokal dokumentdelning
Vårt tredje arbetsflöde följer ett liknande syfte som workflow1
och workflow2
att generera en Amazon Comprehend-slutpunkt; dock görs all bearbetning med din lokala dator för att generera en Amazon Comprehend-kompatibel CSV-fil. Det här arbetsflödet skapades för kunder i starkt reglerade branscher där beständiga PDF-dokument på Amazon S3 kanske inte är möjliga. Följande arkitekturdiagram är en visuell representation av det lokala arbetsflödet för slutpunktsbyggaren.
Följande diagram illustrerar den lokala dokumentdelningsarkitekturen.
All kod för lösningen finns tillgänglig i workflow3_local/local_endpointbuilder.py
fil för att bygga Amazon Comprehend-klassificeringsslutpunkten och workflow3_local/local_docsplitter.py
att skicka dokument för delning.
Slutsats
Dokumentdelning är nyckeln till att bygga ett framgångsrikt och intelligent arbetsflöde för dokumentbearbetning. Det är fortfarande ett mycket relevant problem för företag, särskilt organisationer som samlar flera dokumenttyper för sin dagliga verksamhet. Några exempel inkluderar behandling av försäkringskravsdokument, försäkringsansökningar, SEC-dokument, skatteformulär och formulär för inkomstverifiering.
I det här inlägget tog vi en uppsättning vanliga dokument som används för lånebearbetning, extraherade data med Amazon Textract och byggde en anpassad klassificeringsslutpunkt för Amazon Comprehend. Med den slutpunkten klassificerade vi inkommande dokument och delade upp dem baserat på deras respektive klass. Du kan tillämpa den här processen på nästan vilken uppsättning dokument som helst med applikationer inom en mängd olika branscher, som sjukvård och finansiella tjänster. För att lära dig mer om Amazon Textract, besök webbsidan.
Om författarna
Aditi Rajnish är en första års programvaruingenjörsstudent vid University of Waterloo. Hennes intressen inkluderar datorseende, naturlig språkbehandling och edge computing. Hon brinner också för samhällsbaserad STEM-uppsökande och opinionsbildning. På fritiden kan hon hittas på att klättra, spela piano eller lära sig att baka den perfekta scones.
Raj Pathak är en lösningsarkitekt och teknisk rådgivare till Fortune 50 och medelstora FSI-kunder (Banking, Insurance, Capital Markets) i Kanada och USA. Raj är specialiserad på maskininlärning med applikationer inom dokumentextraktion, kontaktcentertransformation och datorseende.
- '
- 100
- 7
- Annat
- Fördel
- rådgivare
- befrämjande
- Alla
- amason
- Amazon Comprehend
- amazontext
- analys
- api
- Ansökan
- tillämpningar
- arkitektur
- argument
- AWS
- gunga
- Bank
- Banking
- mäklare
- SLUTRESULTAT
- byggare
- Byggnad
- företag
- företag
- Ring
- Kanada
- kapital
- Kapitalmarknader
- utmanar
- avgifter
- hävdar
- klassificering
- koda
- Gemensam
- Datorsyn
- databehandling
- Skapa
- referenser
- Kunder
- datum
- dns
- Hamnarbetare
- dokument
- kant
- kanten beräkning
- Slutpunkt
- Teknik
- extrahera data
- extraktion
- Slutligen
- finansiella
- finansiella tjänster
- Förnamn
- formen
- gå
- GitHub
- Grön
- hälso-och sjukvård
- Hur ser din drömresa ut
- How To
- HTTPS
- IAM
- Inkomst
- Öka
- industrier
- industrin
- informationen
- försäkring
- IT
- Nyckel
- språk
- Large
- lansera
- LÄRA SIG
- inlärning
- Nivå
- linje
- läsa in
- lån
- lokal
- maskininlärning
- Marknader
- modell
- Inteckning
- namn
- Naturligt språk
- Naturlig språkbehandling
- nummer
- Verksamhet
- organisationer
- policy
- Python
- realtid
- Resurser
- respons
- Resultat
- översyn
- regler
- Körning
- rinnande
- Skala
- SEC
- Serier
- Tjänster
- in
- Storlek
- So
- Mjukvara
- mjukvaruutveckling
- Lösningar
- LÖSA
- specialiserat
- delas
- igång
- Ange
- Stater
- stammen
- student
- framgångsrik
- Stöder
- Växla
- skatt
- Teknisk
- testa
- Grafen
- tid
- Utbildning
- Transformation
- United
- USA
- universitet
- URI
- Verifiering
- syn
- VEM
- Arbete
- arbetsflöde
- X