Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1

Organizațiile din industrii, cum ar fi asistența medicală, finanțele și împrumuturile, juridice, comerțul cu amănuntul și producția trebuie adesea să se ocupe de o mulțime de documente în procesele lor de afaceri de zi cu zi. Aceste documente conțin informații critice care sunt esențiale pentru luarea deciziilor la timp, pentru a menține cele mai înalte niveluri de satisfacție a clienților, o integrare mai rapidă a clienților și o pierdere mai redusă a clienților. În cele mai multe cazuri, documentele sunt procesate manual pentru a extrage informații și perspective, ceea ce necesită timp, este predispus la erori, costisitor și dificil de scalat. În prezent, există o automatizare limitată pentru procesarea și extragerea informațiilor din aceste documente. Procesarea inteligentă a documentelor (IDP) cu serviciile de inteligență artificială (AI) AWS ajută la automatizarea extragerii informațiilor din documente de diferite tipuri și formate, rapid și cu o precizie ridicată, fără a fi nevoie de abilități de învățare automată (ML). Extragerea mai rapidă a informațiilor cu acuratețe ridicată ajută la luarea la timp a deciziilor de afaceri de calitate, reducând în același timp costurile totale.

Deși etapele dintr-un flux de lucru IDP pot varia și pot fi influențate de cazul de utilizare și de cerințele de afaceri, figura următoare arată etapele care fac de obicei parte dintr-un flux de lucru IDP. Procesarea documentelor, cum ar fi formulare fiscale, revendicări, note medicale, formulare pentru clienți noi, facturi, contracte legale și multe altele sunt doar câteva dintre cazurile de utilizare pentru IDP.

În această serie în două părți, discutăm despre modul în care puteți automatiza și procesa în mod inteligent documentele la scară folosind serviciile AWS AI. În această postare, discutăm despre primele trei faze ale fluxului de lucru IDP. În parte 2, discutăm despre fazele rămase ale fluxului de lucru.

Prezentare generală a soluțiilor

Următoarea diagramă de arhitectură arată etapele unui flux de lucru IDP. Începe cu o etapă de captare a datelor pentru a stoca și a agrega în siguranță diferite formate de fișiere (PDF, JPEG, PNG, TIFF) și aspecte ale documentelor. Următoarea etapă este clasificarea, în care vă clasificați documentele (cum ar fi contracte, formulare de cerere, facturi sau chitanțe), urmată de extragerea documentelor. În etapa de extragere, puteți extrage informații comerciale semnificative din documentele dvs. Aceste date extrase sunt adesea folosite pentru a aduna informații prin intermediul analizei datelor sau sunt trimise către sisteme din aval, cum ar fi baze de date sau sisteme tranzacționale. Următoarea etapă este îmbogățirea, în care documentele pot fi îmbogățite prin redactarea informațiilor de sănătate protejate (PHI) sau a datelor de identificare personală (PII), extragerea personalizată a termenilor de afaceri și așa mai departe. În cele din urmă, în etapa de revizuire și validare, puteți include o forță de muncă umană pentru revizuirea documentelor pentru a vă asigura că rezultatul este exact.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În scopul acestei postări, luăm în considerare un set de documente eșantion, cum ar fi extrase bancare, facturi și chitanțe de magazin. Exemplele de documente, împreună cu exemplul de cod, pot fi găsite în pagina noastră GitHub depozit. În secțiunile următoare, vă prezentăm aceste exemple de cod împreună cu aplicarea practică reală. Demonstrăm cum puteți utiliza capabilitățile ML cu Text Amazon, Amazon Comprehend, și AI augmentată Amazon (Amazon A2I) pentru a procesa documente și a valida datele extrase din acestea.

Amazon Texttract este un serviciu ML care extrage automat text, scris de mână și date din documentele scanate. Depășește simpla recunoaștere optică a caracterelor (OCR) pentru a identifica, înțelege și extrage date din formulare și tabele. Amazon Textract folosește ML pentru a citi și procesa orice tip de document, extragând cu precizie text, scris de mână, tabele și alte date fără efort manual.

