Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Določite in izvlecite informacije iz dokumentov z uporabo nove funkcije Queries v Amazon Texttract

Amazonovo besedilo je storitev strojnega učenja (ML), ki samodejno izvleče besedilo, rokopis in podatke iz katerega koli dokumenta ali slike. Amazon Texttract zdaj ponuja prilagodljivost za določanje podatkov, ki jih morate izvleči iz dokumentov, z uporabo nove funkcije poizvedb v API-ju Analyze Document. Ni vam treba poznati strukture podatkov v dokumentu (tabela, obrazec, implicitno polje, ugnezdeni podatki) ali skrbeti za razlike med različicami in oblikami dokumenta.

V tej objavi razpravljamo o naslednjih temah:

  • Zgodbe o uspehu strank AWS in prednosti nove funkcije Queries
  • Kako API Analyze Document Queries pomaga pridobiti informacije iz dokumentov
  • Predstavitev konzole Amazon Texttract
  • Primeri kode za uporabo API-ja Analyze Document Queries
  • Kako obdelati odgovor s knjižnico razčlenjevalnika Amazon Texttract

Prednosti nove funkcije poizvedb

Tradicionalne rešitve OCR težko natančno izvlečejo podatke iz večine polstrukturiranih in nestrukturiranih dokumentov zaradi znatnih razlik v tem, kako so podatki razporejeni v več različicah in oblikah teh dokumentov. Implementirati morate kodo za naknadno obdelavo po meri ali ročno pregledati ekstrahirane informacije iz teh dokumentov. S funkcijo Poizvedbe lahko podate informacije, ki jih potrebujete, v obliki vprašanj v naravnem jeziku (na primer »Kakšno je ime stranke«) in prejmete natančne informacije (»John Doe«) kot del odgovora API-ja. Funkcija uporablja kombinacijo vizualnih, prostorskih in jezikovnih modelov za ekstrahiranje informacij, ki jih iščete z visoko natančnostjo. Funkcija poizvedb je vnaprej usposobljena za veliko različnih polstrukturiranih in nestrukturiranih dokumentov. Nekateri primeri vključujejo plačilne liste, bančne izpiske, W-2, obrazce za vlogo za posojilo, hipotekarne zapise ter kartice cepiva in zavarovanja.

"Amazon Texttract nam omogoča avtomatizacijo potreb naših strank po obdelavi dokumentov. S funkcijo Poizvedbe bomo lahko še bolj fleksibilno in natančno pridobivali podatke iz različnih dokumentov," je dejal Robert Jansen, glavni izvršni direktor pri TekStream Solutions. "To vidimo kot veliko povečanje produktivnosti za naše poslovne stranke, ki bodo lahko uporabile zmogljivost poizvedb kot del naše rešitve IDP za hitro pridobivanje ključnih informacij iz svojih dokumentov."

"Amazon Texttract nam omogoča ekstrahiranje besedila in strukturiranih elementov, kot so obrazci in tabele, iz slik z visoko natančnostjo. Amazon Texttract Queries nam je pomagal drastično izboljšati kakovost pridobivanja informacij iz več poslovno kritičnih dokumentov, kot so varnostni listi ali specifikacije materialov." je dejal Thorsten Warnecke, ravnatelj | Vodja PC Analytics, Camelot Management Consultants. "Sistem poizvedb v naravnem jeziku ponuja veliko prilagodljivost in natančnost, kar je zmanjšalo našo naknadno obdelavo in nam omogočilo hitrejše dodajanje novih dokumentov v naša orodja za ekstrakcijo podatkov."

Kako API Analyze Document Queries pomaga pridobiti informacije iz dokumentov

Podjetja so povečala svoje sprejemanje digitalnih platform, zlasti v luči pandemije COVID-19. Večina organizacij zdaj ponuja digitalni način za pridobitev svojih storitev in izdelkov z uporabo pametnih telefonov in drugih mobilnih naprav, kar ponuja prilagodljivost uporabnikom, hkrati pa povečuje obseg, v katerem je treba digitalne dokumente pregledati, obdelati in analizirati. Pri nekaterih delovnih obremenitvah, kjer je treba na primer hipotekarne dokumente, kartice cepljenja, plačilne liste, zavarovalne kartice in druge dokumente digitalno analizirati, se lahko zapletenost pridobivanja podatkov eksponentno poveča, ker ti dokumenti nimajo standardne oblike ali imajo znatne razlike v obliki podatkov. v različnih različicah dokumenta.

