Intelligens, több formátumú dokumentumcsomagok felosztása az Amazon Textract és az Amazon Comprehend segítségével

Forrás csomópont: 1372716

Sok különböző méretű és iparági vertikumot felölelő szervezet továbbra is nagy mennyiségű dokumentumra támaszkodik mindennapi működése során. Ennek az üzleti kihívásnak a megoldására az ügyfelek az AWS intelligens dokumentumfeldolgozási szolgáltatásait használják, mint pl Amazon szöveg és a Amazon Comprehend hogy segítsen kitermelés és folyamatautomatizálás. Szöveg, kulcs-érték párok, táblázatok és entitások kibontása előtt képesnek kell lennie többoldalas PDF-dokumentumok felosztására, amelyek gyakran heterogén űrlaptípusokat tartalmaznak. Például a jelzáloghitel-feldolgozás során előfordulhat, hogy egy brókernek vagy hitelfeldolgozó magánszemélynek fel kell osztania egy összevont PDF-kölcsöncsomagot, amely tartalmazza a jelzáloghitel-kérelmet (Fannie Mae 1003-as űrlap), a W2-ket, a jövedelemigazolást, az 1040-es adóűrlapokat stb.

A probléma megoldására a szervezetek szabályalapú feldolgozást alkalmaznak: a dokumentumtípusok azonosítását űrlapcímek, oldalszámok, űrlaphosszak stb. segítségével. Ezek a megközelítések hibásak és nehezen méretezhetők, különösen akkor, ha az űrlaptípusoknak több változata is lehet. Ennek megfelelően ezek a megoldások a gyakorlatban gyorsan tönkremennek, és megnövelik az emberi beavatkozás szükségességét.

Ebben a bejegyzésben bemutatjuk, hogyan hozhat létre saját dokumentumfelosztási megoldást kis kóddal bármilyen űrlapkészlethez anélkül, hogy egyéni szabályokat építene vagy munkafolyamatokat dolgozna fel.

Megoldás áttekintése

Ebben a bejegyzésben általános jelzáloghitel-igénylési űrlapokat használunk annak bemutatására, hogyan hozhat létre az Amazon Textract és az Amazon Comprehend segítségével egy intelligens dokumentumosztót, amely robusztusabb, mint a korábbi megközelítések. A jelzáloghitel-igényléshez szükséges dokumentumok feldolgozásakor a hitelfelvevő többoldalas PDF-et nyújt be, amely különböző oldalhosszúságú, heterogén dokumentumtípusokból áll; információk kinyeréséhez a felhasználónak (például egy banknak) le kell bontania ezt a PDF-fájlt.

Habár mutatunk egy konkrét példát a jelzáloghitel-űrlapokra, általában méretezheti és alkalmazhatja ezt a megközelítést szinte bármilyen többoldalas PDF-dokumentumkészletre.

Az Amazon Textract segítségével kinyerjük az adatokat a dokumentumból, és létrehozunk egy Amazon Comprehend-kompatibilis adatkészletet a képzéshez dokumentum osztályozási modell. Ezután betanítjuk az osztályozási modellt, és létrehozunk egy osztályozási végpontot, amely valós idejű dokumentumelemzést végezhet. Ne feledje, hogy az Amazon Textract és az Amazon Comprehend osztályozási végpontokért díjat kell fizetni, ezért tekintse meg a Amazon Textract árképzés és a Amazon Comprehend árképzés további információért. Végül bemutatjuk, hogyan osztályozhatunk ezzel a végponttal a dokumentumokat, és hogyan oszthatjuk fel a dokumentumokat az osztályozási eredmények alapján.

Ez a megoldás a következő AWS-szolgáltatásokat használja:

Előfeltételek

A megoldás létrehozásához és üzembe helyezéséhez teljesítenie kell a következő előfeltételeket:

  1. felszerel Python 3.8.x.
  2. felszerel jq.
  3. felszerel az AWS SAM CLI.
  4. felszerel Dokkmunkás.
  5. Győződjön meg arról, hogy van pip telepítve.
  6. Telepítse és konfigurálja a AWS parancssori interfész (AWS CLI).
  7. konfigurálása az Ön AWS hitelesítő adatait.

