Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del

Organizacije v panogah, kot so zdravstvo, finance in posojila, pravo, trgovina na drobno in proizvodnja, se morajo pogosto ukvarjati s številnimi dokumenti v svojih vsakodnevnih poslovnih procesih. Ti dokumenti vsebujejo kritične informacije, ki so ključne za pravočasno sprejemanje odločitev, da se ohrani najvišja raven zadovoljstva strank, hitrejše vključevanje strank in manjši odliv strank. V večini primerov se dokumenti obdelujejo ročno, da se pridobijo informacije in vpogledi, kar je zamudno, nagnjeno k napakam, drago in težko za skaliranje. Danes je na voljo omejena avtomatizacija za obdelavo in pridobivanje informacij iz teh dokumentov. Inteligentna obdelava dokumentov (IDP) s storitvami umetne inteligence (AI) AWS pomaga avtomatizirati pridobivanje informacij iz dokumentov različnih vrst in formatov, hitro in z visoko natančnostjo, brez potrebe po spretnostih strojnega učenja (ML). Hitrejše pridobivanje informacij z visoko natančnostjo pomaga pri pravočasnem sprejemanju kvalitetnih poslovnih odločitev, hkrati pa zmanjša skupne stroške.

Čeprav se stopnje v delovnem toku IDP lahko razlikujejo in nanje vplivajo primer uporabe in poslovne zahteve, naslednja slika prikazuje stopnje, ki so običajno del delovnega toka IDP. Obdelava dokumentov, kot so davčni obrazci, zahtevki, zdravniški izvidi, obrazci za nove stranke, računi, pravne pogodbe in drugo, je le nekaj primerov uporabe za IDP.

V tej dvodelni seriji razpravljamo o tem, kako lahko avtomatizirate in inteligentno obdelate dokumente v velikem obsegu s storitvami AWS AI. V tej objavi razpravljamo o prvih treh fazah poteka dela IDP. notri del 2, razpravljamo o preostalih fazah poteka dela.

Pregled rešitev

Naslednji diagram arhitekture prikazuje stopnje poteka dela IDP. Začne se s stopnjo zajemanja podatkov za varno shranjevanje in združevanje različnih formatov datotek (PDF, JPEG, PNG, TIFF) in postavitev dokumentov. Naslednja stopnja je razvrščanje, kjer kategorizirate svoje dokumente (kot so pogodbe, obrazci zahtevkov, računi ali potrdila), čemur sledi ekstrakcija dokumentov. V fazi ekstrakcije lahko iz dokumentov izvlečete pomembne poslovne informacije. Ti ekstrahirani podatki se pogosto uporabljajo za zbiranje vpogledov z analizo podatkov ali pa se pošljejo nadaljnjim sistemom, kot so baze podatkov ali transakcijski sistemi. Naslednja stopnja je obogatitev, kjer je mogoče dokumente obogatiti z redigiranjem zaščitenih zdravstvenih informacij (PHI) ali osebno določljivih podatkov (PII), ekstrakcijo poslovnih izrazov po meri itd. Končno lahko v fazi pregleda in potrjevanja vključite človeško delovno silo za preglede dokumentov, da zagotovite točnost rezultata.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Za namene te objave upoštevamo niz vzorčnih dokumentov, kot so bančni izpiski, računi in potrdila o trgovini. Vzorce dokumentov skupaj z vzorčno kodo lahko najdete v našem GitHub repozitorij. V naslednjih razdelkih vas vodimo skozi te vzorce kode skupaj z dejansko praktično uporabo. Prikazujemo, kako lahko uporabite zmogljivosti ML Amazonovo besedilo, Amazonsko razumevanjein Amazon, razširjeni AI (Amazon A2I) za obdelavo dokumentov in preverjanje podatkov, pridobljenih iz njih.

Amazon Texttract je storitev ML, ki samodejno izvleče besedilo, rokopis in podatke iz skeniranih dokumentov. Presega preprosto optično prepoznavanje znakov (OCR) za prepoznavanje, razumevanje in ekstrahiranje podatkov iz obrazcev in tabel. Amazon Texttract uporablja ML za branje in obdelavo vseh vrst dokumentov, pri čemer natančno ekstrahira besedilo, rokopis, tabele in druge podatke brez ročnega napora.

