Multe companii sunt copleșite de volumul abundent de documente pe care trebuie să le proceseze, să le organizeze și să le clasifice pentru a-și servi mai bine clienții. Exemple de astfel de cereri pot fi cererile de împrumut, depunerea impozitelor și facturarea. Astfel de documente sunt primite mai frecvent în formate de imagine și sunt în mare parte cu pagini multiple și în format de calitate scăzută. Pentru a fi mai competitive și mai eficiente din punct de vedere al costurilor și pentru a rămâne sigure și conforme în același timp, aceste companii trebuie să-și dezvolte capacitățile de procesare a documentelor pentru a reduce timpii de procesare și pentru a îmbunătăți acuratețea clasificării într-un mod automat și scalabil. Aceste companii se confruntă cu următoarele provocări în procesarea documentelor:
- Efectuarea moderării documentelor pentru a detecta conținut inadecvat, nedorit sau ofensator
- Clasificarea manuală a documentelor, care este adoptată de companiile mai mici, necesită timp, este predispusă la erori și costisitoare
- Tehnicile OCR cu sisteme bazate pe reguli nu sunt suficient de inteligente și nu se pot adapta la modificările formatului documentului
- Companiile care adoptă abordări de învățare automată (ML) adesea nu au resurse pentru a-și scala modelul pentru a face față creșterilor în volumul documentelor primite
Acest post abordează aceste provocări și oferă o arhitectură care rezolvă eficient aceste probleme. Vă arătăm cum puteți utiliza Amazon Rekognition și Text Amazon pentru a optimiza și reduce eforturile umane în procesarea documentelor. Amazon Rekognition identifică etichetele de moderare în documentul dvs. și le clasifică folosind Etichete personalizate Amazon Rekognition. Amazon Textex extrage text din documentele dvs.
În această postare, acoperim construirea a două conducte ML (instruire și inferență) pentru a procesa documente fără a fi nevoie de niciun efort manual sau cod personalizat. Pașii de nivel înalt din conducta de inferență includ:
- Efectuați moderarea documentelor încărcate folosind Amazon Rekognition.
- Clasificați documentele în diferite categorii, cum ar fi W-2, facturi, extrase bancare și talonoane de plată folosind etichetele personalizate Rekognition.
- Extrageți text din documente, cum ar fi text tipărit, scris de mână, formulare și tabele folosind Amazon Texttract.
Prezentare generală a soluțiilor
Această soluție folosește următoarele servicii AI, tehnologii fără server și servicii gestionate pentru a implementa o arhitectură scalabilă și rentabilă:
- Amazon DynamoDB - O bază de date valoare-cheie și documente care oferă performanță de o cifră în milisecunde la orice scară.
- Amazon EventBridge – O magistrală de evenimente fără server pentru a construi aplicații bazate pe evenimente la scară, folosind evenimente generate din aplicațiile dvs., aplicații software integrate ca serviciu (SaaS) și servicii AWS.
- AWS Lambdas – Un serviciu de calcul fără server care vă permite să rulați cod ca răspuns la declanșatoare, cum ar fi modificări ale datelor, schimbări ale stării sistemului sau acțiuni ale utilizatorului.
- Amazon Rekognition – Folosește ML pentru a identifica obiecte, oameni, text, scene și activități în imagini și videoclipuri, precum și pentru a detecta orice conținut neadecvat.
- Etichete personalizate Amazon Rekognition – Utilizează AutoML pentru viziunea computerizată și transferul de învățare pentru a vă ajuta să antrenați modele personalizate pentru a identifica obiectele și scenele din imagini care sunt specifice nevoilor dvs. de afaceri.
- Serviciul Amazon de stocare simplă (Amazon S3) – Servește ca depozit de obiecte pentru documentele dvs. și permite gestionarea centrală cu controale de acces reglate fin.
- Funcții Amazon Step – Un orchestrator de funcții fără server care face ușoară secvențarea funcțiilor Lambda și a mai multor servicii în aplicații critice pentru afaceri.
- Text Amazon – Utilizează ML pentru a extrage text și date din documente scanate în formate PDF, JPEG sau PNG.
Următoarea diagramă ilustrează arhitectura conductei de inferență.
Fluxul nostru de lucru include următorii pași:
- Utilizatorul încarcă documente în compartimentul S3 de intrare.
- Încărcarea declanșează un Notificare eveniment Amazon S3 pentru a livra evenimente în timp real direct către EventBridge. Evenimentele Amazon S3 care se potrivesc cu „
object created
” filtru definit pentru an Regula EventBridge pornește fluxul de lucru Step Functions. - Fluxul de lucru Step Functions declanșează o serie de funcții Lambda, care îndeplinesc următoarele sarcini:
- Prima funcție realizează sarcini de preprocesare și efectuează apeluri API către Amazon Rekognition:
- Dacă documentele primite sunt în format imagine (cum ar fi JPG sau PNG), funcția apelează API-ul Amazon Rekognition și furnizează documentele ca obiecte S3. Cu toate acestea, dacă documentul este în format PDF, funcția transmite octeții de imagine atunci când apelează API-ul Amazon Rekognition.
- Dacă un document conține mai multe pagini, funcția împarte documentul în pagini individuale și le salvează într-un dosar intermediar din compartimentul S3 de ieșire înainte de a le procesa individual.
- Când sarcinile de preprocesare sunt finalizate, funcția efectuează un apel API către Amazon Rekognition pentru a detecta conținut inadecvat, nedorit sau ofensator și efectuează un alt apel API la modelul de etichete personalizate Rekognition instruit pentru a clasifica documentele.
- A doua funcție efectuează un apel API către Amazon Texttract pentru a iniția o lucrare pentru extragerea textului din documentul de intrare și stocarea acestuia în compartimentul S3 de ieșire.
- A treia funcție stochează metadate ale documentului, cum ar fi eticheta de moderare, clasificarea documentului, încrederea în clasificare, ID-ul jobului Amazon Texttract și calea fișierului într-un tabel DynamoDB.
- Prima funcție realizează sarcini de preprocesare și efectuează apeluri API către Amazon Rekognition:
Puteți ajusta fluxul de lucru conform cerințelor dvs., de exemplu, puteți adăuga o capacitate de procesare a limbajului natural (NLP) în acest flux de lucru folosind Amazon Comprehend pentru a obține informații despre textul extras.
Conducta de formare
Înainte de a implementa această arhitectură, antrenăm un model personalizat pentru a clasifica documentele în diferite categorii utilizând etichetele personalizate Rekognition. În cursul de instruire, etichetăm documentele folosind Amazon SageMaker Ground Adevăr. Apoi folosim documentele etichetate pentru a antrena un model cu etichete personalizate Rekognition. În acest exemplu, folosim un Amazon SageMaker notebook pentru a efectua acești pași, dar puteți și adnota imagini folosind consola Rekognition Custom Labels. Pentru instrucțiuni, consultați Etichetarea imaginilor.
Setul de date
Pentru a antrena modelul, folosim următoarele seturi de date publice care conțin W2 și facturi:
Puteți utiliza un alt set de date relevant pentru industria dvs.
Următorul tabel rezumă împărțirea setului de date între instruire și testare.
Clasă | Set de antrenament | Set de testare |
Facturi | 352 | 75 |
W-2s | 86 | 16 |
Total | 438 | 91 |
Implementați canalul de instruire cu AWS CloudFormation
Desfășurați un Formarea AWS Cloud șablon pentru furnizarea necesarului Gestionarea identității și accesului AWS (IAM) și componente ale conductei de instruire, inclusiv o instanță de notebook SageMaker.
- Lansați următorul șablon CloudFormation în regiunea de est a SUA (Virginia de Nord):
- Pentru Numele stivei, introduceți un nume, cum ar fi
document-processing-training-pipeline
. - Alege Pagina Următoare →.
- În Capacități și transformări secțiunea, bifați caseta de validare pentru a confirma faptul că AWS CloudFormation ar putea crea resurse IAM.
- Alege Creați stivă.
Pagina cu detaliile stivei ar trebui să arate starea stivei ca CREATE_IN_PROGRESS
. Poate dura până la 5 minute pentru ca starea să fie schimbată CREATE_COMPLETE
. Când este finalizat, puteți vizualiza ieșirile pe ieşiri tab.
- După ce stiva este lansată cu succes, deschideți consola SageMaker și alegeți Instanțe de notebook în numele de navigare.
- Căutați un exemplu cu
DocProcessingNotebookInstance-
prefix și așteptați până când starea acestuia este InService. - În Acţiuni, alege Deschideți Jupyter.
Rulați exemplul de caiet
Pentru a rula blocnotesul, parcurgeți următorii pași:
- Alege
Rekognition_Custom_Labels
exemplu de caiet.
- Alege Alerga pentru a rula celulele din exemplul de caiet în ordine.
Notebook-ul demonstrează întregul ciclu de viață al pregătirii imaginilor de antrenament și test, etichetarea lor, crearea fișierelor manifest, antrenamentul unui model și rularea modelului antrenat cu Rekognition Custom Labels. Alternativ, puteți antrena și rula modelul folosind consola Rekognition Custom Labels. Pentru instrucțiuni, consultați Antrenarea unui model (consola).
Caietul se explică de la sine; puteți urma pașii pentru a finaliza antrenamentul modelului.
- Faceți o notă cu privire la
ProjectVersionArn
pentru a asigura conducta de inferență într-o etapă ulterioară.
Pentru instanțele de blocnotes SageMaker, sunteți taxat pentru tipul de instanță pe care îl alegeți, în funcție de durata de utilizare. Dacă ați terminat de antrenat modelul, puteți opri instanța de notebook pentru a evita costul resurselor inactive.
Implementați conducta de inferență cu AWS CloudFormation
Pentru a implementa conducta de inferență, parcurgeți următorii pași:
- Lansați următorul șablon CloudFormation în regiunea de est a SUA (Virginia de Nord):
- Pentru Numele stivei, introduceți un nume, cum ar fi
document-processing-inference-pipeline
. - Pentru DynamoDBTableName, introduceți un nume unic de tabel DynamoDB; de exemplu,
document-processing-table
. - Pentru InputBucketName, introduceți un nume unic pentru găleata S3 pe care o creează stiva; de exemplu,
document-processing-input-bucket
.
Documentele de intrare sunt încărcate în acest grup înainte de a fi procesate. Folosiți numai caractere minuscule și fără spații atunci când creați numele compartimentului de intrare. În plus, această operațiune creează o nouă găleată S3, așa că nu utilizați numele unei găleți existente. Pentru mai multe informații, vezi Reguli pentru denumirea cupei.
- Pentru OutputBucketName, introduceți un nume unic pentru compartimentul dvs. de ieșire; de exemplu, d
ocument-processing-output-bucket
.
Această găleată stochează documentele de ieșire după ce sunt procesate. De asemenea, stochează pagini de documente de intrare PDF cu mai multe pagini după ce sunt împărțite de funcția Lambda. Urmați aceleași reguli de denumire ca și compartimentul de intrare.
- Pentru RekognitionCustomLabelModelARN, introduceți tasta
ProjectVersionArn
valoare pe care ai notat-o din caietul Jupyter. - Alege Pagina Următoare →.
- Pe Configurați opțiunile stivei pagina, setați orice parametri suplimentari pentru stivă, inclusiv etichete.
- Alege Pagina Următoare →.
- În Capacități și transformări secțiunea, bifați caseta de validare pentru a confirma că AWS CloudFormation ar putea crea resurse IAM.
- Alege Creați stivă.
Pagina cu detaliile stivei ar trebui să arate starea stivei ca CREATE_IN_PROGRESS
. Poate dura până la 5 minute pentru ca starea să fie schimbată CREATE_COMPLETE
. Când este finalizat, puteți vizualiza ieșirile pe ieşiri tab.
Procesați un document prin conductă
Am implementat atât conducte de instruire, cât și de inferență și acum suntem gata să folosim soluția și să procesăm un document.
- Pe consola Amazon S3, deschideți compartimentul de intrare.
- Încărcați un exemplu de document în folderul S3.
Aceasta începe fluxul de lucru. Procesul populează tabelul DynamoDB cu etichete de clasificare și moderare a documentelor. Ieșirea de la Amazon Texttract este livrată în compartimentul S3 de ieșire din TextractOutput
dosar.
Am trimis câteva exemple de documente diferite fluxului de lucru și am primit următoarele informații populate în tabelul DynamoDB.
Dacă nu vedeți elemente în tabelul DynamoDB sau documente încărcate în compartimentul S3 de ieșire, verificați Jurnalele Amazon CloudWatch pentru funcția Lambda corespunzătoare și căutați erori potențiale care au cauzat eșecul.
A curăța
Parcurgeți următorii pași pentru a curăța resursele implementate pentru această soluție:
- Pe consola CloudFormation, alegeți Stive.
- Selectați stivele implementate pentru această soluție.
- Alege Șterge.
Acești pași nu șterg compartimentele S3, tabelul DynamoDB și modelul de etichete personalizate Rekognition antrenat. Continuați să suportați taxe de stocare dacă nu sunt șterse. Ar trebui să ștergeți aceste resurse direct prin consolele de servicii respective, dacă nu mai aveți nevoie de ele.
Concluzie
În această postare, am prezentat o abordare scalabilă, sigură și automată pentru moderarea, clasificarea și procesarea documentelor. Companiile din mai multe industrii pot folosi această soluție pentru a-și îmbunătăți afacerea și a-și servi mai bine clienții. Permite o procesare mai rapidă a documentelor și o precizie mai mare și reduce complexitatea extragerii datelor. De asemenea, oferă o mai bună securitate și conformitate cu legislația privind datele cu caracter personal prin reducerea forței de muncă umane implicate în procesarea documentelor primite.
Pentru mai multe informaţii, consultaţi Ghid de etichete personalizate Amazon Rekognition, Ghid pentru dezvoltatori Amazon Rekognition și Ghidul dezvoltatorului Amazon Texttract. Dacă sunteți nou în Amazon Rekognition Custom Labels, încercați-l folosind nivelul nostru gratuit, care durează 3 luni și include 10 ore de instruire gratuite pe lună și 4 ore de inferență gratuite pe lună. Nivelul gratuit Amazon Rekognition include procesarea a 5,000 de imagini pe lună timp de 12 luni. Nivelul gratuit Amazon Texttract durează, de asemenea, trei luni și include 1,000 de pagini pe lună pentru Detect Document Text API.
Despre Autori
Jay Rao este arhitect principal de soluții la AWS. Îi place să ofere îndrumări tehnice și strategice clienților și să îi ajute să proiecteze și să implementeze soluții pe AWS.
Uchenna Egbe este arhitect asociat de soluții la AWS. El își petrece timpul liber cercetând despre ierburi, ceaiuri, superalimente și despre cum le poate încorpora în dieta sa zilnică.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Sursa: https://aws.amazon.com/blogs/machine-learning/moderate-classify-and-process-documents-using-amazon-rekognition-and-amazon-text/
- "
- 000
- 10
- 100
- 116
- 12 luni
- Despre Noi
- acces
- peste
- acțiuni
- activităţi de
- Suplimentar
- AI
- Servicii AI
- Amazon
- O alta
- api
- aplicatii
- abordare
- arhitectură
- Avocat Colaborator
- Automata
- AWS
- Bancă
- înainte
- facturare
- frontieră
- Cutie
- construi
- Clădire
- luați autobuzul
- afaceri
- apel
- capacități
- cauzată
- central
- provocări
- Schimbare
- încărcat
- taxe
- Alege
- clasificare
- cod
- Companii
- competitiv
- conformitate
- conforme
- Calcula
- calculator
- încredere
- Consoleze
- conține
- conţinut
- continua
- Corespunzător
- cost-eficiente
- acoperi
- crea
- creează
- Crearea
- personalizat
- clienţii care
- de date
- Baza de date
- livrate
- Oferă
- implementa
- dislocate
- Amenajări
- detalii
- Dezvoltator
- Dietă
- diferit
- direct
- documente
- eficient
- efort
- Eforturile
- Intrați
- eveniment
- evenimente
- evolua
- exemplu
- exemple
- existent
- extracte
- Față
- Eșec
- mai repede
- First
- urma
- următor
- formă
- format
- formulare
- Gratuit
- funcţie
- funcții
- În plus
- manipula
- ajutor
- ajutor
- superior
- Cum
- Totuși
- HTTPS
- uman
- identifica
- Identitate
- imagine
- punerea în aplicare a
- îmbunătăţi
- include
- include
- Inclusiv
- individ
- industrii
- industrie
- informații
- intrare
- perspective
- integrate
- Inteligent
- implicat
- IT
- Loc de munca
- etichetarea
- etichete
- limbă
- a lansat
- învăţare
- Legislație
- maşină
- masina de învățare
- FACE
- gestionate
- administrare
- manual
- Meci
- ar putea
- ML
- model
- Modele
- Lună
- luni
- mai mult
- multiplu
- Natural
- Navigare
- necesar
- nevoilor
- caiet
- deschide
- operaţie
- Optimizați
- comandă
- Plătește
- oameni
- performanță
- personal
- date personale
- potenţial
- Principal
- probleme
- proces
- prelucrare
- furniza
- furnizează
- furnizarea
- public
- în timp real
- primit
- reduce
- reducerea
- Resurse
- răspuns
- norme
- Alerga
- funcţionare
- scalabil
- Scară
- scene
- sigur
- securitate
- serie
- serverless
- serviciu
- Servicii
- set
- simplu
- So
- Software
- sistem de operare ca serviciu
- solid
- soluţie
- soluţii
- rezolvă
- spații
- împărţi
- șpalturi
- stivui
- începe
- Stat
- Declarații
- Stare
- şedere
- depozitare
- stoca
- magazine
- Strategic
- prezentat
- Reușit
- sistem
- sisteme
- sarcini
- impozit
- Tehnic
- tehnici de
- Tehnologii
- test
- Testarea
- Prin
- timp
- consumă timp
- ori
- Pregătire
- transfer
- unic
- us
- utilizare
- valoare
- Verificare
- Video
- Vizualizare
- Virginia
- viziune
- volum
- aștepta
- fără
- Forta de munca