Jagage mitmevormilised dokumendipaketid nutikalt Amazon Textracti ja Amazon Comprehendiga

Allikasõlm: 1372716

Paljud erineva suurusega ja tööstusharu vertikaalsed organisatsioonid toetuvad oma igapäevaste toimingute tegemiseks endiselt suurele hulgale dokumentidele. Selle äriprobleemi lahendamiseks kasutavad kliendid AWS-i intelligentseid dokumenditöötlusteenuseid, näiteks Amazoni tekst ja Amazoni mõistmine aidata kaevandamine ja protsesside automatiseerimine. Enne teksti, võtme-väärtuste paaride, tabelite ja olemite eraldamist peate suutma poolitada mitmeleheküljelisi PDF-dokumente, mis sisaldavad sageli heterogeenseid vormitüüpe. Näiteks võib hüpoteeklaenude töötlemisel maakler või laenu töötlev isik vajada koond-PDF laenupaketti, mis sisaldab hüpoteegitaotlust (Fannie Mae vorm 1003), W2-d, sissetulekute kinnitust, 1040 maksuvorme ja palju muud.

Selle probleemi lahendamiseks kasutavad organisatsioonid reeglipõhist töötlemist: dokumenditüüpide tuvastamine vormipealkirjade, lehekülgede numbrite, vormi pikkuste jms kaudu. Need lähenemisviisid on veaohtlikud ja neid on raske skaleerida, eriti kui vormitüüpidel võib olla mitu variatsiooni. Sellest tulenevalt lagunevad need lahendused praktikas kiiresti ja suurendavad vajadust inimese sekkumise järele.

Selles postituses näitame, kuidas saate luua oma dokumendi jagamise lahenduse vähese koodiga mis tahes vormikomplekti jaoks, ilma kohandatud reeglite loomise või töövooge töötlemata.

Lahenduse ülevaade

Selle postituse jaoks kasutame tavaliste hüpoteeklaenutaotluste vormide komplekti, et näidata, kuidas saate Amazon Textracti ja Amazon Comprehendi abil luua intelligentse dokumendijagaja, mis on varasematest lähenemisviisidest tugevam. Hüpoteegitaotluse dokumentide menetlemisel esitab laenuvõtja mitmeleheküljelise PDF-faili, mis koosneb erineva pikkusega erineva pikkusega dokumenditüüpidest; teabe väljavõtmiseks peab kasutaja (näiteks pank) selle PDF-i jaotama.

Kuigi näitame konkreetset näidet hüpoteeklaenuvormide kohta, saate seda lähenemisviisi üldiselt skaleerida ja rakendada peaaegu iga mitmeleheküljelise PDF-dokumentide komplekti puhul.

Kasutame Amazon Textracti dokumendist andmete eraldamiseks ja Amazon Comprehendiga ühilduva andmestiku loomiseks, et koolitada a dokumentide klassifitseerimise mudel. Järgmisena koolitame klassifikatsioonimudelit ja loome klassifitseerimise lõpp-punkti, mis suudab teostada reaalajas dokumendianalüüsi. Pidage meeles, et Amazon Textracti ja Amazon Comprehendi klassifitseerimise lõpp-punktid on tasulised, seega vaadake Amazon Textracti hinnakujundus ja Amazon Comprehend hinnakujundus rohkem informatsiooni. Lõpuks näitame, kuidas saame selle lõpp-punktiga dokumente klassifitseerida ja klassifitseerimistulemuste põhjal dokumente jagada.

See lahendus kasutab järgmisi AWS-teenuseid:

Eeldused

Selle lahenduse loomiseks ja juurutamiseks peate täitma järgmised eeltingimused.

  1. paigaldama Python 3.8.x.
  2. paigaldama jq.
  3. paigaldama AWS SAM CLI.
  4. paigaldama laevalaadija.
  5. Veenduge, et olete pip paigaldatud.
  6. Paigaldage ja konfigureerige the,en AWS-i käsurea liides (AWS CLI).
  7. Seadistamine teie AWS-i mandaadid.

Lahendus on loodud töötama optimaalselt us-east-1 ja us-west-2 Piirkonnad, et kasutada ära Amazon Textracti kõrgemaid vaikekvoote. Konkreetsete piirkondlike töökoormuste kohta vt Amazon Textracti lõpp-punktid ja kvoodid. Veenduge, et kasutate kogu lahenduse jaoks ühte piirkonda.

Kloonige repo

Alustamiseks kloonige hoidla, käivitades järgmise käsu; siis lülitume töökataloogi:

git clone https://github.com/aws-samples/aws-document-classifier-and-splitter.git
cd aws-document-classifier-and-splitter

Lahenduste töövood