Amazon Comprehend je storitev obdelave naravnega jezika (NLP), ki uporablja ML za pridobivanje vpogledov v vsebino dokumentov. Amazon Comprehend lahko identificira kritične elemente v dokumentih, vključno s sklicevanjem na jezik, ljudi in kraje, ter jih razvrsti v ustrezne teme ali skupine. Izvede lahko analizo razpoloženja za določitev razpoloženja dokumenta v realnem času z uporabo posameznega dokumenta ali paketnega zaznavanja. Na primer, lahko analizira komentarje na objavo v spletnem dnevniku, da ugotovi, ali je objava vašim bralcem všeč ali ne. Amazon Comprehend zazna tudi PII, kot so naslovi, številke bančnih računov in telefonske številke v besedilnih dokumentih v realnem času in asinhronih paketnih opravilih. Prav tako lahko popravi entitete PII v asinhronih paketnih opravilih.

Amazon A2I je storitev ML, ki olajša gradnjo delovnih tokov, potrebnih za človeški pregled. Amazon A2I prinaša človeški pregled vsem razvijalcem, s čimer odstrani nediferencirano težko delo, povezano z gradnjo sistemov človeškega pregleda ali upravljanjem velikega števila človeških pregledovalcev, ne glede na to, ali deluje na AWS ali ne. Amazon A2I združuje oboje z Amazonovo besedilo in Amazonsko razumevanje da vam omogočimo uvedbo korakov človeškega pregleda v vaš potek dela inteligentne obdelave dokumentov.

Faza zajema podatkov

Dokumente lahko shranjujete v zelo razširljivo in vzdržljivo shrambo, kot je Preprosta storitev shranjevanja Amazon (Amazon S3). Amazon S3 je storitev za shranjevanje objektov, ki ponuja vodilno razširljivost, razpoložljivost podatkov, varnost in zmogljivost v industriji. Amazon S3 je zasnovan za 11 9 vzdržljivosti in shranjuje podatke za milijone strank po vsem svetu. Dokumenti so lahko v različnih oblikah in postavitvah ter lahko prihajajo iz različnih kanalov, kot so spletni portali ali e-poštne priloge.

Faza razvrščanja

V prejšnjem koraku smo zbrali dokumente različnih vrst in formatov. V tem koraku moramo dokumente kategorizirati, preden lahko izvedemo nadaljnjo ekstrakcijo. Za to uporabljamo Amazon Comprehend klasifikacija po meri. Klasifikacija dokumentov je postopek v dveh korakih. Najprej usposobite klasifikator po meri Amazon Comprehend za prepoznavanje razredov, ki vas zanimajo. Nato razmestite model z a končna točka klasifikatorja po meri v realnem času in pošiljanje neoznačenih dokumentov na končno točko v realnem času, da jih razvrstijo.

Naslednja slika predstavlja tipičen potek dela za klasifikacijo dokumentov.

Faza razvrščanja

Če želite usposobiti klasifikatorja, določite razrede, ki vas zanimajo, in zagotovite vzorčne dokumente za vsakega od razredov kot gradivo za usposabljanje. Na podlagi možnosti, ki ste jih navedli, Amazon Comprehend ustvari model ML po meri, ki ga usposablja na podlagi dokumentov, ki ste jih posredovali. Ta model po meri (klasifikator) pregleda vsak dokument, ki ga oddate. Vrne določen razred, ki najbolje predstavlja vsebino (če uporabljate način z več razredi), ali nabor razredov, ki veljajo zanj (če uporabljate način z več oznakami).

Pripravite podatke o usposabljanju

Prvi korak je ekstrahiranje besedila iz dokumentov, potrebnih za klasifikator po meri Amazon Comprehend. Za pridobivanje informacij o neobdelanem besedilu za vse dokumente v Amazon S3 uporabljamo Amazon Texttract detect_document_text() API. Podatke tudi označimo glede na vrsto dokumenta, ki se uporablja za usposabljanje klasifikatorja Amazon Comprehend po meri.

Naslednja koda je bila zaradi poenostavitve okrnjena. Za celotno kodo glejte GitHub vzorčna koda za textract_extract_text(). Funkcija call_textract() je funkcija wr4apper, ki kliče AnalyzeDocument Interni API in parametri, posredovani metodi, abstrahirajo nekatere konfiguracije, ki jih API potrebuje za izvajanje naloge ekstrakcije.

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)        

