Jaa älykkäästi monimuotoiset asiakirjapaketit Amazon Textractin ja Amazon Comprehendin avulla

Lähdesolmu: 1372716

Monet erikokoiset ja eri toimialoilla toimivat organisaatiot luottavat edelleen suuriin dokumenttimääriin päivittäisessä toiminnassaan. Tämän liiketoimintahaasteen ratkaisemiseksi asiakkaat käyttävät AWS:n älykkäitä asiakirjankäsittelypalveluita, kuten Amazonin teksti ja Amazonin käsitys auttaa louhinta ja prosessiautomaatio. Ennen kuin voit poimia tekstiä, avainarvopareja, taulukoita ja entiteettejä, sinun on pystyttävä jakamaan monisivuisia PDF-dokumentteja, jotka sisältävät usein heterogeenisia lomaketyyppejä. Esimerkiksi asuntolainakäsittelyssä välittäjän tai lainaa käsittelevän henkilön on ehkä jaettava konsolidoitu PDF-lainapaketti, joka sisältää asuntolainahakemuksen (Fannie Maen lomake 1003), W2:n, tulotodennuksen, 1040 verolomakkeet ja paljon muuta.

Tämän ongelman ratkaisemiseksi organisaatiot käyttävät sääntöihin perustuvaa käsittelyä: asiakirjatyypit tunnistavat lomakkeiden otsikoiden, sivunumeroiden, lomakkeiden pituuden ja niin edelleen. Nämä lähestymistavat ovat virhealttiita ja vaikeita skaalata, varsinkin kun lomaketyypeillä voi olla useita muunnelmia. Näin ollen nämä kiertotavat hajoavat nopeasti käytännössä ja lisäävät ihmisen puuttumisen tarvetta.

Tässä viestissä näytämme, kuinka voit luoda oman asiakirjan jakamisratkaisun pienellä koodilla mille tahansa lomakejoukolle ilman mukautettuja sääntöjä tai käsittelyn työnkulkuja.

Ratkaisun yleiskatsaus

Tässä viestissä käytämme joukkoa yleisiä asuntolainahakemuslomakkeita osoittaaksemme, kuinka voit käyttää Amazon Textractia ja Amazon Comprehendia luodaksesi älykkään asiakirjan jakajan, joka on vankempi kuin aikaisemmat lähestymistavat. Käsitellessään asuntolainahakemusten asiakirjoja lainanottaja toimittaa monisivuisen PDF-tiedoston, joka koostuu heterogeenisistä asiakirjatyypeistä, joiden sivupituudet vaihtelevat; poimiakseen tietoja käyttäjän (esimerkiksi pankin) on haettava tämä PDF.

Vaikka näytämme erityisen esimerkin asuntolainalomakkeista, voit yleensä skaalata ja soveltaa tätä lähestymistapaa melkein mihin tahansa monisivuisiin PDF-dokumentteihin.

Käytämme Amazon Textract -sovellusta tietojen poimimiseen asiakirjasta ja Amazon Comprehend -yhteensopivan tietojoukon rakentamiseen a asiakirjan luokittelumalli. Seuraavaksi koulutamme luokittelumallin ja luomme luokituksen päätepisteen, joka voi suorittaa reaaliaikaisen asiakirja-analyysin. Muista, että Amazon Textract- ja Amazon Comprehend -luokittelupäätepisteet ovat maksullisia, joten katso Amazon Textract hinnoittelu ja Amazon ymmärtää hinnoittelun Lisätietoja. Lopuksi näytämme, kuinka voimme luokitella asiakirjoja tällä päätepisteellä ja jakaa dokumentteja luokittelutulosten perusteella.

Tämä ratkaisu käyttää seuraavia AWS-palveluita:

Edellytykset

Sinun on täytettävä seuraavat edellytykset rakentaaksesi ja ottaaksesi käyttöön tämän ratkaisun:

  1. install Python 3.8.x.
  2. install jq.
  3. install AWS SAM CLI.
  4. install Satamatyöläinen.
  5. Varmista, että olet pip asennettuna.
  6. Asenna ja konfiguroi Ishayoiden opettaman AWS-komentoriviliitäntä (AWS CLI).
  7. Configure AWS-kirjautumistietosi.

Ratkaisu on suunniteltu toimimaan optimaalisesti us-east-1 ja us-west-2 Alueet voivat hyödyntää korkeampia oletuskiintiöitä Amazon Textractille. Katso tietyt alueelliset työmäärät kohdasta Amazon Textract -päätepisteet ja kiintiöt. Varmista, että käytät yhtä aluetta koko ratkaisulle.

