Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Spletne storitve Amazon

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Spletne storitve Amazon

Amazonsko razumevanje je storitev obdelave naravnega jezika (NLP), ki ponuja vnaprej usposobljene API-je po meri za pridobivanje vpogledov iz besedilnih podatkov. Stranke Amazon Comprehend lahko usposobijo modele za prepoznavanje poimenovanih entitet (NER) po meri, da izločijo zanimive subjekte, kot so lokacija, ime osebe in datum, ki so edinstveni za njihovo podjetje.

Za usposabljanje modela po meri najprej pripravite podatke za usposabljanje z ročnim označevanjem entitet v dokumentih. To je mogoče storiti z Razumejte orodje za opombe polstrukturiranih dokumentov, ki ustvarja Amazon SageMaker Ground Truth opravilo s predlogo po meri, kar avtorjem omogoča, da narišejo omejevalne okvire okoli entitet neposredno na dokumentih PDF. Vendar se lahko za podjetja z obstoječimi tabelarnimi podatki subjektov v sistemih ERP, kot je SAP, ročno označevanje ponavlja in zamudno.

Da bi zmanjšali napor pri pripravi podatkov za usposabljanje, smo zgradili orodje za predhodno označevanje z uporabo Korak funkcije AWS ki samodejno predhodno označuje dokumente z uporabo obstoječih podatkov tabelarnih entitet. To znatno zmanjša ročno delo, potrebno za usposabljanje natančnih modelov za prepoznavanje entitet po meri v Amazon Comprehend.

V tej objavi vas vodimo skozi korake nastavitve orodja za predhodno označevanje in prikazujemo primere, kako samodejno označuje dokumente iz javnega nabor podatkov vzorcev bančnih izpiskov v formatu PDF. Celotna koda je na voljo na GitHub repo.

Pregled rešitev

V tem razdelku razpravljamo o vhodih in izhodih orodja za predhodno označevanje ter ponujamo pregled arhitekture rešitve.

Vhodi in izhodi

Orodje za predhodno označevanje kot vhodne podatke vzame dokumente PDF, ki vsebujejo besedilo, ki ga je treba označiti. Za predstavitev uporabljamo simulirane bančne izpiske, kot je naslednji primer.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Orodje vzame tudi datoteko manifesta, ki dokumente PDF preslika z entitetami, ki jih želimo ekstrahirati iz teh dokumentov. Entitete so sestavljene iz dveh stvari: expected_text izvleči iz dokumenta (npr. AnyCompany Bank) in ustrezne entity_type (npr. bank_name). Kasneje v tej objavi pokažemo, kako sestaviti to datoteko manifesta iz dokumenta CSV, kot je naslednji primer.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Orodje za predhodno označevanje uporablja datoteko manifesta za samodejno označevanje dokumentov z ustreznimi entitetami. Te opombe lahko nato neposredno uporabimo za usposabljanje modela Amazon Comprehend.

Lahko pa ustvarite opravilo označevanja SageMaker Ground Truth za človeški pregled in urejanje, kot je prikazano na naslednjem posnetku zaslona.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Ko je pregled končan, lahko uporabite označene podatke za usposabljanje modela prepoznavalnika entitet po meri Amazon Comprehend.

Arhitektura

Orodje za predhodno označevanje je sestavljeno iz več AWS Lambda funkcije, ki jih orkestrira državni stroj Step Functions. Ima dve različici, ki uporabljata različne tehnike za ustvarjanje predopomb.

Prva tehnika je mehko ujemanje. To zahteva datoteko predmanifesta s pričakovanimi entitetami. Orodje uporablja algoritem mehkega ujemanja za ustvarjanje predopomb s primerjavo podobnosti besedila.

Mehko ujemanje išče nize v dokumentu, ki so podobni (vendar ne nujno enaki) pričakovanim entitetam, navedenim v datoteki pred manifestom. Najprej izračuna rezultate podobnosti besedila med pričakovanim besedilom in besedami v dokumentu, nato pa ujema vse pare nad pragom. Tudi če ni natančnih ujemanj, lahko mehko ujemanje najde različice, kot so okrajšave in napačno črkovane besede. To orodju omogoča vnaprejšnje označevanje dokumentov, ne da bi morali biti subjekti prikazani dobesedno. Na primer, če 'AnyCompany Bank' je navedena kot pričakovana entiteta, bo mehko ujemanje označilo pojavitve 'Any Companys Bank'. To zagotavlja večjo prilagodljivost kot strogo ujemanje nizov in omogoča, da orodje za predhodno označevanje samodejno označi več entitet.

Naslednji diagram ponazarja arhitekturo tega stanja stroja stopenjskih funkcij.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Druga tehnika zahteva a predhodno usposobljen model prepoznavalnika entitet Amazon Comprehend. Orodje ustvari predpripombe z uporabo modela Amazon Comprehend po poteku dela, prikazanem v naslednjem diagramu.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Naslednji diagram ponazarja celotno arhitekturo.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