Celo zmogljive rešitve za OCR težko izvlečejo podatke iz teh dokumentov in morda boste morali za te dokumente uvesti naknadno obdelavo po meri. To vključuje preslikavo možnih različic ključev obrazca v imena polj, ki izvirajo iz strank, ali vključitev strojnega učenja po meri za prepoznavanje določenih informacij v nestrukturiranem dokumentu.

Novi API za analizo poizvedb po dokumentih v storitvi Amazon Texttract lahko sprejema vprašanja v naravnem jeziku, kot je »Kakšna je obrestna mera?« in izvedite zmogljivo analizo AI in ML na dokumentu, da ugotovite želene informacije in jih izvlečete iz dokumenta brez naknadne obdelave. Funkcija poizvedb ne zahteva usposabljanja za model po meri ali nastavitve predlog ali konfiguracij. Hitro lahko začnete tako, da naložite svoje dokumente in navedete vprašanja o teh dokumentih prek konzole Amazon Texttract, Vmesnik ukazne vrstice AWS (AWS CLI) ali AWS SDK.

V naslednjih razdelkih te objave bomo pregledali podrobne primere, kako uporabiti to novo funkcionalnost v običajnih primerih uporabe delovne obremenitve in kako uporabiti API za analizo poizvedb dokumentov, da dodate agilnost procesu digitalizacije vaše delovne obremenitve.

Uporabite funkcijo Queries na konzoli Amazon Texttract

Preden začnemo z API-jem in vzorci kode, si oglejmo konzolo Amazon Texttract. Naslednja slika prikazuje primer kartice cepljenja na Poizvedbe za API Analyze Document na konzoli Amazon Texttract. Ko naložite dokument v konzolo Amazon Texttract, izberite Poizvedbe v Konfigurirajte dokument razdelek. Nato lahko dodate poizvedbe v obliki vprašanj v naravnem jeziku. Ko dodate vse svoje poizvedbe, izberite Uporabi konfiguracijo. Odgovori na vprašanja se nahajajo na Poizvedbe tab.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Primeri kode

V tem razdelku pojasnjujemo, kako priklicati API za analizo dokumenta s parametrom Queries, da dobite odgovore na vprašanja v naravnem jeziku o dokumentu. Vhodni dokument je v formatu niza bajtov ali pa se nahaja v Preprosta storitev shranjevanja Amazon (Amazon S3) vedro. Bajte slike posredujete operaciji Amazon Texttract API z uporabo lastnosti Bytes. Na primer, lahko uporabite Bytes lastnost za posredovanje dokumenta, naloženega iz lokalnega datotečnega sistema. Bajti slike, posredovani z uporabo Bytes Lastnost mora biti kodirana base64. Vaši kodi morda ne bo treba kodirati bajtov datoteke dokumenta, če uporabljate AWS SDK za klicanje operacij Amazon Texttract API. Lahko pa posredujete slike, shranjene v vedru S3, operaciji Amazon Texttract API z uporabo S3Object premoženje. Za dokumente, shranjene v vedru S3, ni treba, da so kodirani base64.

Funkcijo poizvedb lahko uporabite za pridobivanje odgovorov iz različnih vrst dokumentov, kot so plačilne liste, kartice o cepljenju, hipotekarni dokumenti, bančni izpiski, obrazci W-2, obrazci 1099 in drugi. V naslednjih razdelkih bomo pregledali nekatere od teh dokumentov in pokazali, kako deluje funkcija Poizvedbe.

Paystub

V tem primeru se sprehodimo skozi korake za analizo plačilne liste s funkcijo Poizvedbe, kot je prikazano na naslednji sliki primera.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Uporabljamo naslednjo vzorčno kodo Python:

import boto3
import json #create a Textract Client
textract = boto3.client('textract') image_filename = "paystub.jpg" response = None
with open(image_filename, 'rb') as document: imageBytes = bytearray(document.read()) # Call Textract AnalyzeDocument by passing a document from local disk
response = textract.analyze_document( Document={'Bytes': imageBytes}, FeatureTypes=["QUERIES"], QueriesConfig={ "Queries": [{ "Text": "What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS" }, { "Text": "What is the current gross pay?", "Alias": "PAYSTUB_CURRENT_GROSS" }] })