Klooni repo

Aloita kloonaamalla arkisto suorittamalla seuraava komento; sitten siirrymme työhakemistoon:

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

Ratkaisutyönkulut

Ratkaisu koostuu kolmesta työnkulusta:

  • workflow1_endpointbuilder – Ottaa koulutusasiakirjat ja rakentaa mukautetun luokituksen päätepisteen Amazon Comprehendissä.
  • työnkulku2_docsplitter – Toimii asiakirjanjakopalveluna, jossa asiakirjat jaetaan luokkien mukaan. Se käyttää luokituksen päätepistettä, joka on luotu vuonna workflow1.
  • työnkulku3_paikallinen – Tarkoitettu asiakkaille, jotka toimivat tiukasti säännellyillä aloilla eivätkä pysty säilyttämään tietoja Amazon S3:ssa. Tämä työnkulku sisältää paikallisia versioita workflow1 ja workflow2.

Sukellaan syvällisesti jokaiseen työnkulkuun ja niiden toimintaan.

Työnkulku 1: Luo Amazon Comprehend -luokittelu PDF-, JPG- tai PNG-dokumenteista

Ensimmäinen työnkulku ottaa Amazon S3:een tallennetut asiakirjat ja lähettää ne useiden vaiheiden kautta tietojen poimimiseksi asiakirjoista Amazon Textractin kautta. Sitten purettuja tietoja käytetään mukautetun Amazon Comprehend -luokituksen päätepisteen luomiseen. Tämä näkyy seuraavassa arkkitehtuurikaaviossa.

Käynnistää workflow1, tarvitset harjoitustietojoukkotiedostot sisältävän kansion Amazon S3 URI:n (nämä voivat olla kuvia, yksisivuisia PDF-tiedostoja tai monisivuisia PDF-tiedostoja). Kansion rakenteen tulee olla seuraava:

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

Vaihtoehtoisesti rakenteessa voi olla lisää sisäkkäisiä alihakemistoja:

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

Luokka-alihakemistojen nimistä (toinen hakemistotaso) tulee Amazon Comprehendin mukautetun luokitusmallin luokkien nimiä. Esimerkiksi seuraavassa tiedostorakenteessa luokka for form123.pdf is tax_forms:

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

Käynnistä työnkulku suorittamalla seuraavat vaiheet:

  1. Lataa tietojoukko omistamaasi S3-säilöyn.

Suositus on, että jokaisessa luokassa, johon haluat luokitella, on yli 50 näytettä. Seuraavassa kuvakaappauksessa on esimerkki tästä asiakirjaluokkarakenteesta.

  1. Rakenna sam-app suorittamalla seuraavat komennot (muokkaa annettuja komentoja tarpeen mukaan):
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

Rakennuksen tulos on ARN Step Functions -tilakoneelle.

  1. Kun rakennus on valmis, siirry kohtaan Valtion koneet -sivulla Step Functions -konsolissa.
  2. Valitse luomasi tilakone.
  3. Valita Aloita suoritus.
  4. Syötä seuraavat pakolliset syöttöparametrit:
{
“folder_uri”: “s3://{your dataset}”
}

  1. Valita Aloita suoritus.

Tilakone aloittaa työnkulun. Tämä voi kestää useita tunteja tietojoukon koosta riippuen. Seuraava kuvakaappaus näyttää tilakoneemme käynnissä.

Kun tilakone on valmis, kaavion jokainen vaihe on vihreä, kuten seuraavassa kuvakaappauksessa näkyy.

Voit siirtyä Amazon Comprehend -konsoliin nähdäksesi käyttöönotetun päätepisteen.

Olet nyt rakentanut mukautetun luokittimesi asiakirjoistasi. Tämä merkitsee loppua workflow1.

Työnkulku 2: Luo päätepiste

Toinen työnkulku ottaa päätepisteen, jossa loit workflow1 ja jakaa asiakirjat luokkien perusteella, joiden kanssa mallia on koulutettu. Tämä näkyy seuraavassa arkkitehtuurikaaviossa.

Käynnistää workflow2, rakennamme sam-app. Muokkaa annettuja komentoja tarpeen mukaan:

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

Kun pino on luotu, saat Load Balancer DNS:n Lähdöt CloudFormation-pinon välilehti. Voit alkaa tehdä pyyntöjä tähän päätepisteeseen.