V naslednjih razdelkih se sprehodimo skozi korake za implementacijo rešitve.

Namestite orodje za predhodno označevanje

Klonirajte repozitorij na vaš lokalni računalnik:

git clone https://github.com/aws-samples/amazon-comprehend-automated-pdf-prelabeling-tool.git

Ta repozitorij je bil zgrajen na vrhu orodja za opombe Comprehend Semi-Structured Documents Annotation Tool in razširja njegove funkcionalnosti tako, da vam omogoča, da začnete opravilo označevanja SageMaker Ground Truth s predhodnimi opombami, ki so že prikazane v uporabniškem vmesniku SageMaker Ground Truth.

Orodje za predhodno označevanje vključuje tako vire orodja za opombe Comprehend Semi-Structured Documents Annotation Tool kot tudi nekatere vire, specifične za orodje za predhodno označevanje. Rešitev lahko uvedete z AWS Model brez strežnika (AWS SAM), odprtokodno ogrodje, ki ga lahko uporabite za definiranje kode brezstrežniške aplikacijske infrastrukture.

Če ste že uvedli orodje za opombe Comprehend Semi-Structured Documents Annotation Tool, glejte razdelek s pogostimi vprašanji v Pre_labeling_tool/README.md za navodila o tem, kako razmestiti samo vire, specifične za orodje za predhodno označevanje.

Če orodja še niste uvedli in začenjate na novo, naredite naslednje, da uvedete celotno rešitev.

Spremenite trenutni imenik v mapo orodja za opombe:

cd amazon-comprehend-semi-structured-documents-annotation-tools

Zgradite in namestite rešitev:

make ready-and-deploy-guided

Ustvari datoteko predmanifesta

Preden lahko uporabite orodje za predhodno označevanje, morate pripraviti podatke. Glavni vložki so dokumenti PDF in datoteka pred manifestom. Datoteka pred manifestom vsebuje lokacijo vsakega dokumenta PDF pod 'pdf' in lokacijo datoteke JSON s pričakovanimi entitetami, ki jih je treba označiti 'expected_entities'.

Zvezek create_premanifest_file.ipynb prikazuje, kako ustvariti to datoteko. V demo datoteki predmanifesta je prikazana naslednja koda:

[ { 'pdf': 's3://<bucket>/data_aws_idp_workshop_data/bank_stmt_0.pdf', 'expected_entities': 's3://<bucket>/prelabeling-inputs/expected-entities/example-demo/fuzzymatching_version/file_bank_stmt_0.json' }, ...
]

Vsaka datoteka JSON, navedena v datoteki pred manifestom (pod expected_entities) vsebuje seznam slovarjev, enega za vsako pričakovano entiteto. Slovarji imajo naslednje ključe:

  • 'expected_texts' – Seznam možnih besedilnih nizov, ki se ujemajo z entiteto.
  • 'entity_type' – Ustrezen tip entitete.
  • 'ignore_list' (neobvezno) – Seznam besed, ki jih je treba pri tekmi prezreti. Te parametre je treba uporabiti, da preprečite, da bi mehko ujemanje ujemalo specifične kombinacije besed, za katere veste, da so napačne. To je lahko koristno, če želite prezreti nekatere številke ali e-poštne naslove, ko gledate imena.

Na primer, expected_entities prej prikazanega PDF-ja izgleda takole:

[ { 'expected_texts': ['AnyCompany Bank'], 'entity_type': 'bank_name', 'ignore_list': [] }, { 'expected_texts': ['JANE DOE'], 'entity_type': 'customer_name', 'ignore_list': ['JANE.DOE@example_mail.com'] }, { 'expected_texts': ['003884257406'], 'entity_type': 'checking_number', 'ignore_list': [] }, ...
]

Zaženite orodje za predhodno označevanje

Z datoteko predmanifesta, ki ste jo ustvarili v prejšnjem koraku, začnite izvajati orodje za predhodno označevanje. Za več podrobnosti si oglejte zvezek start_step_functions.ipynb.