Usposobite klasifikator po meri

V tem koraku uporabimo klasifikacijo po meri Amazon Comprehend za usposabljanje našega modela za razvrščanje dokumentov. Uporabljamo CreateDocumentClassifier API za ustvarjanje klasifikatorja, ki uri model po meri z uporabo naših označenih podatkov. Oglejte si naslednjo kodo:

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'
    )

Namestite končno točko v realnem času

Za uporabo klasifikatorja po meri Amazon Comprehend ustvarimo končno točko v realnem času z uporabo CreateEndpoint API-ji:

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}')  

Razvrstite dokumente s končno točko v realnem času

Ko je končna točka Amazon Comprehend ustvarjena, lahko uporabimo končno točko v realnem času za razvrščanje dokumentov. Uporabljamo comprehend.classify_document() funkcija z ekstrahiranim besedilom dokumenta in končno točko sklepanja kot vhodnimi parametri:

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

Amazon Comprehend vrne vse razrede dokumentov z oceno zaupanja, povezano z vsakim razredom v nizu parov ključ-vrednost (ime-ocena). Izberemo razred dokumenta z najvišjo oceno zaupanja. Naslednji posnetek zaslona je vzorec odgovora.

Razvrstite dokumente s končno točko v realnem času

Priporočamo, da si ogledate vzorčno kodo podrobne klasifikacije dokumentov GitHub.

Faza ekstrakcije

Amazon Texttract vam omogoča ekstrahiranje besedila in informacij o strukturiranih podatkih z uporabo Amazon Texttract DetectDocumentText in AnalyzeDocument API-jev oz. Ti API-ji se odzivajo s podatki JSON, ki vsebujejo BESEDE, ČRTICE, OBRAZCE, TABELE, podatke o geometriji ali omejevalnem polju, relacije itd. Oboje DetectDocumentText in AnalyzeDocument so sinhrone operacije. Za asinhrono analizo dokumentov uporabite StartDocumentTextDetection.

Strukturirano pridobivanje podatkov

Iz dokumentov lahko ekstrahirate strukturirane podatke, kot so tabele, hkrati pa ohranite podatkovno strukturo in razmerja med odkritimi elementi. Lahko uporabite AnalyzeDocument API z FeatureType as TABLE za odkrivanje vseh tabel v dokumentu. Naslednja slika prikazuje ta postopek.

Strukturirano pridobivanje podatkov

Glej naslednjo kodo:

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

Vodimo analyze_document() metoda z FeatureType as TABLES na dokumentu zgodovine zaposlenega in pridobite izvleček tabele v naslednjih rezultatih.

Analizirajte odziv API-ja dokumenta za ekstrakcijo tabel

Polstrukturirano pridobivanje podatkov

Iz dokumentov lahko izvlečete polstrukturirane podatke, kot so obrazci ali pari ključ-vrednost, hkrati pa ohranite podatkovno strukturo in razmerja med odkritimi elementi. Lahko uporabite AnalyzeDocument API z FeatureType as FORMS za odkrivanje vseh obrazcev v dokumentu. Naslednji diagram prikazuje ta postopek.

Polstrukturirano pridobivanje podatkov

Glej naslednjo kodo:

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

Tukaj vodimo analyze_document() metoda z FeatureType as FORMS na dokumentu prijave zaposlenega in pridobite izvleček tabele v rezultatih.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Nestrukturirano pridobivanje podatkov

Amazon Texttract je optimalen za ekstrakcijo gostega besedila z vodilno natančnostjo OCR v industriji. Lahko uporabite DetectDocumentText API za zaznavanje vrstic besedila in besed, ki sestavljajo vrstico besedila, kot je prikazano na naslednji sliki.

Nestrukturirano pridobivanje podatkov

Glej naslednjo kodo:

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

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

Zdaj izvajamo detect_document_text() metodo na vzorčni sliki in pridobite ekstrakcijo neobdelanega besedila v rezultatih.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Računi in potrdila

