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

Inteligentna obdelava dokumentov s storitvami AI AWS: 2. del

Amazonova inteligentna obdelava dokumentov (IDP) vam pomaga pospešiti cikle poslovnih odločitev in zmanjšati stroške. V več panogah morajo stranke med svojim poslovanjem obdelati na milijone dokumentov na leto. Za stranke, ki obdelujejo milijone dokumentov, je to kritičen vidik za izkušnjo končnega uporabnika in glavna prednostna naloga digitalne preobrazbe. Zaradi različnih formatov večina podjetij ročno obdeluje dokumente, kot so dokumenti W2, zahtevki, osebni dokumenti, računi in pravne pogodbe, ali uporablja starejše rešitve OCR (optično prepoznavanje znakov), ki so dolgotrajne, nagnjene k napakam in drage. Cevovod IDP s storitvami umetne inteligence AWS vam omogoča, da presežete OCR z natančnejšim in vsestranskim pridobivanjem informacij, hitreje obdelujete dokumente, prihranite denar in preusmerite vire k nalogam višje vrednosti.

V tej seriji podajamo pregled cevovoda IDP za zmanjšanje količine časa in truda, ki je potreben za vnos dokumenta in pridobivanje ključnih informacij v nadaljnjih sistemih. Naslednja slika prikazuje stopnje, ki so običajno del poteka dela IDP.

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

Pregled rešitev

Naslednja referenčna arhitektura prikazuje, kako lahko uporabljate storitve umetne inteligence AWS, kot je Amazonovo besedilo in Amazonsko razumevanje, skupaj z drugimi storitvami AWS za izvajanje poteka dela IDP. V 1. delu smo opisali stopnje zajema podatkov in klasifikacije dokumentov, kjer smo kategorizirali in označili dokumente, kot so bančni izpiski, računi in potrdila. Razpravljali smo tudi o fazi ekstrakcije, kjer lahko iz svojih dokumentov izvlečete pomembne poslovne informacije. V tej objavi razširimo cevovod IDP tako, da pogledamo privzete in prilagojene entitete Amazon Comprehend v fazi ekstrakcije, izvedemo obogatitev dokumentov in si na kratko ogledamo tudi zmožnosti Amazon, razširjeni AI (Amazon A2I), da se v fazi pregleda in potrjevanja vključi človeška pregledovalna delovna sila.

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

Uporabljamo tudi Amazon Comprehend Medical kot del te rešitve, ki je storitev za natančno in hitro pridobivanje informacij iz nestrukturiranega medicinskega besedila in prepoznavanje odnosov med ekstrahiranimi zdravstvenimi informacijami ter povezovanje z medicinskimi ontologijami, kot so ICD-10-CM, RxNorm in SNOMED CT.

