Mange organisationer, der spænder over forskellige størrelser og brancher, er stadig afhængige af store mængder dokumenter til at køre deres daglige drift. For at løse denne forretningsudfordring bruger kunderne intelligente dokumentbehandlingstjenester fra AWS som f.eks amazontekst , Amazon Comprehend at hjælpe med udvinding og procesautomatisering. Før du kan udtrække tekst, nøgleværdi-par, tabeller og entiteter, skal du være i stand til at opdele flersidede PDF-dokumenter, der ofte indeholder heterogene formulartyper. I forbindelse med realkreditbehandling kan en mægler eller lånebehandler muligvis være nødt til at opdele en konsolideret PDF-lånepakke, der indeholder pantansøgningen (Fannie Mae-formular 1003), W2s, indkomstbekræftelse, 1040 skatteformularer og mere.
For at løse dette problem bruger organisationer regelbaseret behandling: identifikation af dokumenttyper via formulartitler, sidetal, formularlængder og så videre. Disse tilgange er fejlbehæftede og svære at skalere, især når formulartyperne kan have flere variationer. Derfor bryder disse løsninger hurtigt sammen i praksis og øger behovet for menneskelig indgriben.
I dette indlæg viser vi, hvordan du kan skabe din egen dokumentopdelingsløsning med lidt kode til ethvert sæt formularer, uden at bygge brugerdefinerede regler eller behandle arbejdsgange.
Løsningsoversigt
Til dette indlæg bruger vi et sæt almindelige låneansøgningsskemaer til at demonstrere, hvordan du kan bruge Amazon Textract og Amazon Comprehend til at skabe en intelligent dokumentopdeler, der er mere robust end tidligere tilgange. Ved behandling af dokumenter til realkreditansøgninger indsender låner en flersidet PDF, der er opbygget af heterogene dokumenttyper af varierende sidelængde; for at udtrække oplysninger skal brugeren (for eksempel en bank) nedbryde denne PDF.
Selvom vi viser et specifikt eksempel for pantformularer, kan du generelt skalere og anvende denne tilgang på stort set ethvert sæt af flersidede PDF-dokumenter.
Vi bruger Amazon Textract til at udtrække data fra dokumentet og bygge et Amazon Comprehend-kompatibelt datasæt til at træne en dokumentklassificeringsmodel. Dernæst træner vi klassifikationsmodellen og opretter et klassifikationsslutpunkt, der kan udføre dokumentanalyse i realtid. Husk, at Amazon Textract- og Amazon Comprehend-klassificeringsslutpunkter medfører gebyrer, så se Amazon Textract-priser , Amazon Comprehend-priser for mere information. Til sidst viser vi, hvordan vi kan klassificere dokumenter med dette slutpunkt og opdele dokumenter baseret på klassificeringsresultaterne.
Denne løsning bruger følgende AWS-tjenester:
Forudsætninger
Du skal opfylde følgende forudsætninger for at bygge og implementere denne løsning:
- Installer Python 3.8.x.
- Installer jq.
- Installer AWS SAM CLI.
- Installer Docker.
- Sørg for at du har pip installeret.
- Installer og konfigurer og AWS kommandolinjegrænseflade (AWS CLI).
- Konfigurer dine AWS-legitimationsoplysninger.
Løsningen er designet til at fungere optimalt i us-east-1
, us-west-2
Regioner for at drage fordel af højere standardkvoter for Amazon Textract. For specifikke regionale arbejdsbelastninger, se Amazon Textract-slutpunkter og kvoter. Sørg for at bruge en enkelt region til hele løsningen.
Klon repoen
For at komme i gang skal du klone depotet ved at køre følgende kommando; så skifter vi til arbejdsbiblioteket:
Løsningsarbejdsgange
Løsningen består af tre arbejdsgange:
- workflow1_endpointbuilder – Tager træningsdokumenterne og bygger et tilpasset klassificeringsslutpunkt på Amazon Comprehend.
- workflow2_docsplitter – Fungerer som dokumentopdelingstjenesten, hvor dokumenter er opdelt efter klasse. Den bruger klassificeringens slutpunkt oprettet i
workflow1
. - workflow3_local – Er beregnet til kunder, der er i stærkt regulerede industrier og ikke kan bevare data i Amazon S3. Denne arbejdsgang indeholder lokale versioner af
workflow1
,workflow2
.
Lad os tage et dybt dyk ned i hver arbejdsgang, og hvordan de fungerer.
Workflow 1: Byg en Amazon Comprehend-klassifikator fra PDF-, JPG- eller PNG-dokumenter
Den første arbejdsgang tager dokumenter gemt på Amazon S3 og sender dem gennem en række trin for at udtrække data fra dokumenterne via Amazon Textract. Derefter bruges de udtrukne data til at skabe et Amazon Comprehend brugerdefineret klassifikationsslutpunkt. Dette er demonstreret i følgende arkitekturdiagram.
At starte workflow1
, skal du bruge Amazon S3 URI'en for mappen, der indeholder træningsdatasætfilerne (disse kan være billeder, enkeltsidede PDF'er eller flersidede PDF'er). Strukturen af mappen skal være som følger:
Alternativt kan strukturen have yderligere indlejrede undermapper:
Navnene på klassens undermapper (det andet biblioteksniveau) bliver navnene på de klasser, der bruges i Amazon Comprehends brugerdefinerede klassifikationsmodel. For eksempel i den følgende filstruktur er klassen for form123.pdf
is tax_forms
:
Udfør følgende trin for at starte arbejdsgangen:
- Upload datasættet til en S3-bøtte, du ejer.
Anbefalingen er at have over 50 prøver for hver klasse, du vil klassificere på. Følgende skærmbillede viser et eksempel på denne dokumentklassestruktur.
- Byg den
sam-app
ved at køre følgende kommandoer (rediger de angivne kommandoer efter behov):
Outputtet af build er et ARN for en Step Functions-tilstandsmaskine.
- Når opbygningen er færdig, skal du navigere til Statsmaskiner side på konsollen Trinfunktioner.
- Vælg den statsmaskine, du har oprettet.
- Vælg Start udførelse.
- Indtast følgende nødvendige inputparametre:
Tilstandsmaskinen starter arbejdsgangen. Dette kan tage flere timer afhængigt af datasættets størrelse. Følgende skærmbillede viser vores tilstandsmaskine i gang.
Når tilstandsmaskinen er færdig, er hvert trin i grafen grønt, som vist på det følgende skærmbillede.
Du kan navigere til Amazon Comprehend-konsollen for at se slutpunktet implementeret.
Du har nu bygget din brugerdefinerede klassificering ved hjælp af dine dokumenter. Dette markerer afslutningen på workflow1
.
Workflow 2: Byg et slutpunkt
Den anden arbejdsgang tager det slutpunkt, du oprettede i workflow1
og opdeler dokumenterne ud fra de klasser, som modellen er blevet trænet med. Dette er demonstreret i følgende arkitekturdiagram.
At starte workflow2
, bygger vi sam-app
. Rediger de angivne kommandoer efter behov:
Efter at stakken er oprettet, modtager du en Load Balancer DNS på Udgange fanen i CloudFormation-stakken. Du kan begynde at fremsætte anmodninger til dette slutpunkt.
En prøveanmodning er tilgængelig i workflow2_docsplitter/sample_request_folder/sample_s3_request.py
fil. API'et tager tre parametre: S3 bucket-navnet, dokumentet Amazon S3 URI og Amazon Comprehend-klassificeringens slutpunkt ARN. Workflow2 understøtter kun PDF-input.
Til vores test bruger vi et 11 siders pantedokument med fem forskellige dokumenttyper.
Svaret for API'en er en Amazon S3 URI for en .zip-fil med alle de opdelte dokumenter. Du kan også finde denne fil i den bøtte, du angav i dit API-kald.
Download objektet og gennemgå dokumenterne opdelt baseret på klassen.
Dette markerer afslutningen på workflow2
. Vi har nu vist, hvordan vi kan bruge et tilpasset Amazon Comprehend-klassifikationsslutpunkt til at klassificere og opdele dokumenter.
Arbejdsgang 3: Lokal dokumentopdeling
Vores tredje arbejdsgang følger et lignende formål som workflow1
, workflow2
at generere et Amazon Comprehend-slutpunkt; dog udføres al behandling ved hjælp af din lokale maskine til at generere en Amazon Comprehend-kompatibel CSV-fil. Denne arbejdsgang blev skabt til kunder i stærkt regulerede industrier, hvor vedvarende PDF-dokumenter på Amazon S3 muligvis ikke er mulige. Følgende arkitekturdiagram er en visuel repræsentation af den lokale arbejdsgang for slutpunktsbygger.
Følgende diagram illustrerer den lokale dokumentopdelerarkitektur.
Al koden til løsningen er tilgængelig i workflow3_local/local_endpointbuilder.py
fil for at opbygge Amazon Comprehend-klassifikationsslutpunktet og workflow3_local/local_docsplitter.py
at sende dokumenter til opdeling.
Konklusion
Dokumentopdeling er nøglen til at opbygge en vellykket og intelligent dokumentbehandlingsarbejdsgang. Det er stadig et meget relevant problem for virksomheder, især organisationer, der samler flere dokumenttyper til deres daglige drift. Nogle eksempler omfatter behandling af forsikringskravsdokumenter, ansøgninger om forsikringspolice, SEC-dokumenter, skatteformularer og indkomstbekræftelsesformularer.
I dette indlæg tog vi et sæt almindelige dokumenter, der bruges til lånebehandling, udtrak dataene ved hjælp af Amazon Textract og byggede et Amazon Comprehend-brugerdefineret klassifikationsslutpunkt. Med det endepunkt klassificerede vi indgående dokumenter og opdelte dem baseret på deres respektive klasse. Du kan anvende denne proces på næsten ethvert sæt dokumenter med applikationer på tværs af en række brancher, såsom sundhedspleje og finansielle tjenester. For at lære mere om Amazon Textract, besøg websiden.
Om forfatterne
Aditi Rajnish er førsteårs softwareingeniørstuderende ved University of Waterloo. Hendes interesser omfatter computersyn, naturlig sprogbehandling og edge computing. Hun brænder også for samfundsbaseret STEM-opsøgende og fortalervirksomhed. I sin fritid kan hun blive fundet ved at klatre, spille klaver eller lære at bage den perfekte scones.
Raj Pathak er løsningsarkitekt og teknisk rådgiver for Fortune 50 og mellemstore FSI-kunder (Banking, Insurance, Capital Markets) i Canada og USA. Raj har specialiseret sig i Machine Learning med applikationer i Document Extraction, Contact Center Transformation og Computer Vision.
- '
- 100
- 7
- Yderligere
- Fordel
- rådgiver
- advocacy
- Alle
- Amazon
- Amazon Comprehend
- amazontekst
- analyse
- api
- Anvendelse
- applikationer
- arkitektur
- argumenter
- AWS
- swing
- Bank
- Bank
- mægler
- bygge
- Builder
- Bygning
- virksomhed
- virksomheder
- ringe
- Canada
- kapital
- Kapitalmarkeder
- udfordre
- afgifter
- fordringer
- klassificering
- kode
- Fælles
- Computer Vision
- computing
- Oprettelse af
- Legitimationsoplysninger
- Kunder
- data
- dns
- Docker
- dokumenter
- Edge
- kant computing
- Endpoint
- Engineering
- udtrække dataene
- udvinding
- Endelig
- finansielle
- finansielle tjenesteydelser
- Fornavn
- formular
- Git
- GitHub
- Grøn
- sundhedspleje
- Hvordan
- How To
- HTTPS
- IAM
- Indkomst
- Forøg
- industrier
- industrien
- oplysninger
- forsikring
- IT
- Nøgle
- Sprog
- stor
- lancere
- LÆR
- læring
- Niveau
- Line (linje)
- belastning
- lån
- lokale
- machine learning
- Markeder
- model
- Pant
- navne
- Naturligt sprog
- Natural Language Processing
- numre
- Produktion
- organisationer
- politik
- Python
- realtid
- Ressourcer
- svar
- Resultater
- gennemgå
- regler
- Kør
- kører
- Scale
- SEK
- Series
- Tjenester
- sæt
- Størrelse
- So
- Software
- software Engineering
- Løsninger
- SOLVE
- specialiseret
- delt
- påbegyndt
- Tilstand
- Stater
- Stem
- studerende
- vellykket
- Understøtter
- Kontakt
- skat
- Teknisk
- prøve
- Grafen
- tid
- Kurser
- Transformation
- Forenet
- Forenede Stater
- universitet
- URI
- Verifikation
- vision
- WHO
- Arbejde
- workflow
- X