A megoldást úgy tervezték, hogy optimálisan működjön a us-east-1 és a us-west-2 Régiók, hogy kihasználják az Amazon Textract magasabb alapértelmezett kvótáit. Az egyes regionális munkaterhelésekről lásd: Amazon Textract végpontok és kvóták. Ügyeljen arra, hogy a teljes megoldáshoz egyetlen régiót használjon.

A repo klónozása

A kezdéshez klónozza a tárat a következő parancs futtatásával; majd átváltunk a munkakönyvtárba:

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

Megoldási munkafolyamatok

A megoldás három munkafolyamatból áll:

  • workflow1_endpointbuilder – Elveszi a képzési dokumentumokat, és egyéni besorolási végpontot épít az Amazon Comprehenden.
  • workflow2_docsplitter – Dokumentumfelosztó szolgáltatásként működik, ahol a dokumentumok osztályok szerint vannak felosztva. A következőben létrehozott osztályozási végpontot használja workflow1.
  • workflow3_local – Olyan ügyfelek számára készült, akik erősen szabályozott iparágakban dolgoznak, és nem tudják megőrizni az adatokat az Amazon S3-ban. Ez a munkafolyamat a helyi verziókat tartalmazza workflow1 és a workflow2.

Vessünk egy mély merülést az egyes munkafolyamatokba és azok működésébe.

1. munkafolyamat: Hozzon létre egy Amazon Comprehend osztályozót PDF, JPG vagy PNG dokumentumokból

Az első munkafolyamat az Amazon S3-on tárolt dokumentumokat veszi, és egy sor lépésen keresztül elküldi azokat, hogy az Amazon Textract segítségével kinyerje az adatokat a dokumentumokból. Ezután a kivont adatokat egy Amazon Comprehend egyéni osztályozási végpont létrehozására használják fel. Ezt szemlélteti a következő architektúra diagram.

Elindítani workflow1, szüksége van a képzési adatkészlet fájlokat tartalmazó mappa Amazon S3 URI-jára (ezek lehetnek képek, egyoldalas PDF-ek vagy többoldalas PDF-ek). A mappa szerkezetének a következőnek kell lennie:

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

Alternatív megoldásként a struktúra tartalmazhat további beágyazott alkönyvtárakat:

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

Az osztály-alkönyvtárak (a második könyvtárszint) nevei az Amazon Comprehend egyéni osztályozási modellben használt osztályok neveivé válnak. Például a következő fájlstruktúrában a for form123.pdf is tax_forms:

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

A munkafolyamat elindításához hajtsa végre a következő lépéseket:

  1. Töltse fel az adatkészletet egy saját S3-tárolóba.

Javasoljuk, hogy minden osztályhoz több mint 50 minta legyen. A következő képernyőképen látható egy példa erre a dokumentumosztály-struktúrára.

  1. Építsd a sam-app a következő parancsok futtatásával (szükség szerint módosítsa a megadott parancsokat):
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

A build kimenete egy ARN egy Step Functions állapotgéphez.

  1. Amikor a felépítés befejeződött, navigáljon a Állami gépek oldalon a Step Functions konzolon.
  2. Válassza ki a létrehozott állapotgépet.
  3. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Indítsa el a végrehajtást.
  4. Adja meg a következő szükséges beviteli paramétereket:
{
“folder_uri”: “s3://{your dataset}”
}

  1. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Indítsa el a végrehajtást.

Az állapotgép elindítja a munkafolyamatot. Ez az adatkészlet méretétől függően több órát is igénybe vehet. A következő képernyőképen állapotgépünk folyamatban van.

Amikor az állapotgép elkészült, a diagram minden lépése zöld színű, amint az a következő képernyőképen látható.

Az Amazon Comprehend konzolra navigálva megtekintheti a telepített végpontot.

Most elkészítette egyéni osztályozóját a dokumentumok felhasználásával. Ez a végét jelzi workflow1.

2. munkafolyamat: Készítsen végpontot

A második munkafolyamat az Ön által létrehozott végpontot veszi át workflow1 és felosztja a dokumentumokat azon osztályok alapján, amelyekkel a modellt betanították. Ezt szemlélteti a következő architektúra diagram.

Elindítani workflow2, építjük a sam-app. Szükség szerint módosítsa a megadott parancsokat:

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