Če želite zagnati orodje za predhodno označevanje, zagotovite event z naslednjimi ključi:

  • Premanifest – Preslika vsak dokument PDF v svoj expected_entities mapa. To bi moralo vsebovati Preprosta storitev shranjevanja Amazon (Amazon S3) vedro (pod bucket) in ključ (pod key) datoteke.
  • Prefiks – Uporablja se za ustvarjanje execution_id, ki poimenuje mapo S3 za shranjevanje izhoda in ime opravila označevanja SageMaker Ground Truth.
  • tipi_entitet – Prikazano v uporabniškem vmesniku za označevanje opomb. Te morajo vključevati vse vrste entitet v pričakovanih datotekah entitet.
  • ime_delovne_ekipe (neobvezno) – Uporablja se za ustvarjanje opravila označevanja SageMaker Ground Truth. Ustreza zasebni delovni sili za uporabo. Če ni na voljo, bo namesto opravila označevanja SageMaker Ground Truth ustvarjena samo datoteka manifesta. Datoteko manifesta lahko uporabite za ustvarjanje opravila označevanja SageMaker Ground Truth pozneje. Upoštevajte, da od tega pisanja ne morete zagotoviti zunanje delovne sile, ko ustvarjate opravilo označevanja iz zvezka. Lahko pa klonirate ustvarjeno opravilo in ga dodelite zunanji delovni sili na konzoli SageMaker Ground Truth.
  • comprehend_parameters (izbirno) – Parametri za neposredno usposabljanje modela prepoznavalnika entitet po meri Amazon Comprehend. Če ga izpustite, bo ta korak preskočen.

Če želite zagnati državni stroj, zaženite naslednjo kodo Python:

import boto3
stepfunctions_client = boto3.client('stepfunctions')

response = stepfunctions_client.start_execution(
stateMachineArn=fuzzymatching_prelabeling_step_functions_arn,
input=json.dumps(<event-dict>)
)

To bo začelo delovanje državnega stroja. Napredek stanja stroja lahko spremljate na konzoli Step Functions. Naslednji diagram prikazuje potek dela stroja stanja.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Ko je avtomat stanja končan, naredite naslednje:

  • Preglejte naslednje izhode, shranjene v prelabeling/ mapa za comprehend-semi-structured-docs S3 vedro:
    • Posamezne datoteke z opombami za vsako stran dokumentov (ena na stran na dokument) v temp_individual_manifests/
    • Manifest za delo označevanja SageMaker Ground Truth v consolidated_manifest/consolidated_manifest.manifest
    • Manifest, ki ga je mogoče uporabiti za usposabljanje modela Amazon Comprehend po meri consolidated_manifest/consolidated_manifest_comprehend.manifest
  • Na konzoli SageMaker odprite opravilo označevanja SageMaker Ground Truth, ki je bilo ustvarjeno za pregled opomb
  • Preglejte in preizkusite model Amazon Comprehend po meri, ki je bil usposobljen

Kot je bilo že omenjeno, lahko orodje ustvari samo delovna mesta za označevanje SageMaker Ground Truth za zasebno delovno silo. Če želite zunanje izvajanje prizadevanj za človeško označevanje, lahko klonirate opravilo označevanja na konzoli SageMaker Ground Truth in novemu opravilu priključite poljubno delovno silo.

Čiščenje

Da se izognete dodatnim stroškom, izbrišite vire, ki ste jih ustvarili, in izbrišite sklad, ki ste ga razmestili z naslednjim ukazom:

make delete

zaključek

Orodje za predhodno označevanje nudi podjetjem močan način za uporabo obstoječih tabelaričnih podatkov za pospešitev procesa usposabljanja modelov za prepoznavanje entitet po meri v Amazon Comprehend. S samodejnim predhodnim označevanjem dokumentov PDF znatno zmanjša ročni napor, potreben v procesu označevanja.

Orodje ima dve različici: mehko ujemanje in temelječo na Amazon Comprehend, kar omogoča prilagodljivost pri ustvarjanju začetnih opomb. Ko so dokumenti predhodno označeni, jih lahko hitro pregledate v opravilu označevanja SageMaker Ground Truth ali celo preskočite pregled in neposredno usposobite model po meri Amazon Comprehend.

Orodje za vnaprejšnje označevanje vam omogoča, da hitro odklenete vrednost svojih zgodovinskih podatkov entitete in jo uporabite pri ustvarjanju modelov po meri, prilagojenih vaši specifični domeni. S pospešitvijo tega, kar je običajno najbolj delovno intenziven del procesa, naredi prepoznavanje subjektov po meri z Amazon Comprehend bolj dostopno kot kdaj koli prej.

Za več informacij o označevanju dokumentov PDF z opravilom označevanja SageMaker Ground Truth glejte Opomba dokumenta po meri za ekstrahiranje poimenovanih entitet v dokumentih z uporabo Amazon Comprehend in Uporabite Amazon SageMaker Ground Truth za označevanje podatkov.


O avtorjih

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Oskar Schnaack je uporabni znanstvenik v Generative AI Innovation Center. Strastno se potaplja v znanost, ki stoji za strojnim učenjem, da bi bila dostopna strankam. Zunaj službe Oskar rad kolesari in sledi trendom informacijske teorije.

Avtomatizirajte predhodno označevanje PDF za Amazon Comprehend | Amazon Web Services PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Romain Besombes je arhitekt poglobljenega učenja v Generative AI Innovation Center. Navdušen je nad gradnjo inovativnih arhitektur za reševanje poslovnih težav strank s strojnim učenjem.

Časovni žig:

Več od Strojno učenje AWS