Naslednja koda je vzorčni ukaz AWS CLI:

aws textract analyze-document —document '{"S3Object":{"Bucket":"your-s3-bucket","Name":"paystub.jpg"}}' —feature-types '["QUERIES"]' —queries-config '{"Queries":[{"Text":"What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS"}]}' 

Analizirajmo odgovor, ki smo ga dobili za dve poizvedbi, ki smo ju v prejšnjem primeru posredovali API-ju Analyze Document. Naslednji odgovor je bil obrezan tako, da prikazuje samo ustrezne dele:

{ "BlockType":"QUERY", "Id":"cbbba2fa-45be-452b-895b-adda98053153", #id of first QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT ] } ], "Query":{ "Text":"What is the year to date gross pay", #First Query "Alias":"PAYSTUB_YTD_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":87.0, "Text":"23,526.80", #Answer to the first Query "Geometry":{...}, "Id":"f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT }, { "BlockType":"QUERY", "Id":"4e2a17f0-154f-4847-954c-7c2bf2670c52", #id of second QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "350ab92c-4128-4aab-a78a-f1c6f6718959"#id of second QUERY_RESULT ] } ], "Query":{ "Text":"What is the current gross pay?", #Second Query "Alias":"PAYSTUB_CURRENT_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":95.0, "Text":"$ 452.43", #Answer to the Second Query "Geometry":{...}, "Id":"350ab92c-4128-4aab-a78a-f1c6f6718959" #id of second QUERY_RESULT }

Odgovor ima a BlockType of QUERY ki prikazuje vprašanje, ki je bilo postavljeno, in a Relationships razdelek, ki ima ID za blok, ki ima odgovor. Odgovor je v BlockType of QUERY_RESULT. Vzdevek, ki je bil posredovan kot vnos API-ju Analyze Document, je vrnjen kot del odgovora in ga je mogoče uporabiti za označevanje odgovora.

Mi uporabljamo Razčlenjevalnik odzivov Amazon Textract da izvlečete samo vprašanja, vzdevek in ustrezne odgovore na ta vprašanja:

import trp.trp2 as t2 d = t2.TDocumentSchema().load(response)
page = d.pages[0] # get_query_answers returns a list of [query, alias, answer]
query_answers = d.get_query_answers(page=page)
for x in query_answers: print(f"{image_filename},{x[1]},{x[2]}") from tabulate import tabulate
print(tabulate(query_answers, tablefmt="github"))

Prejšnja koda vrne naslednje rezultate:

|------------------------------------|-----------------------|-----------|
| What is the current gross pay? | PAYSTUB_CURRENT_GROSS | $ 452.43 |
| What is the year to date gross pay | PAYSTUB_YTD_GROSS | 23,526.80 |

Več vprašanj in celotno kodo najdete v zvezku na GitHub repo.

Hipotekarni zapis

Analyze Document Queries API dobro deluje tudi s hipotekarnimi zapisi, kot so naslednji.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Postopek za klicanje API-ja in obdelavo rezultatov je enak prejšnjemu primeru. Celoten primer kode najdete na GitHub repo.

Naslednja koda prikazuje primere odgovorov, pridobljenih z uporabo API-ja:

|------------------------------------------------------------|----------------------------------|---------------|
| When is this document dated? | MORTGAGE_NOTE_DOCUMENT_DATE | March 4, 2022 |
| What is the note date? | MORTGAGE_NOTE_DATE | March 4, 2022 |
| When is the Maturity date the borrower has to pay in full? | MORTGAGE_NOTE_MATURITY_DATE | April, 2032 |
| What is the note city and state? | MORTGAGE_NOTE_CITY_STATE | Anytown, ZZ |
| what is the yearly interest rate? | MORTGAGE_NOTE_YEARLY_INTEREST | 4.150% |
| Who is the lender? | MORTGAGE_NOTE_LENDER | AnyCompany |
| When does payments begin? | MORTGAGE_NOTE_BEGIN_PAYMENTS | April, 2022 |
| What is the beginning date of payment? | MORTGAGE_NOTE_BEGIN_DATE_PAYMENT | April, 2022 |
| What is the initial monthly payments? | MORTGAGE_NOTE_MONTHLY_PAYMENTS | $ 2500 |
| What is the interest rate? | MORTGAGE_NOTE_INTEREST_RATE | 4.150% |
| What is the principal amount borrower has to pay? | MORTGAGE_NOTE_PRINCIPAL_PAYMENT | $ 500,000 |

Izkaznica o cepljenju

Funkcija Amazon Texttract Queries zelo dobro deluje tudi pri pridobivanju informacij iz kartic cepljenja ali kartic, ki so jim podobne, kot v naslednjem primeru.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Postopek za klicanje API-ja in razčlenjevanje rezultatov je enak kot pri plačilu. Ko obdelamo odgovor, dobimo naslednje podatke:

|------------------------------------------------------------|--------------------------------------|--------------|
| What is the patients first name | PATIENT_FIRST_NAME | Major |
| What is the patients last name | PATIENT_LAST_NAME | Mary |
| Which clinic site was the 1st dose COVID-19 administrated? | VACCINATION_FIRST_DOSE_CLINIC_SITE | XYZ |
| Who is the manufacturer for 1st dose of COVID-19? | VACCINATION_FIRST_DOSE_MANUFACTURER | Pfizer |
| What is the date for the 2nd dose covid-19? | VACCINATION_SECOND_DOSE_DATE | 2/8/2021 |
| What is the patient number | PATIENT_NUMBER | 012345abcd67 |
| Who is the manufacturer for 2nd dose of COVID-19? | VACCINATION_SECOND_DOSE_MANUFACTURER | Pfizer |
| Which clinic site was the 2nd dose covid-19 administrated? | VACCINATION_SECOND_DOSE_CLINIC_SITE | CVS |
| What is the lot number for 2nd dose covid-19? | VACCINATION_SECOND_DOSE_LOT_NUMBER | BB5678 |
| What is the date for the 1st dose covid-19? | VACCINATION_FIRST_DOSE_DATE | 1/18/21 |
| What is the lot number for 1st dose covid-19? | VACCINATION_FIRST_DOSE_LOT_NUMBER | AA1234 |
| What is the MI? | MIDDLE_INITIAL | M |

Celotno kodo najdete v zvezku na GitHub repo.

Zavarovalna kartica

Funkcija Poizvedbe dobro deluje tudi z zavarovalnimi karticami, kot so naslednje.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Postopek za klicanje API-ja in obdelavo rezultatov je enak, kot je prikazano prej. Celoten primer kode je na voljo v zvezku na GitHub repo.

Spodaj so primeri odgovorov, pridobljenih z uporabo API-ja:

|-------------------------------------|-----------------------------------|---------------|
| What is the insured name? | INSURANCE_CARD_NAME | Jacob Michael |
| What is the level of benefits? | INSURANCE_CARD_LEVEL_BENEFITS | SILVER |
| What is medical insurance provider? | INSURANCE_CARD_PROVIDER | Anthem |
| What is the OOP max? | INSURANCE_CARD_OOP_MAX | $6000/$12000 |
| What is the effective date? | INSURANCE_CARD_EFFECTIVE_DATE | 11/02/2021 |
| What is the office visit copay? | INSURANCE_CARD_OFFICE_VISIT_COPAY | $55/0% |
| What is the specialist visit copay? | INSURANCE_CARD_SPEC_VISIT_COPAY | $65/0% |
| What is the member id? | INSURANCE_CARD_MEMBER_ID | XZ 9147589652 |
| What is the plan type? | INSURANCE_CARD_PLAN_TYPE | Pathway X-EPO |
| What is the coinsurance amount? | INSURANCE_CARD_COINSURANCE | 30% |

Najboljše prakse za ustvarjanje poizvedb

Pri oblikovanju poizvedb upoštevajte naslednje najboljše prakse:

  • Na splošno postavite vprašanje v naravnem jeziku, ki se začne z »Kaj je«, »Kje je« ali »Kdo je«. Izjema je, ko poskušate izvleči standardne pare ključ-vrednost; v tem primeru lahko ime ključa posredujete kot poizvedbo.
  • Izogibajte se napačno oblikovanim ali slovnično nepravilnim vprašanjem, ker lahko povzročijo nepričakovane odgovore. Na primer, napačno oblikovana poizvedba je "Kdaj?" medtem ko je dobro oblikovana poizvedba "Kdaj je bil dan prvi odmerek cepiva?"
  • Če je mogoče, za sestavo poizvedbe uporabite besede iz dokumenta. Čeprav funkcija poizvedb poskuša ujemati akronime in sinonime za nekatere pogoste industrijske izraze, kot so »SSN«, »davčna številka« in »številka socialnega zavarovanja«, uporaba jezika neposredno iz dokumenta izboljša rezultate. Na primer, če je v dokumentu napisano "napredek dela", se izogibajte uporabi različic, kot so "napredek projekta", "napredek programa" ali "status dela".
  • Sestavite poizvedbo, ki vsebuje besede iz glave vrstice in glave stolpca. Na primer, v prejšnjem primeru kartice cepljenja, če želite izvedeti datum drugega cepljenja, lahko poizvedbo oblikujete kot "Katerega datuma je bil dan drugi odmerek?"
  • Dolgi odgovori povečajo zakasnitev odziva in lahko povzročijo časovne omejitve. Poskusite postavljati vprašanja, ki odgovarjajo z manj kot 100 besedami.
  • Posredovanje le imena ključa kot vprašanje deluje, ko poskušate iz obrazca izvleči standardne pare ključ-vrednost. Priporočamo oblikovanje popolnih vprašanj za vse druge primere uporabe ekstrakcije.
  • Bodite čim bolj natančni. Na primer:
    • Ko dokument vsebuje več razdelkov (na primer »posojilojemalec« in »soposojilojemalec«) in imata oba razdelka polje z imenom »SSN«, vprašajte »Kaj je SSN za posojilojemalca?« in »Kaj je SSN za soposojilojemalca?«
    • Če ima dokument več polj, povezanih z datumom, bodite natančni v jeziku poizvedbe in vprašajte »Kateri je datum podpisa dokumenta?« ali "Kakšen je datum rojstva aplikacije?" Izogibajte se dvoumnim vprašanjem, kot je "Kakšen je datum?"
  • Če že vnaprej poznate postavitev dokumenta, dajte namige o lokaciji, da izboljšate natančnost rezultatov. Vprašajte na primer "Kateri je datum na vrhu?" ali "Kateri je datum na levi?" ali "Kateri je datum na dnu?"

Za več informacij o funkciji Poizvedbe glejte Izvleček besedila Dokumentacija.

zaključek

V tej objavi smo zagotovili pregled nove funkcije poizvedb storitve Amazon Texttract za hitro in preprosto pridobivanje informacij iz dokumentov, kot so plačilne liste, hipotekarni zapisi, zavarovalne kartice in kartice cepljenja, ki temeljijo na vprašanjih v naravnem jeziku. Opisali smo tudi, kako lahko razčlenite odgovor JSON.

Za več informacij si oglejte Analiziranje dokumentov , ali si oglejte konzolo Amazon Texttract in preizkusite to funkcijo.


O avtorjih

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.Uday Narayanan je starejši arhitekt rešitev pri AWS. Strankam rad pomaga pri iskanju inovativnih rešitev za kompleksne poslovne izzive. Njegova glavna področja so podatkovna analitika, sistemi velikih podatkov in strojno učenje. V prostem času se rad ukvarja s športom, gleda televizijske oddaje in potuje.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.Rafael Caixeta je starejši arhitekt rešitev pri AWS s sedežem v Kaliforniji. Ima več kot 10 let izkušenj z razvojem arhitektur za oblak. Njegova glavna področja so brezstrežniška dela, vsebniki in strojno učenje. V prostem času rad bere leposlovne knjige in potuje po svetu.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai. Navneeth Nair je višji produktni vodja, tehnični pri ekipi Amazon Texttract. Osredotočen je na gradnjo storitev, ki temeljijo na strojnem učenju, za stranke AWS.

Specify and extract information from documents using the new Queries feature in Amazon Textract PlatoBlockchain Data Intelligence. Vertical Search. Ai.Martin Schade je Senior ML Product SA pri ekipi Amazon Texttract. Ima več kot 20 let izkušenj z internetnimi tehnologijami, inženiringom in arhitekturnimi rešitvami. AWS se je pridružil leta 2014, ko je najprej usmerjal nekatere največje stranke AWS k najučinkovitejši in razširljivi uporabi storitev AWS, kasneje pa se je osredotočil na AI/ML s poudarkom na računalniškem vidu. Trenutno je obseden z pridobivanjem informacij iz dokumentov.

Časovni žig:

Več od Strojno učenje AWS