Amazon Comprehend este un serviciu de procesare a limbajului natural (NLP) care utilizează ML pentru a extrage informații despre conținutul documentelor. Amazon Comprehend poate identifica elemente critice din documente, inclusiv referințe la limbă, oameni și locuri și le poate clasifica în subiecte sau grupuri relevante. Poate efectua o analiză a sentimentelor pentru a determina sentimentul unui document în timp real, utilizând detectarea unui singur document sau a loturilor. De exemplu, poate analiza comentariile de pe o postare pe blog pentru a ști dacă cititorilor tăi le place postarea sau nu. Amazon Comprehend detectează, de asemenea, PII, cum ar fi adrese, numere de cont bancar și numere de telefon în documente text în timp real și lucrări în loturi asincrone. De asemenea, poate redacta entități PII în joburi de lot asincrone.

Amazon A2I este un serviciu ML care facilitează crearea fluxurilor de lucru necesare pentru revizuirea umană. Amazon A2I aduce recenzii umane tuturor dezvoltatorilor, eliminând sarcinile grele nediferențiate asociate cu construirea de sisteme de evaluare umană sau gestionarea unui număr mare de recenzori umani, indiferent dacă rulează pe AWS sau nu. Amazon A2I se integrează cu ambele Text Amazon și Amazon Comprehend pentru a vă oferi posibilitatea de a introduce pași de revizuire umană în fluxul dvs. de lucru inteligent de procesare a documentelor.

Faza de captare a datelor

Puteți stoca documente într-un spațiu de stocare extrem de scalabil și durabil, cum ar fi Serviciul Amazon de stocare simplă (Amazon S3). Amazon S3 este un serviciu de stocare a obiectelor care oferă scalabilitate, disponibilitate a datelor, securitate și performanță de vârf în industrie. Amazon S3 este proiectat pentru 11 9 de durabilitate și stochează date pentru milioane de clienți din întreaga lume. Documentele pot veni în diferite formate și machete și pot proveni din diferite canale, cum ar fi portaluri web sau atașamente de e-mail.

Faza de clasificare

În pasul anterior, am colectat documente de diferite tipuri și formate. În acest pas, trebuie să categorizăm documentele înainte de a putea face extragerea ulterioară. Pentru asta, folosim Amazon Comprehend clasificare personalizată. Clasificarea documentelor este un proces în două etape. În primul rând, antrenați un clasificator personalizat Amazon Comprehend pentru a recunoaște clasele care vă interesează. Apoi, implementați modelul cu a punct final în timp real al clasificatorului personalizat și trimiteți documente neetichetate la punctul final în timp real pentru a fi clasificate.

Figura următoare reprezintă un flux de lucru tipic de clasificare a documentelor.

Faza de clasificare

Pentru a instrui clasificatorul, identificați clasele care vă interesează și furnizați documente exemplu pentru fiecare dintre clase ca material de instruire. Pe baza opțiunilor pe care le-ați indicat, Amazon Comprehend creează un model ML personalizat pe care îl antrenează pe baza documentelor pe care le-ați furnizat. Acest model personalizat (clasificatorul) examinează fiecare document pe care îl trimiteți. Returnează fie clasa specifică care reprezintă cel mai bine conținutul (dacă utilizați modul cu mai multe clase), fie setul de clase care i se aplică (dacă utilizați modul cu mai multe etichete).

Pregătiți datele de antrenament

Primul pas este extragerea textului din documentele necesare pentru clasificatorul personalizat Amazon Comprehend. Pentru a extrage informațiile de text brut pentru toate documentele din Amazon S3, folosim Amazon Texttract detect_document_text() API. De asemenea, etichetăm datele în funcție de tipul de document care urmează să fie utilizat pentru a antrena un clasificator Amazon Comprehend personalizat.

Următorul cod a fost redus în scopuri de simplificare. Pentru codul complet, consultați GitHub cod simplu pentru textract_extract_text(). Functia call_textract() este o funcție wr4apper care apelează Analizați documentul API-ul intern, iar parametrii trecuți metodei retrag unele dintre configurațiile de care API-ul are nevoie pentru a rula sarcina de extracție.

def textract_extract_text(document, bucket=data_bucket):        
    try:
        print(f'Processing document: {document}')
        lines = ""
        row = []
        
        # using amazon-textract-caller
        response = call_textract(input_document=f's3://{bucket}/{document}') 
        # using pretty printer to get all the lines
        lines = get_string(textract_json=response, output_type=[Textract_Pretty_Print.LINES])
        
        label = [name for name in names if(name in document)]  
        row.append(label[0])
        row.append(lines)        
        return row
    except Exception as e:
        print (e)        

Antrenează un clasificator personalizat