Amazon A2I je storitev strojnega učenja (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 se integrira z Amazonovo besedilo in Amazonsko razumevanje da vam omogočimo uvedbo korakov človeškega pregleda v vaš potek dela IDP.

Predpogoji

Preden začnete, si oglejte del 1 za pregled IDP na visoki ravni in podrobnosti o stopnjah zajemanja, razvrščanja in ekstrakcije podatkov.

Faza ekstrakcije

V 1. delu te serije smo razpravljali o tem, kako lahko uporabimo funkcije Amazon Texttract za natančno pridobivanje podatkov za vse vrste dokumentov. Za razširitev te faze uporabljamo predhodno usposobljene entitete Amazon Comprehend in prepoznavalnik entitet po meri Amazon Comprehend za nadaljnje ekstrahiranje dokumentov. Namen prepoznavalnika entitet po meri je identificirati specifične entitete in ustvariti metapodatke po meri v zvezi z našimi dokumenti v CSV ali človeku berljivi obliki, ki jih bodo kasneje analizirali poslovni uporabniki.

Priznavanje imenovanega subjekta

Prepoznavanje poimenovanih entitet (NER) je podnaloga obdelave naravnega jezika (NLP), ki vključuje prebiranje besedilnih podatkov za iskanje samostalniških besednih zvez, imenovanih poimenovane entitete, in kategorizacijo vsake z oznako, kot so znamka, datum, dogodek, lokacija, organizacije , oseba, količina ali naziv. Na primer, v izjavi »Pred kratkim sem se naročil na Amazon Prime« je Amazon Prime imenovani subjekt in ga je mogoče kategorizirati kot blagovno znamko.

Amazon Comprehend vam omogoča zaznavanje takšnih entitet po meri v vašem dokumentu. Vsaka entiteta ima tudi oceno stopnje zaupanja, ki jo Amazon Comprehend vrne za vsako vrsto entitete. Naslednji diagram prikazuje postopek prepoznavanja entitete.

Prepoznavanje poimenovane entitete z Amazon Comprehend

Če želite pridobiti entitete iz besedilnega dokumenta, pokličemo comprehend.detect_entities() in konfigurirajte jezikovno kodo in besedilo kot vhodna parametra:

def get_entities(text):
    try:
        #detect entities
        entities = comprehend.detect_entities(LanguageCode="en", Text=text)  
        df = pd.DataFrame(entities["Entities"], columns = ['Text', 'Type'])
        display(HTML(df.to_html(index=False)))
    except Exception as e:
        print(e)

Vodimo get_entities() metodo na bančnem dokumentu in pridobite seznam subjektov v rezultatih.

Odziv metode get_entities podjetja Comprehend.

Čeprav je pridobivanje entitet delovalo dokaj dobro pri prepoznavanju privzetih tipov entitet za vse v bančnem dokumentu, želimo, da se za naš primer uporabe prepoznajo določene entitete. Natančneje, na bančnem izpisku moramo identificirati številke varčevalnih in tekočih računov stranke. Te ključne poslovne izraze lahko izluščimo s pomočjo prepoznavanja subjektov po meri Amazon Comprehend.

Usposobite model za prepoznavanje entitet po meri Amazon Comprehend

Za odkrivanje določenih subjektov, ki nas zanimajo na bančnem izpisku stranke, usposobimo prepoznavanje subjektov po meri z dvema entitetama po meri: SAVINGS_AC in CHECKING_AC.

Nato urimo model za prepoznavanje entitet po meri. Izberemo lahko enega od dveh načinov za zagotavljanje podatkov Amazon Comprehend: opombe ali sezname entitet.

Metoda opomb lahko pogosto vodi do bolj izpopolnjenih rezultatov za slikovne datoteke, PDF-je ali Wordove dokumente, ker model usposobite tako, da skupaj z dokumenti pošljete natančnejši kontekst kot opombe. Vendar je metoda opomb lahko zamudna in delovno intenzivna. Za poenostavitev te objave v spletnem dnevniku uporabljamo metodo seznamov entitet, ki jo lahko uporabite samo za dokumente z navadnim besedilom. Ta metoda nam daje datoteko CSV, ki mora vsebovati golo besedilo in njegovo ustrezno vrsto entitete, kot je prikazano v prejšnjem primeru. Entitete v tej datoteki bodo specifične za naše poslovne potrebe (številke varčevalnih in tekočih računov).

Za več podrobnosti o tem, kako pripraviti podatke o usposabljanju za različne primere uporabe z uporabo opomb ali metod seznamov entitet, glejte Priprava podatkov o usposabljanju.

Naslednji posnetek zaslona prikazuje primer našega seznama entitet.

Posnetek seznama entitet.

Ustvarite končno točko NER po meri Amazon Comprehend v realnem času

Nato ustvarimo končno točko prepoznavalnika entitet po meri v realnem času z uporabo modela, ki smo ga usposobili. Uporabljamo Ustvari končno točko API prek comprehend.create_endpoint() metoda za ustvarjanje končne točke v realnem času:

#create comprehend endpoint
model_arn = entity_recognizer_arn
ep_name = 'idp-er-endpoint'

try:
    endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ER_ENDPOINT_ARN=endpoint_response['EndpointArn']
    print(f'Endpoint created with ARN: {ER_ENDPOINT_ARN}')
    %store ER_ENDPOINT_ARN
except Exception as error:
    if error.response['Error']['Code'] == 'ResourceInUseException':
        print(f'An endpoint with the name "{ep_name}" already exists.')
        ER_ENDPOINT_ARN = f'arn:aws:comprehend:{region}:{account_id}:entity-recognizer-endpoint/{ep_name}'
        print(f'The classifier endpoint ARN is: "{ER_ENDPOINT_ARN}"')
        %store ER_ENDPOINT_ARN
    else:
        print(error)

Ko usposobimo prepoznavanje entitet po meri, uporabimo končno točko v realnem času po meri, da iz dokumenta izvlečemo nekaj obogatenih informacij in nato izvedemo redigiranje dokumenta s pomočjo entitet po meri, ki jih prepozna Amazon Comprehend, in informacij o omejevalnem polju iz Amazon Texttract.

Faza obogatitve

V fazi obogatitve dokumentov lahko izvedemo obogatitev dokumentov z redigiranjem osebno določljivih podatkov (PII), ekstrakcijo poslovnih izrazov po meri ipd. Naš prejšnji vzorčni dokument (bančni izpisek) vsebuje številke varčevalnih in tekočih računov strank, ki jih želimo redigirati. Ker te entitete po meri že poznamo s pomočjo našega modela NER po meri Amazon Comprehend, lahko preprosto uporabimo podatkovni tip geometrije Amazon Texttract za redigiranje teh entitet PII, kjer koli se pojavijo v dokumentu. V naslednji arhitekturi redigiramo ključne poslovne pogoje (varčevalni in tekoči računi) iz dokumenta bančnega izpiska.

Faza obogatitve dokumentov.

Kot lahko vidite v naslednjem primeru, sta številki tekočega in varčevalnega računa zdaj skriti na bančnem izpisku.

Popravljen vzorec bančnega izpiska.

Tradicionalne rešitve OCR težko natančno izvlečejo podatke iz večine nestrukturiranih in polstrukturiranih dokumentov zaradi znatnih razlik v tem, kako so podatki razporejeni v več različicah in oblikah teh dokumentov. Nato boste morda morali implementirati logiko predprocesiranja po meri ali celo ročno ekstrahirati informacije iz teh dokumentov. V tem primeru cevovod IDP podpira dve funkciji, ki ju lahko uporabite: poizvedbe NER po meri Amazon Comprehend in Amazon Texttract. Obe storitvi uporabljata NLP za pridobivanje vpogledov v vsebino dokumentov.

Ekstrakcija s poizvedbami Amazon Texttract

Pri obdelavi dokumenta z Amazon Texttract lahko svoji analizi dodate funkcijo novih poizvedb, da določite, katere informacije potrebujete. To vključuje posredovanje vprašanja NLP, kot je "Kakšna je številka socialnega zavarovanja stranke?" v Amazon Texttract. Amazon Texttract poišče informacije v dokumentu za to vprašanje in jih vrne v strukturi odgovora, ki je ločena od preostalih informacij v dokumentu. Poizvedbe je mogoče obdelati samostojno ali v kombinaciji s katerimi koli drugimi FeatureType, Kot je Tables or Forms.

Ekstrakcija na podlagi poizvedb z uporabo Amazon Texttract.

S poizvedbami Amazon Texttract lahko izvlečete informacije z visoko natančnostjo, ne glede na to, kako so podatki razporejeni v strukturi dokumenta, kot so obrazci, tabele in potrditvena polja, ali v ugnezdenih razdelkih v dokumentu.

Za predstavitev funkcije poizvedb iz dokumentov, kot je kartica cepljenja proti COVID-19, izvlečemo dragocene informacije, kot so bolnikovo ime in priimek, proizvajalec odmerka in podobno.

Vzorec kartice cepljenja.

Mi uporabljamo textract.analyze_document() funkcijo in določite FeatureType as QUERIES kot tudi dodajte poizvedbe v obliki vprašanj naravnega jezika v QueriesConfig.

Naslednja koda je bila zaradi poenostavitve okrnjena. Za celotno kodo si oglejte GitHub vzorčna koda za analyze_document().

response = None
with open(image_filename, 'rb') as document:
    imageBytes = bytearray(document.read())

# Call Textract
response = textract.analyze_document(
    Document={'Bytes': imageBytes},
    FeatureTypes=["QUERIES"],
    QueriesConfig={
            "Queries": [{
                "Text": "What is the date for the 1st dose covid-19?",
                "Alias": "COVID_VACCINATION_FIRST_DOSE_DATE"
            },
# code trimmed down for simplification
#..
]
}) 

Za funkcijo poizvedb je textract.analyze_document() funkcija izpiše vse OCR BESEDE in ČRTE, informacije o geometriji in rezultate zaupanja v odgovor JSON. Lahko pa samo natisnemo informacije, ki smo jih zahtevali.

Document je funkcija ovoja, ki se uporablja za pomoč pri razčlenjevanju odziva JSON iz API-ja. Zagotavlja visokonivojsko abstrakcijo in omogoča ponavljanje izhoda API-ja ter enostavno pridobivanje informacij. Za več informacij glejte Razčlenjevalnik odziva besedila in Textractor GitHub repos. Ko obdelamo odgovor, dobimo naslednje informacije, kot je prikazano na posnetku zaslona.

import trp.trp2 as t2
from tabulate import tabulate

d = t2.TDocumentSchema().load(response)
page = d.pages[0]

query_answers = d.get_query_answers(page=page)

print(tabulate(query_answers, tablefmt="github"))

Odziv iz ekstrakcije poizvedb.

Faza pregleda in validacije

To je zadnja faza našega načrta IDP. V tej fazi lahko s poslovnimi pravili preverimo popolnost dokumenta. Na primer, iz dokumenta o zavarovalnih zahtevkih se ID zahtevka izvleče natančno in uspešno. Uporabljamo lahko brezstrežniške tehnologije AWS, kot je npr AWS Lambda za nadaljnjo avtomatizacijo teh poslovnih pravil. Poleg tega lahko vključimo človeško delovno silo za preglede dokumentov, da zagotovimo točnost napovedi. Amazon A2I pospeši gradnjo delovnih tokov, potrebnih za človeški pregled za napovedi ML.

Z Amazon A2I lahko dovolite človeškim pregledovalcem, da vskočijo, ko model ne more narediti napovedi z visoko stopnjo zaupanja, ali da sproti revidirajo njegove napovedi. Cilj cevovoda IDP je zmanjšati količino človeškega vložka, ki je potreben za pridobitev natančnih informacij v vaše sisteme odločanja. Z IDP lahko zmanjšate količino človeškega vnosa v procese vaših dokumentov in tudi skupne stroške obdelave dokumentov.

Ko iz dokumentov izvlečete vse točne informacije, lahko dodatno dodate poslovno specifična pravila z uporabo funkcij Lambda in končno integrirate rešitev z nadaljnjimi bazami podatkov ali aplikacijami.

Faza človeškega pregleda in preverjanja.

Za več informacij o tem, kako ustvariti potek dela Amazon A2I, sledite navodilom v Priprava na 4. modul korak na koncu 03-idp-document-enrichment.ipynb v našem GitHub repo.

Čiščenje

Če želite preprečiti prihodnje bremenitve vašega računa AWS, izbrišite vire, ki smo jih zagotovili pri nastavitvi repozitorija, tako da se pomaknete do Oddelek za čiščenje v našem repoju.

zaključek

V tej objavi v dveh delih smo videli, kako zgraditi cevovod IDP od konca do konca z malo ali brez izkušenj z ML. Razpravljali smo o različnih fazah priprave in praktični rešitvi s storitvami umetne inteligence AWS, kot so Amazon Texttract, Amazon Comprehend, Amazon Comprehend Medical in Amazon A2I za načrtovanje in gradnjo primerov uporabe, specifičnih za industrijo. V prva objava serije smo pokazali, kako uporabiti Amazon Texttract in Amazon Comprehend za pridobivanje informacij iz različnih dokumentov. V tej objavi smo se poglobljeno poglobili v to, kako usposobiti prepoznavalnik entitet po meri Amazon Comprehend za ekstrahiranje entitet po meri iz naših dokumentov. Izvedli smo tudi tehnike obogatitve dokumentov, kot je redakcija z uporabo Amazon Texttract, kot tudi seznam entitet iz Amazon Comprehend. Končno smo videli, kako lahko uporabite delovni tok človeškega pregleda Amazon A2I za Amazon Texttract, tako da vključite zasebno delovno skupino.

Za več informacij o vzorcih celotne kode v tej objavi glejte GitHub repo.

Priporočamo, da pregledate varnostne razdelke Amazonovo besedilo, Amazonsko razumevanjein Amazon A2I dokumentacijo in upoštevajte navedena navodila. 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: 2. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai. Chin 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.

Inteligentna obdelava dokumentov s storitvami AI AWS: 2. 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. Njena glavna področja osredotočanja sta umetna inteligenca in strojno učenje za inteligentno obdelavo dokumentov.

Inteligentna obdelava dokumentov s storitvami AI AWS: 2. del PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Anjan Biswas je višji arhitekt za rešitve, specialist za AI/ML. Anjan dela s podjetniškimi strankami in je navdušen nad razvojem, uvajanjem in razlago AI/ML, analitike podatkov in rešitev za velike količine podatkov. 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 na AWS.

Inteligentna obdelava dokumentov s storitvami AI AWS: 2. 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. Je del skupnosti AI/ML pri AWS in oblikuje rešitve za inteligentno obdelavo dokumentov.

Časovni žig:

Več od Strojno učenje AWS