Amazon Texttract zagotavlja specializirano podporo za obdelavo računov in potrdil v velikem obsegu. The AnalyzeExpense API lahko izvleče eksplicitno označene podatke, implicitne podatke in vrstične postavke iz razčlenjenega seznama blaga ali storitev iz skoraj katerega koli računa ali potrdila brez kakršnih koli predlog ali konfiguracije. Naslednja slika prikazuje ta postopek.

Izvleček računov in potrdil

Glej naslednjo kodo:

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

Amazon Texttract lahko najde ime prodajalca na potrdilu, tudi če je navedeno le v logotipu na strani brez izrecne oznake, imenovane »prodajalec«. Prav tako lahko poišče in izvleče postavke stroškov, količine in cene, ki niso označene z naslovi stolpcev za postavke vrstic.

Analizirajte odziv API-ja za stroške

Osebni dokumenti

Amazonski izvleček AnalyzeID API vam lahko pomaga samodejno izvleči informacije iz identifikacijskih dokumentov, kot so vozniška dovoljenja in potni listi, brez potrebe po predlogah ali konfiguraciji. Izluščimo lahko posebne informacije, kot sta datum poteka in datum rojstva, ter inteligentno identificiramo in izvlečemo implicitne informacije, kot sta ime in naslov. Naslednji diagram prikazuje ta postopek.

Odvzem osebnih dokumentov

Glej naslednjo kodo:

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

Lahko uporabimo tabulate da dobite lepo natisnjen izpis:

from tabulate import tabulate

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

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Priporočamo, da pregledate podrobno ekstrakcijo dokumenta vzorčna koda na GitHubu. Za več informacij o vzorcih celotne kode v tej objavi glejte GitHub repo.

zaključek

V tej prvi objavi dvodelne serije smo razpravljali o različnih stopnjah IDP in arhitekturi rešitve. Razpravljali smo tudi o klasifikaciji dokumentov z uporabo klasifikatorja po meri Amazon Comprehend. Nato smo raziskali načine, kako lahko uporabite Amazon Texttract za pridobivanje informacij iz nestrukturiranih, polstrukturiranih, strukturiranih in specializiranih vrst dokumentov.

In del 2 te serije nadaljujemo razpravo s funkcijami izvlečkov in poizvedb Amazon Texttract. Ogledamo si, kako uporabiti vnaprej določene entitete in entitete po meri Amazon Comprehend za pridobivanje ključnih poslovnih izrazov iz dokumentov z gostim besedilom in kako integrirati pregled Amazon A2I s človekom v zanki v vaše procese IDP.

Priporočamo, da pregledate varnostne razdelke Amazonovo besedilo, Amazonsko razumevanjein Amazon A2I dokumentacijo in upoštevanje navedenih smernic. Vzemite si tudi trenutek za pregled in razumevanje cen za Amazonovo besedilo, Amazonsko razumevanjein Amazon A2I.


O avtorjih

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai. Suprakash Dutta je arhitekt rešitev pri Amazon Web Services. Osredotoča se na strategijo digitalne transformacije, posodobitev in migracijo aplikacij, podatkovno analitiko in strojno učenje.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Sonali Sahu je vodilna skupina arhitektov rešitev AI/ML za inteligentno obdelavo dokumentov pri Amazon Web Services. Je strastna tehnofilka in uživa v delu s strankami pri reševanju kompleksnih problemov z uporabo inovacij. Njeno osrednje področje je umetna inteligenca in strojno učenje za inteligentno obdelavo dokumentov.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Anjan Biswas je višji arhitekt rešitev za storitve AI s poudarkom na AI/ML in analitiki podatkov. Anjan je del svetovne ekipe za storitve AI in sodeluje s strankami, da bi jim pomagal razumeti in razviti rešitve za poslovne težave z AI in ML. Anjan ima več kot 14 let izkušenj pri delu z globalno dobavno verigo, proizvodnjo in maloprodajnimi organizacijami ter strankam dejavno pomaga pri začetku in širitvi storitev umetne inteligence AWS.

Inteligentna obdelava dokumentov s storitvami AI AWS: 1. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Chinmayee Rane je specialist za rešitve AI/ML pri Amazon Web Services. Navdušena je nad uporabno matematiko in strojnim učenjem. Osredotoča se na oblikovanje inteligentnih rešitev za obdelavo dokumentov za stranke AWS. Zunaj službe uživa v plesu salse in bachate.

Časovni žig:

Več od Strojno učenje AWS