În acest pas, folosim clasificarea personalizată Amazon Comprehend pentru a ne instrui modelul pentru clasificarea documentelor. Noi folosim CreateDocumentClassifier API pentru a crea un clasificator care antrenează un model personalizat folosind datele noastre etichetate. Vezi următorul cod:

create_response = comprehend.create_document_classifier(
        InputDataConfig={
            'DataFormat': 'COMPREHEND_CSV',
            'S3Uri': f's3://{data_bucket}/{key}'
        },
        DataAccessRoleArn=role,
        DocumentClassifierName=document_classifier_name,
        VersionName=document_classifier_version,
        LanguageCode='en',
        Mode='MULTI_CLASS'
    )

Implementați un punct final în timp real

Pentru a folosi clasificatorul personalizat Amazon Comprehend, creăm un punct final în timp real folosind CreateEndpoint API-uri:

endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ENDPOINT_ARN=endpoint_response['EndpointArn']
print(f'Endpoint created with ARN: {ENDPOINT_ARN}')  

Clasificați documentele cu punctul final în timp real

După ce punctul final Amazon Comprehend este creat, putem folosi punctul final în timp real pentru a clasifica documentele. Noi folosim comprehend.classify_document() funcția cu textul documentului extras și punctul final de inferență ca parametri de intrare:

response = comprehend.classify_document(
      Text= document,
      EndpointArn=ENDPOINT_ARN
      )

Amazon Comprehend returnează toate clasele de documente cu un scor de încredere legat de fiecare clasă într-o serie de perechi cheie-valoare (nume-scor). Alegem clasa de documente cu cel mai mare scor de încredere. Următoarea captură de ecran este un exemplu de răspuns.

Clasificați documentele cu punctul final în timp real

Vă recomandăm să parcurgeți codul de exemplu de clasificare detaliată a documentelor GitHub.

Faza de extracție

Amazon Texttract vă permite să extrageți text și informații de date structurate folosind Amazon Texttract DetectDocumentText și Analizați documentul API-uri, respectiv. Aceste API-uri răspund cu date JSON, care conțin CUVINTE, LINII, FORMULE, TABELE, informații despre geometrie sau căsuța de delimitare, relații și așa mai departe. Ambii DetectDocumentText și AnalyzeDocument sunt operații sincrone. Pentru a analiza documente în mod asincron, utilizați StartDocumentTextDetection.

Extragerea datelor structurate

Puteți extrage date structurate, cum ar fi tabele, din documente, păstrând în același timp structura datelor și relațiile dintre elementele detectate. Puteți folosi Analizați documentul API cu FeatureType as TABLE pentru a detecta toate tabelele dintr-un document. Figura următoare ilustrează acest proces.

Extragerea datelor structurate

Consultați următorul cod:

response = textract.analyze_document(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    },
    FeatureTypes=["TABLES"])

Conducem analyze_document() metoda cu FeatureType as TABLES pe documentul istoric al angajatului și obțineți extragerea tabelului în următoarele rezultate.

Analizați răspunsul API al documentului pentru extragerea tabelelor

Extragerea datelor semi-structurate

Puteți extrage din documente date semi-structurate, cum ar fi formulare sau perechi cheie-valoare, păstrând în același timp structura datelor și relațiile dintre elementele detectate. Puteți folosi Analizați documentul API cu FeatureType as FORMS pentru a detecta toate formele dintr-un document. Următoarea diagramă ilustrează acest proces.

Extragerea datelor semi-structurate

Consultați următorul cod:

response = textract.analyze_document(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    },
    FeatureTypes=["FORMS"])

Aici, rulăm analyze_document() metoda cu FeatureType as FORMS pe documentul de cerere de angajat și obțineți extragerea tabelului în rezultate.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Extragerea datelor nestructurate

Amazon Texttract este optim pentru extragerea textului dens, cu acuratețe OCR de vârf în industrie. Puteți folosi DetectDocumentText API pentru a detecta liniile de text și cuvintele care alcătuiesc o linie de text, așa cum este ilustrat în figura următoare.

Extragerea datelor nestructurate

Consultați următorul cod:

response = textract.detect_document_text(Document={'Bytes': imageBytes})

# Print detected text
for item in response["Blocks"]:
	if item["BlockType"] == "LINE":
 		print (item["Text"])

Acum rulăm detect_document_text() metoda pe imaginea eșantion și obțineți extragerea textului brut în rezultate.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Facturi și chitanțe

