În peisajul afacerilor actuale, organizațiile caută în mod constant modalități de a-și optimiza procesele financiare, de a spori eficiența și de a genera economii de costuri. Un domeniu care deține un potențial semnificativ de îmbunătățire este conturile de plăți. La un nivel înalt, procesul de conturi plătibile include primirea și scanarea facturilor, extragerea datelor relevante din facturile scanate, validarea, aprobarea și arhivarea. Al doilea pas (extracția) poate fi complex. Fiecare factură și chitanță arată diferit. Etichetele sunt imperfecte și inconsecvente. Cele mai importante informații, cum ar fi prețul, numele vânzătorului, adresa vânzătorului și termenii de plată, adesea nu sunt etichetate în mod explicit și trebuie interpretate în funcție de context. Abordarea tradițională de utilizare a evaluatorilor umani pentru extragerea datelor este consumatoare de timp, predispusă la erori și nu este scalabilă.
În această postare, vă arătăm cum să automatizați procesul de conturi de plătit folosind Text Amazon pentru extragerea datelor. De asemenea, oferim o arhitectură de referință pentru a construi o conductă de automatizare a facturilor care permite extragerea, verificarea, arhivarea și căutarea inteligentă.
Prezentare generală a soluțiilor
Următoarea diagramă de arhitectură arată etapele unui flux de lucru de procesare a chitanțelor și a facturii. Începe cu o etapă de captare a documentelor pentru a colecta și stoca în siguranță facturile și chitanțele scanate. Următoarea etapă este faza de extracție, în care treceți facturile și chitanțele încasate către Amazon Text AnalyzeExpense
API pentru a extrage relații financiare între text, cum ar fi numele furnizorului, data primirii facturii, data comenzii, suma datorată, suma plătită și așa mai departe. În etapa următoare, utilizați reguli de cheltuieli predefinite pentru a determina dacă ar trebui să aprobați sau să respingeți automat chitanța. Documentele aprobate și respinse merg în dosarele lor respective din Serviciul Amazon de stocare simplă (Amazon S3) găleată. Pentru documentele aprobate, puteți căuta în toate câmpurile și valorile extrase folosind Serviciul Amazon OpenSearch. Puteți vizualiza metadatele indexate folosind OpenSearch Dashboards. Documentele aprobate sunt, de asemenea, configurate pentru a fi mutate în Amazon S3 Intelligent-Tiering pentru păstrarea și arhivarea pe termen lung folosind politicile de ciclu de viață S3.
Următoarele secțiuni vă ghidează prin procesul de creare a soluției.
Cerințe preliminare
Pentru a implementa această soluție, trebuie să aveți următoarele:
- Un cont AWS.
- An AWS Cloud9 mediu inconjurator. AWS Cloud9 este un mediu de dezvoltare integrat (IDE) bazat pe cloud, care vă permite să scrieți, să rulați și să vă depanați codul doar cu un browser. Include un editor de cod, un depanator și un terminal.
Pentru a crea mediul AWS Cloud9, furnizați un nume și o descriere. Păstrați totul ca implicit. Alegeți legătura IDE de pe consola AWS Cloud9 pentru a naviga la IDE. Acum sunteți gata să utilizați mediul AWS Cloud9.
Implementați soluția
Pentru a configura soluția, utilizați Kit AWS Cloud Development (AWS CDK) pentru a implementa un Formarea AWS Cloud grămadă.
- În terminalul dvs. IDE AWS Cloud9, clonați GitHub depozit și instalați dependențele. Rulați următoarele comenzi pentru a implementa
InvoiceProcessor
grămadă:
Implementarea durează aproximativ 25 de minute cu setările de configurare implicite din depozitul GitHub. Informații suplimentare de ieșire sunt, de asemenea, disponibile pe consola AWS CloudFormation.
- După finalizarea implementării AWS CDK, creați reguli de validare a cheltuielilor într-un Amazon DynamoDB masa. Puteți utiliza același terminal AWS Cloud9 pentru a rula următoarele comenzi:
- În găleata S3 care începe cu
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
, creați un folder de încărcări.
In Amazon Cognito, ar trebui să aveți deja apelat un grup de utilizatori OpenSearchResourcesCognitoUserPool*
. Folosim acest grup de utilizatori pentru a crea un utilizator nou.
- Pe consola Amazon Cognito, navigați la grupul de utilizatori
OpenSearchResourcesCognitoUserPool*
. - Creați un nou utilizator Amazon Cognito.
- Furnizați un nume de utilizator și o parolă la alegere și notați-le pentru utilizare ulterioară.
- Încărcați documentele factură_aleatorie1 și factură_aleatorie2 la S3
uploads
folder pentru a începe fluxurile de lucru.
Acum să ne aprofundăm în fiecare dintre pașii de procesare a documentului.
Captură document
Clienții gestionează facturile și chitanțele într-o multitudine de formate de la diferiți furnizori. Aceste documente sunt primite prin canale precum copii pe hârtie, copii scanate încărcate în stocarea fișierelor sau dispozitive de stocare partajate. În etapa de captare a documentelor, stocați toate copiile scanate ale chitanțelor și facturilor într-un spațiu de stocare extrem de scalabil, cum ar fi într-o găleată S3.
Extracție
Următoarea etapă este faza de extracție, în care treceți facturile și chitanțele încasate către Amazon Text AnalyzeExpense
API pentru a extrage relații financiare între text, cum ar fi numele furnizorului, data primirii facturii, data comenzii, suma datorată/plătită etc.
Analizați Cheltuielile este un API dedicat procesării documentelor de facturi și chitanțe. Este disponibil atât ca API sincronă, cât și ca asincronă. API-ul sincron vă permite să trimiteți imagini în format de octeți, iar API-ul asincron vă permite să trimiteți fișiere în formate JPG, PNG, TIFF și PDF. The AnalyzeExpense
Răspunsul API este format din trei secțiuni distincte:
- Câmpuri de rezumat – Această secțiune include atât cheile normalizate, cât și cheile menționate explicit împreună cu valorile acestora.
AnalyzeExpense
normalizează cheile pentru informațiile de contact, cum ar fi numele și adresa vânzătorului, cheile legate de codul fiscal, cum ar fi ID-ul plătitorului de taxe, cheile legate de plată, cum ar fi suma datorată și reducerea și cheile generale, cum ar fi ID-ul facturii, data livrării și Numărul de cont. Cheile care nu sunt normalizate apar în continuare în câmpurile de rezumat ca perechi cheie-valoare. Pentru o listă completă a câmpurilor de cheltuieli acceptate, consultați Analiza facturilor si chitantelor. - Elemente rând – Această secțiune include chei de element rând normalizate, cum ar fi descrierea articolului, prețul unitar, cantitatea și codul produsului.
- bloc OCR – Blocul conține extrasul de text brut din pagina facturii. Extrasul de text brut poate fi utilizat pentru postprocesarea și identificarea informațiilor care nu sunt acoperite ca parte a câmpurilor rezumat și element rând.
Această postare folosește Construcții Amazon Text IDP CDK (Componente AWS CDK pentru a defini infrastructura pentru fluxurile de lucru de procesare inteligentă a documentelor (IDP)), care vă permite să creați fluxuri de lucru IDP personalizabile, specifice cazului de utilizare. Construcțiile și mostrele sunt o colecție de componente pentru a permite definirea proceselor IDP pe AWS și publicate în GitHub. Principalele concepte utilizate sunt constructele AWS CDK, actualele AWS CDK stive, și Funcții pas AWS.
Figura următoare arată fluxul de lucru Funcții pas.
Fluxul de lucru de extracție include următorii pași:
- InvoiceProcessor-Decider - An AWS Lambdas funcție care verifică dacă formatul documentului de intrare este acceptat de Amazon Texttract. Pentru mai multe detalii despre formatele acceptate, consultați Documente de intrare.
- DocumentSplitter – O funcție Lambda care generează 2,500 de pagini (maximum) bucăți din documente și poate procesa documente mari cu mai multe pagini.
- Starea hărții – O funcție Lambda care procesează fiecare bucată în paralel.
- TextAsync – Această sarcină apelează Amazon Texttract folosind API-ul asincron următor Cele mai bune practici cu Serviciul de notificare simplă Amazon (Amazon SNS) notificări și utilizări
OutputConfig
pentru a stoca ieșirea Amazon Texttract JSON în compartimentul S3 pe care l-ați creat mai devreme. Constă din două funcții Lambda: una pentru a trimite documentul spre procesare și una care este declanșată în notificarea SNS. - TextAsyncToJSON2 - Deoarece
TextractAsync
task poate produce mai multe fișiere de ieșire paginate,TextractAsyncToJSON2
procesul le combină într-un singur fișier JSON.
Discutăm detaliile următorilor trei pași în secțiunile următoare.
Verificare și aprobare
Pentru etapa de verificare, SetMetaData
Funcția Lambda verifică dacă fișierul încărcat este o cheltuială validă conform regulilor configurate anterior în tabelul DynamoDB. Pentru această postare, utilizați următoarele exemple de reguli:
- Verificarea are succes dacă
INVOICE_RECEIPT_ID
este prezent și se potrivește cu regex(?i)[0-9]{3}[a-z]{3}[0-9]{3}$
și ifPO_NUMBER
este prezent și se potrivește cu regex(?i)[a-z0-9]+$
- Verificarea este nereușită dacă oricare dintre ele
PO_NUMBER
orINVOICE_RECEIPT_ID
este incorectă sau lipsește din document.
După procesarea fișierelor, funcția de verificare a cheltuielilor mută fișierele de intrare în oricare dintre acestea approved
or declined
foldere în aceeași găleată S3.
În scopul acestei soluții, folosim DynamoDB pentru a stoca regulile de validare a cheltuielilor. Cu toate acestea, puteți modifica această soluție pentru a se integra cu soluțiile proprii sau comerciale de validare sau de gestionare a cheltuielilor.
Index și căutare inteligente
Cu OpenSearchPushInvoke
Funcție Lambda, metadatele extrase ale cheltuielilor sunt trimise într-un index OpenSearch Service și sunt disponibile pentru căutare.
Finala TaskOpenSearchMapping
pasul șterge contextul, care altfel ar putea depăși Cota pentru funcțiile pasului dimensiunea maximă de intrare sau de ieșire pentru o activitate, stare sau rulare a fluxului de lucru.
După ce indexul OpenSearch Service este creat, puteți căuta cuvinte cheie din textul extras prin OpenSearch Dashboards.
Arhivare, audit și analiză
Pentru a gestiona ciclul de viață și arhivarea facturilor și a chitanțelor, puteți configura regulile ciclului de viață S3 pentru a trece obiectele S3 de la clasele de stocare Standard la Intelligent-Tiering. S3 Intelligent-Tiering monitorizează tiparele de acces și mută automat obiectele la nivelul Acces infrecvent atunci când acestea nu au fost accesate timp de 30 de zile consecutiv. După 90 de zile fără acces, obiectele sunt mutate la nivelul Archive Instant Access fără impact asupra performanței sau overhead operațional.
Pentru audit și analiză, această soluție folosește Serviciul OpenSearch pentru a rula analize pe solicitările de factură. Serviciul OpenSearch vă permite să ingerați, să securizați, să căutați, să agregați, să vizualizați și să analizați fără efort date pentru o serie de cazuri de utilizare, cum ar fi analiza jurnalelor, căutarea aplicațiilor, căutarea întreprinderilor și multe altele.
Conectați-vă la OpenSearch Dashboards și navigați la Managementul stivei, Obiecte salvate, Apoi alegeți Import. Alege facturi.ndjson fișier din depozitul clonat și alegeți Import. Aceasta prepopulează indecși și construiește vizualizarea.
Actualizați pagina și navigați la Acasă, Contul Meuși deschideți Facturi. Acum puteți selecta și aplica filtre și puteți extinde fereastra de timp pentru a explora facturile anterioare.
A curăța
Când ați terminat de evaluat Amazon Texttract pentru procesarea chitanțelor și a facturilor, vă recomandăm să curățați toate resursele pe care le-ați putea crea. Parcurgeți următorii pași:
- Ștergeți tot conținutul din compartimentul S3
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
. - În AWS Cloud9, rulați următoarele comenzi pentru a șterge resursele Amazon Cognito și stivele CloudFormation:
- Ștergeți mediul AWS Cloud9 pe care l-ați creat din consola AWS Cloud9.
Concluzie
În această postare, am oferit o prezentare generală a modului în care putem construi o conductă de automatizare a facturilor folosind Amazon Texttract pentru extragerea datelor și a crea un flux de lucru pentru validare, arhivare și căutare. Am oferit exemple de cod despre cum să utilizați AnalyzeExpense
API pentru extragerea câmpurilor critice dintr-o factură.
Pentru a începe, conectați-vă la consola Amazon Texttract pentru a încerca această funcție. Pentru a afla mai multe despre capabilitățile Amazon Texttract, consultați Ghidul dezvoltatorului Amazon Texttract or Resurse de text. Pentru a afla mai multe despre IDP, consultați IDP cu servicii AWS AI Partea 1 și Partea 2 posturi.
Despre Autori
Sushant Pradhan este un arhitect senior de soluții la Amazon Web Services, ajutând clienții întreprinderilor. Interesele și experiența lui includ containere, tehnologie fără server și DevOps. În timpul liber, lui Sushant îi place să petreacă timpul în aer liber cu familia sa.
Shibin Michaelraj este manager de produs senior cu echipa AWS Text. El se concentrează pe construirea de produse bazate pe AI/ML pentru clienții AWS.
Suprakash Dutta este arhitect senior de soluții la Amazon Web Services. El se concentrează pe strategia de transformare digitală, modernizarea și migrarea aplicațiilor, analiza datelor și învățarea automată. El face parte din comunitatea AI/ML de la AWS și proiectează soluții inteligente de procesare a documentelor.
Maran Chandrasekaran este arhitect senior de soluții la Amazon Web Services, lucrând cu clienții noștri întreprinderi. În afara serviciului, îi place să călătorească și să meargă cu motocicleta în Texas Hill Country.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/build-a-receipt-and-invoice-processing-pipeline-with-amazon-textract/
- :este
- :nu
- :Unde
- $UP
- 1
- 100
- 25
- 30
- 7
- 8
- 9
- a
- Despre Noi
- acces
- accesate
- Cont
- Conturi
- creanţe
- curent
- Suplimentar
- adresa
- După
- agregat
- AI
- Servicii AI
- AI / ML
- TOATE
- permite
- de-a lungul
- deja
- de asemenea
- Amazon
- Amazon Cognito
- Text Amazon
- Amazon Web Services
- sumă
- an
- Google Analytics
- analiza
- și
- Orice
- api
- apărea
- aplicație
- Aplică
- abordare
- aprobare
- aproba
- aprobat
- arhitectură
- arhivă
- SUNT
- ZONĂ
- în jurul
- AS
- At
- de audit
- audit
- automatizarea
- în mod automat
- Automatizare
- disponibil
- AWS
- AWS Cloud9
- Formarea AWS Cloud
- bazat
- BE
- deoarece
- fost
- între
- Bloca
- Bootstrap
- atât
- browser-ul
- construi
- Clădire
- construiește
- afaceri
- by
- denumit
- apeluri
- CAN
- capacități
- captura
- cazuri
- canale
- verifica
- alegere
- Alege
- clase
- Curățenie
- Cloud
- Cloud9
- cod
- colecta
- colectare
- combină
- comercial
- comunitate
- Completă
- complex
- componente
- Concepte
- Configuraţie
- configurat
- consecutiv
- constă
- Consoleze
- mereu
- construcții
- Containere
- conține
- conţinut
- context
- A costat
- economii
- ar putea
- ţară
- acoperit
- crea
- a creat
- Crearea
- critic
- clienţii care
- personalizabil
- tablou de bord
- tablouri de bord
- de date
- Analiza datelor
- Data
- Zi
- dedicat
- Mod implicit
- defini
- definiție
- livrare
- dependențe
- implementa
- desfășurarea
- descriere
- modele
- distruge
- detalii
- Determina
- Dezvoltator
- Dezvoltare
- Dispozitive
- diagramă
- diferit
- digital
- Transformarea digitală
- Reducere
- discuta
- distinct
- scufunda
- document
- documente
- conduce
- două
- dutta
- fiecare
- Mai devreme
- ecou
- editor
- eficiență
- efort
- oricare
- altfel
- permite
- permite
- spori
- Afacere
- Mediu inconjurator
- etc
- evaluarea
- tot
- depăși
- existent
- Extinde
- experienţă
- explicit
- explora
- extrage
- extracţie
- familie
- Caracteristică
- camp
- Domenii
- Figura
- Fișier
- Fişiere
- Filtre
- final
- financiar
- financiar
- concentrat
- se concentrează
- următor
- Pentru
- format
- din
- funcţie
- funcții
- General
- generează
- obține
- merge
- GitHub
- Go
- manipula
- Greu
- Avea
- he
- ajutor
- Înalt
- extrem de
- lui
- deține
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- uman
- i
- ID
- identificarea
- if
- imagini
- Impactul
- import
- important
- îmbunătățire
- in
- include
- include
- incorect
- index
- indexate
- indexurile
- informații
- Infrastructură
- intrare
- instala
- clipă
- integra
- integrate
- Inteligent
- Procesarea inteligentă a documentelor
- interese
- în
- factură
- procesarea facturii
- facturi
- IT
- jpg
- JSON
- doar
- A pastra
- chei
- Cuvinte cheie
- etichete
- peisaj
- mare
- mai tarziu
- AFLAȚI
- învăţare
- Permite
- Nivel
- ciclu de viață
- ca
- Linie
- LINK
- Listă
- log
- pe termen lung
- Uite
- iubeste
- maşină
- masina de învățare
- Principal
- administra
- administrare
- manager
- meciuri
- max
- maxim
- menționat
- Metadata
- ar putea
- migrațiune
- minute
- dispărut
- modifica
- monitoare
- mai mult
- cele mai multe
- motocicletă
- mutat
- mişcă
- multiplu
- multitudine
- trebuie sa
- nume
- Navigaţi
- Nou
- următor
- Nu.
- nota
- notificare
- notificări
- acum
- număr
- obiecte
- of
- de multe ori
- on
- ONE
- deschide
- operațional
- Optimizați
- or
- comandă
- organizații
- in caz contrar
- al nostru
- în aer liber
- producție
- exterior
- deasupra
- Prezentare generală
- propriu
- pagină
- plătit
- perechi
- Paralel
- parte
- trece
- Parolă
- trecut
- modele
- plăti
- plată
- pentru
- performanță
- fază
- piese
- conducte
- Plato
- Informații despre date Platon
- PlatoData
- PO
- Politicile
- piscină
- Post
- postări
- potenţial
- predefinite
- prezenta
- în prealabil
- preţ
- proces
- Procesat
- procese
- prelucrare
- produce
- Produs
- manager de produs
- Produse
- furniza
- prevăzut
- publicat
- scopuri
- împins
- cantitate
- Crud
- gata
- încasări
- primit
- primire
- recomanda
- trimite
- referință
- regex
- Respins..
- legate de
- Relaţii
- depozit
- cereri de
- Cerinţe
- Resurse
- respectiv
- răspuns
- retenţie
- Călări
- norme
- Alerga
- funcţionare
- acelaşi
- probă
- Economie
- scalabil
- scanare
- Caută
- Al doilea
- Secțiune
- secțiuni
- sigur
- în siguranță,
- caută
- selecta
- trimite
- senior
- serverless
- serviciu
- Servicii
- set
- setări
- comun
- să
- Arăta
- Emisiuni
- semna
- semnificativ
- simplu
- Mărimea
- So
- soluţie
- soluţii
- Cheltuire
- stivui
- Stive
- Etapă
- Stadiile
- standard
- Începe
- început
- începe
- Stat
- Pas
- paşi
- Încă
- depozitare
- stoca
- Strategie
- prezenta
- de succes
- astfel de
- REZUMAT
- Suportat
- tabel
- Lua
- ia
- Sarcină
- impozit
- echipă
- Tehnologia
- Terminal
- termeni
- Texas
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- acea
- Blocul
- lor
- Lor
- apoi
- Acestea
- ei
- acest
- trei
- Prin
- Nivelul
- timp
- consumă timp
- la
- azi
- tradiţional
- Transformare
- Strategia de transformare
- tranziţie
- călătorie
- a declanșat
- încerca
- Două
- tip
- unitate
- încărcat
- utilizare
- utilizat
- Utilizator
- utilizări
- folosind
- valabil
- validare
- valoare
- Valori
- vânzător
- furnizori
- Verificare
- de
- Vizualizare
- vizualizare
- imagina
- modalități de
- we
- web
- servicii web
- cand
- dacă
- care
- fereastră
- cu
- în
- fără
- Apartamente
- flux de lucru
- fluxuri de lucru
- de lucru
- scrie
- Tu
- Ta
- zephyrnet