Lahendus koosneb kolmest töövoost:

  • workflow1_endpointbuilder – Kogub koolitusdokumendid ja loob Amazon Comprehendis kohandatud klassifitseerimise lõpp-punkti.
  • workflow2_docsplitter – Toimib dokumentide jagamise teenusena, kus dokumendid on jagatud klasside kaupa. See kasutab aastal loodud klassifikatsiooni lõpp-punkti workflow1.
  • töövoog3_local – on mõeldud klientidele, kes tegutsevad rangelt reguleeritud tööstusharudes ja ei saa Amazon S3-s andmeid säilitada. See töövoog sisaldab kohalikke versioone workflow1 ja workflow2.

Sukeldume põhjalikult igasse töövoogu ja nende toimimisse.

1. töövoog: looge PDF-, JPG- või PNG-dokumentidest Amazon Comprehend klassifikaator

Esimene töövoog võtab Amazon S3-sse salvestatud dokumendid ja saadab need läbi mitme sammu, et hankida Amazon Textracti kaudu dokumentidest andmed. Seejärel kasutatakse ekstraheeritud andmeid Amazon Comprehendi kohandatud klassifikatsiooni lõpp-punkti loomiseks. Seda näitab järgmine arhitektuuriskeem.

Käivitada workflow1, vajate treeningandmete komplekti faile (need võivad olla pildid, üheleheküljelised PDF-id või mitmeleheküljelised PDF-id) sisaldava kausta Amazon S3 URI-d. Kausta struktuur peab olema järgmine:

root dataset directory
---- class directory
-------- files

Teise võimalusena võib struktuuril olla täiendavaid pesastatud alamkatalooge:

root dataset directory
---- class directory
-------- nested subdirectories
------------ files

Klassi alamkataloogide nimed (teine ​​kataloogitase) muutuvad Amazon Comprehendi kohandatud klassifitseerimismudelis kasutatavate klasside nimedeks. Näiteks järgmises failistruktuuris on klass for form123.pdf is tax_forms:

training_dataset
---- tax_forms
-------- page_1
------------ form123.pdf

Töövoo käivitamiseks toimige järgmiselt.

  1. Laadige andmestik üles teile kuuluvasse S3 ämbrisse.

Soovitatav on, et iga klassi kohta, millesse soovite klassifitseerida, oleks üle 50 näidise. Järgmine ekraanipilt näitab selle dokumendiklassi struktuuri näidet.

  1. Ehitada sam-app käivitades järgmised käsud (muutke antud käske vastavalt vajadusele):
cd workflow1_endpointbuilder/sam-app
sam build
sam deploy --guided
Stack Name [sam-app]: endpointbuilder
AWS Region []: us-east-1
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy
Confirm changes before deploy [y/N]: n
#SAM needs permission to be able to create roles to connect to the resources in your template
Allow SAM CLI IAM role creation [Y/n]: y
Save arguments to configuration file [Y/n]: n Looking for resources needed for deployment:
Creating the required resources...
Successfully created!
Managed S3 bucket: {your_bucket}
#Managed repositories will be deleted when their functions are removed from the template and deployed
Create managed ECR repositories for all functions? [Y/n]: y

Järje väljund on astmefunktsioonide olekumasina ARN.

  1. Kui ehitamine on lõpetatud, liikuge lehele Riigi masinad leheküljel sammufunktsioonide konsoolil.
  2. Valige loodud olekumasin.
  3. Vali Alusta täitmist.
  4. Sisestage järgmised nõutavad sisestusparameetrid:
{
“folder_uri”: “s3://{your dataset}”
}

  1. Vali Alusta täitmist.

Olekumasin käivitab töövoo. Sõltuvalt andmestiku suurusest võib selleks kuluda mitu tundi. Järgmine ekraanipilt näitab meie olekumasinat pooleli.

Kui olekumasin on valmis, on graafiku iga samm roheline, nagu on näidatud järgmisel ekraanipildil.

Saate navigeerida Amazon Comprehendi konsooli, et näha juurutatud lõpp-punkti.

Olete nüüd koostanud oma kohandatud klassifikaatori, kasutades oma dokumente. See tähistab lõppu workflow1.

2. töövoog: looge lõpp-punkt

Teine töövoog võtab teie loodud lõpp-punkti workflow1 ja jagab dokumendid klasside alusel, millega mudelit on koolitatud. Seda näitab järgmine arhitektuuriskeem.

Käivitada workflow2, ehitame sam-app. Vajadusel muutke antud käske:

cd workflow2_docsplitter/sam-app
sam-app % sam build
Build Succeeded sam-app % sam deploy --guided
Configuring SAM deploy
=========================================
Stack Name [sam-app]: docsplitter
AWS Region []: us-east-1
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy
Confirm changes before deploy [y/N]: n
#SAM needs permission to be able to create roles to connect to the resources in your template
Allow SAM CLI IAM role creation [Y/n]: y
Save arguments to configuration file [Y/n]: n Looking for resources needed for deployment:
Managed S3 bucket: {bucket_name}
#Managed repositories will be deleted when their functions are removed from the template and deployed
Create managed ECR repositories for all functions? [Y/n]: y

Pärast virna loomist saate seadmele Load Balanceri DNS-i Väljundid CloudFormationi virna vahekaart. Võite hakata sellele lõpp-punktile taotlusi esitama.

Taotluse näidis on saadaval aadressil workflow2_docsplitter/sample_request_folder/sample_s3_request.py faili. API võtab kolm parameetrit: S3 ämbri nimi, dokumendi Amazon S3 URI ja Amazon Comprehend klassifikatsiooni lõpp-punkt ARN. Workflow2 toetab ainult PDF-i sisestust.

Meie testi jaoks kasutame 11-leheküljelist hüpoteeklaenu dokumenti viie erineva dokumenditüübiga.

API vastus on Amazon S3 URI ZIP-faili jaoks koos kõigi jagatud dokumentidega. Selle faili leiate ka ämbrist, mille sisestasite oma API kutses.

Laadige objekt alla ja vaadake dokumendid klassipõhiselt jagatud.

See tähistab lõppu workflow2. Oleme nüüd näidanud, kuidas saame dokumentide klassifitseerimiseks ja jagamiseks kasutada kohandatud Amazon Comprehendi klassifitseerimise lõpp-punkti.

Töövoog 3: Kohalik dokumentide poolitamine

Meie kolmas töövoog järgib sarnast eesmärki workflow1 ja workflow2 Amazon Comprehendi lõpp-punkti loomiseks; Kuid kogu töötlemine toimub teie kohaliku masina abil, et luua Amazon Comprehendiga ühilduv CSV-fail. See töövoog loodi klientidele rangelt reguleeritud tööstusharudes, kus PDF-dokumentide säilitamine Amazon S3-s ei pruugi olla võimalik. Järgmine arhitektuuriskeem on kohaliku lõpp-punkti koostaja töövoo visuaalne esitus.

Järgmine diagramm illustreerib kohaliku dokumendijagaja arhitektuuri.

Kogu lahenduse kood on saadaval aadressil workflow3_local/local_endpointbuilder.py faili Amazon Comprehendi klassifikatsiooni lõpp-punkti loomiseks ja workflow3_local/local_docsplitter.py saata dokumente poolitamiseks.

Järeldus

Dokumentide poolitamine on eduka ja intelligentse dokumenditöötluse töövoo loomise võti. See on endiselt väga aktuaalne probleem ettevõtetele, eriti organisatsioonidele, kes koondavad oma igapäevaseks tegevuseks mitut tüüpi dokumente. Mõned näited hõlmavad kindlustusnõuete dokumentide, kindlustuspoliisitaotluste, SEC-dokumentide, maksuvormide ja sissetuleku tõendamise vormide töötlemist.

Selles postituses võtsime kasutusele laenu töötlemiseks kasutatavad levinud dokumendid, ekstraheerisime andmed Amazon Textracti abil ja koostasime Amazon Comprehendi kohandatud klassifikatsiooni lõpp-punkti. Selle lõpp-punktiga klassifitseerisime sissetulevad dokumendid ja jagasime need vastava klassi alusel. Saate seda protsessi rakendada peaaegu igale dokumendikomplektile, millel on rakendusi erinevates tööstusharudes, nagu tervishoid ja finantsteenused. Amazon Textracti kohta lisateabe saamiseks külastage veebilehte.


Autoritest

Aditi Rajnish on Waterloo ülikooli esimese aasta tarkvaratehnika tudeng. Tema huvide hulka kuuluvad arvutinägemine, loomuliku keele töötlemine ja äärearvutus. Ta on kirglik ka kogukonnapõhise STEM-i teavitamise ja propageerimise vastu. Vabal ajal võib teda leida kaljuronimisest, klaverit mängimast või ideaalse skooni küpsetamise õppimisest.

Raj Pathak on lahenduste arhitekt ja tehniline nõustaja Fortune 50 ja keskmise suurusega FSI (pangandus, kindlustus, kapitaliturud) klientidele kogu Kanadas ja Ameerika Ühendriikides. Raj on spetsialiseerunud masinõppele koos dokumentide ekstraktimise, kontaktkeskuse teisendamise ja arvutinägemise rakendustega.

Allikas: https://aws.amazon.com/blogs/machine-learning/intelligently-split-multi-form-document-packages-with-amazon-texttract-and-amazon-comprehend/

Ajatempel:

Veel alates AWS-i masinõppe ajaveeb