A verem létrehozása után megkapja a Load Balancer DNS-t Kimenetek a CloudFormation verem lapján. Elkezdhet kérelmeket benyújtani ehhez a végponthoz.

A mintakérelem elérhető a workflow2_docsplitter/sample_request_folder/sample_s3_request.py fájlt. Az API-nak három paramétere van: az S3 csoport neve, a dokumentum Amazon S3 URI és az Amazon Comprehend osztályozási végpont ARN. A Workflow2 csak a PDF bevitelt támogatja.

Tesztünkhöz egy 11 oldalas jelzáloghitel-okmányt használunk, öt különböző dokumentumtípussal.

Az API válasza egy Amazon S3 URI az összes felosztott dokumentumot tartalmazó .zip fájlhoz. Ezt a fájlt az API-hívásban megadott tárolóban is megtalálhatja.

Töltse le az objektumot, és tekintse át a dokumentumokat osztály alapján felosztva.

Ez a végét jelzi workflow2. Most megmutattuk, hogyan használhatunk egyéni Amazon Comprehend osztályozási végpontot dokumentumok osztályozására és felosztására.

3. munkafolyamat: Helyi dokumentumfelosztás

Harmadik munkafolyamatunk is hasonló célt követ workflow1 és a workflow2 Amazon Comprehend végpont létrehozásához; azonban minden feldolgozás a helyi gépen történik egy Amazon Comprehend-kompatibilis CSV-fájl létrehozásához. Ezt a munkafolyamatot a szigorúan szabályozott iparágakban működő ügyfelek számára hozták létre, ahol előfordulhat, hogy az Amazon S3-on nem lehet tartós PDF-dokumentumot tárolni. A következő architektúra diagram a helyi végpont-készítő munkafolyamatának vizuális megjelenítése.

A következő ábra a helyi dokumentumosztó architektúráját mutatja be.

A megoldás összes kódja elérhető a workflow3_local/local_endpointbuilder.py fájlt az Amazon Comprehend osztályozási végpont felépítéséhez és workflow3_local/local_docsplitter.py dokumentumokat küldeni felosztásra.

Következtetés

A dokumentumok felosztása a kulcsa a sikeres és intelligens dokumentumfeldolgozási munkafolyamat felépítésének. Ez még mindig nagyon aktuális probléma a vállalkozások számára, különösen azoknak a szervezeteknek, amelyek több dokumentumtípust összesítenek mindennapi tevékenységükhöz. Néhány példa a biztosítási igények dokumentumainak, a biztosítási kötvénykérelmeknek, a SEC-dokumentumoknak, az adózási űrlapoknak és a jövedelemigazolási űrlapoknak a feldolgozása.

Ebben a bejegyzésben a hitelfeldolgozáshoz használt általános dokumentumokat vettük át, az Amazon Textract segítségével kinyertük az adatokat, és létrehoztunk egy Amazon Comprehend egyéni besorolási végpontot. Ezzel a végponttal osztályoztuk a bejövő dokumentumokat, és a megfelelő osztályuk alapján felosztottuk őket. Ezt a folyamatot szinte minden dokumentumkészletre alkalmazhatja, amelyek különböző iparágakban, például az egészségügyben és a pénzügyi szolgáltatásokban találhatók. Ha többet szeretne megtudni az Amazon Textractról, látogassa meg a weboldalt.


A szerzőkről

Aditi Rajnish a Waterloo Egyetem elsőéves szoftvermérnök hallgatója. Érdeklődési köre a számítógépes látás, a természetes nyelvi feldolgozás és az éles számítástechnika. Szenvedélyesen rajong a közösségi alapú STEM tájékoztatásért és érdekképviseletért is. Szabadidejében sziklamászhat, zongorázhat, vagy megtanulhatja, hogyan kell a tökéletes pogácsát sütni.

Raj Pathak megoldástervező és műszaki tanácsadó a Fortune 50 és közepes méretű FSI (banki, biztosítási, tőkepiaci) ügyfelek számára Kanadában és az Egyesült Államokban. Raj a gépi tanulásra szakosodott a dokumentumkivonás, a kapcsolattartó központ átalakítás és a számítógépes látás alkalmazásokkal.

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

Időbélyeg:

Még több AWS gépi tanulási blog