Amazon Texttract oferă asistență specializată pentru procesarea facturilor și a chitanțelor la scară. The Analizați Cheltuielile API poate extrage date etichetate în mod explicit, date implicite și elemente rând dintr-o listă detaliată de bunuri sau servicii din aproape orice factură sau chitanță fără nici un șabloane sau configurație. Figura următoare ilustrează acest proces.

Extragere facturi si chitante

Consultați următorul cod:

response = textract.analyze_expense(
    Document={
        'S3Object': {
            'Bucket': s3BucketName,
            'Name': documentName
        }
    })

Amazon Texttract poate găsi numele vânzătorului pe o chitanță, chiar dacă este indicat doar într-un logo de pe pagină fără o etichetă explicită numită „furnizor”. De asemenea, poate găsi și extrage articole de cheltuieli, cantitate și prețuri care nu sunt etichetate cu antete de coloană pentru elementele rând.

Analizați răspunsul API de cheltuieli

Acte de identitate

Textul Amazonului Analizați ID API vă poate ajuta să extrageți automat informații din documentele de identificare, cum ar fi permisele de conducere și pașapoartele, fără a fi nevoie de șabloane sau configurații. Putem extrage informații specifice, cum ar fi data de expirare și data nașterii, precum și să identificăm și să extragem în mod inteligent informații implicite, cum ar fi numele și adresa. Următoarea diagramă ilustrează acest proces.

Extragerea actelor de identitate

Consultați următorul cod:

textract_client = boto3.client('textract')
j = call_textract_analyzeid(document_pages=["s3://amazon-textract-public-content/analyzeid/driverlicense.png"],boto3_textract_client=textract_client)

Putem folosi tabulate pentru a obține o ieșire destul de imprimată:

from tabulate import tabulate

print(tabulate([x[1:3] for x in result]))

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Vă recomandăm să parcurgeți extragerea detaliată a documentului cod simplu pe GitHub. Pentru mai multe informații despre exemplele complete de cod din această postare, consultați GitHub repo.

Concluzie

În această primă postare a unei serii din două părți, am discutat despre diferitele etape ale IDP și despre o arhitectură a soluției. De asemenea, am discutat despre clasificarea documentelor folosind un clasificator personalizat Amazon Comprehend. În continuare, am explorat modalitățile în care puteți utiliza Amazon Texttract pentru a extrage informații din tipuri de documente nestructurate, semistructurate, structurate și specializate.

In parte 2 din această serie, continuăm discuția cu funcțiile de extragere și interogări ale Amazon Texttract. Ne uităm la modul de utilizare a entităților predefinite Amazon Comprehend și a entităților personalizate pentru a extrage termeni cheie de afaceri din documente cu text dens și cum să integrăm o analiză Amazon A2I uman-în-buclă în procesele dumneavoastră IDP.

Vă recomandăm să examinați secțiunile de securitate ale Text Amazon, Amazon Comprehend, și Amazon A2I documentație și respectând îndrumările furnizate. De asemenea, acordați-vă un moment pentru a examina și înțelege prețul pentru Text Amazon, Amazon Comprehend, și Amazon A2I.


Despre autori

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai. Suprakash Dutta este arhitect 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ă.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Sonali Sahu conduce echipa de arhitect de soluții AI/ML de procesare inteligentă a documentelor la Amazon Web Services. Este o tehnofilă pasionată și îi place să lucreze cu clienții pentru a rezolva probleme complexe folosind inovația. Domeniul ei de interes este inteligența artificială și învățarea automată pentru procesarea inteligentă a documentelor.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Anjan Biswas este un arhitect senior de soluții de servicii AI, cu accent pe AI/ML și pe analiza datelor. Anjan face parte din echipa de servicii AI la nivel mondial și lucrează cu clienții pentru a-i ajuta să înțeleagă și să dezvolte soluții la problemele de afaceri cu AI și ML. Anjan are peste 14 ani de experiență de lucru cu lanțul global de aprovizionare, producție și organizații de vânzare cu amănuntul și ajută în mod activ clienții să înceapă și să se extindă pe serviciile AWS AI.

Procesarea inteligentă a documentelor cu serviciile AWS AI: Partea 1 PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Chinmayee Rane este arhitect specializat în soluții AI/ML la Amazon Web Services. Este pasionată de matematică aplicată și învățare automată. Ea se concentrează pe proiectarea de soluții inteligente de procesare a documentelor pentru clienții AWS. În afara serviciului, îi place dansul salsa și bachata.

Timestamp-ul:

Mai mult de la Învățare automată AWS