Mallipyyntö on saatavilla osoitteessa workflow2_docsplitter/sample_request_folder/sample_s3_request.py tiedosto. API ottaa kolme parametria: S3-säilön nimen, asiakirjan Amazon S3 URI ja Amazon Comprehend -luokituksen päätepisteen ARN. Workflow2 tukee vain PDF-syöttöä.

Testissämme käytämme 11-sivuista asuntolainatodistusta viidellä eri asiakirjatyypillä.

API:n vastaus on Amazon S3 URI .zip-tiedostolle, joka sisältää kaikki jaetut asiakirjat. Löydät tämän tiedoston myös sovellusliittymäkutsussa antamastasi säilöstä.

Lataa objekti ja tarkista asiakirjat luokan perusteella jaettuna.

Tämä merkitsee loppua workflow2. Olemme nyt osoittaneet, kuinka voimme käyttää mukautettua Amazon Comprehend -luokituspäätepistettä asiakirjojen luokittelemiseen ja jakamiseen.

Työnkulku 3: Paikallinen asiakirjan jakaminen

Kolmas työnkulkumme noudattaa samanlaista tarkoitusta kuin workflow1 ja workflow2 luoda Amazon Comprehend -päätepiste; Kaikki käsittely tapahtuu kuitenkin käyttämällä paikallista konettasi Amazon Comprehend -yhteensopivan CSV-tiedoston luomiseksi. Tämä työnkulku luotiin asiakkaille tiukasti säännellyillä aloilla, joilla pysyviä PDF-dokumentteja Amazon S3:ssa ei ehkä ole mahdollista. Seuraava arkkitehtuurikaavio on visuaalinen esitys paikallisen päätepisteiden rakentajan työnkulusta.

Seuraava kaavio havainnollistaa paikallista asiakirjanjakaja-arkkitehtuuria.

Kaikki ratkaisun koodit ovat saatavilla osoitteessa workflow3_local/local_endpointbuilder.py tiedosto Amazon Comprehend -luokituksen päätepisteen luomiseksi ja workflow3_local/local_docsplitter.py lähettää asiakirjoja jaettavaksi.

Yhteenveto

Asiakirjojen jakaminen on avain onnistuneen ja älykkään asiakirjojen käsittelyn työnkulun rakentamiseen. Se on edelleen erittäin tärkeä ongelma yrityksille, erityisesti organisaatioille, jotka yhdistävät useita asiakirjatyyppejä päivittäistä toimintaansa varten. Joitakin esimerkkejä ovat vakuutuskorvausasiakirjojen, vakuutushakemusten, SEC-asiakirjojen, verolomakkeiden ja tulontodistuslomakkeiden käsittely.

Tässä viestissä otimme joukon yleisiä lainojen käsittelyyn käytettyjä asiakirjoja, poimimme tiedot Amazon Textractin avulla ja rakensimme mukautetun Amazon Comprehend -luokittelupäätepisteen. Tämän päätepisteen avulla luokittelimme saapuvat asiakirjat ja jaoimme ne kunkin luokan perusteella. Voit soveltaa tätä prosessia lähes mihin tahansa asiakirjoihin, joissa on sovelluksia useilla eri aloilla, kuten terveydenhuollossa ja rahoituspalveluissa. Jos haluat lisätietoja Amazon Textractista, käy verkkosivulla.


Tietoja Tekijät

Aditi Rajnish on ensimmäisen vuoden ohjelmistotekniikan opiskelija Waterloon yliopistossa. Hänen kiinnostuksen kohteitaan ovat tietokonenäkö, luonnollisen kielen käsittely ja reunalaskenta. Hän on myös intohimoinen yhteisöpohjaiseen STEM-yhteistyöhön ja edunvalvontaan. Vapaa-ajallaan hän voi tavata kalliokiipeilyä, soittaa pianoa tai oppia leipomaan täydellisen sconsin.

Raj Pathak on ratkaisuarkkitehti ja tekninen neuvonantaja Fortune 50- ja keskikokoisille FSI-asiakkaille (pankkitoiminta, vakuutus, pääomamarkkinat) Kanadassa ja Yhdysvalloissa. Raj on erikoistunut koneoppimiseen dokumenttien purkamisen, yhteyskeskuksen muuntamisen ja tietokonenäön sovelluksilla.

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

Aikaleima:

Lisää aiheesta AWS-koneoppimisblogi