I mange brancher er det afgørende at udtrække tilpassede enheder fra dokumenter rettidigt. Dette kan være udfordrende. Forsikringskrav indeholder f.eks. ofte snesevis af vigtige egenskaber (såsom datoer, navne, lokationer og rapporter) spredt ud over lange og tætte dokumenter. Manuel scanning og udtrækning af sådanne oplysninger kan være fejlbehæftet og tidskrævende. Regelbaseret software kan hjælpe, men er i sidste ende for stiv til at tilpasse sig de mange forskellige dokumenttyper og layouts.
For at hjælpe med at automatisere og fremskynde denne proces, kan du bruge Amazon Comprehend at opdage brugerdefinerede enheder hurtigt og præcist ved at bruge maskinlæring (ML). Denne tilgang er fleksibel og præcis, fordi systemet kan tilpasse sig nye dokumenter ved at bruge det, det har lært tidligere. Indtil for nylig kunne denne funktion dog kun anvendes på almindelige tekstdokumenter, hvilket betød, at positionsinformation gik tabt, når dokumenterne blev konverteret fra deres oprindelige format. For at løse dette, var det nyligt annoncerede at Amazon Comprehend kan udtrække brugerdefinerede enheder i PDF'er, billeder og Word-filformater.
I dette indlæg gennemgår vi et konkret eksempel fra forsikringsbranchen på, hvordan du kan bygge en brugerdefineret genkender ved hjælp af PDF-annoteringer.
Løsningsoversigt
Vi leder dig gennem følgende trin på højt niveau:
- Opret PDF-anmærkninger.
- Brug PDF-annoteringerne til at træne en tilpasset model ved hjælp af Python API.
- Få evalueringsmetrics fra den trænede model.
- Udfør slutninger om et uset dokument.
Ved slutningen af dette indlæg ønsker vi at være i stand til at sende et rå PDF-dokument til vores trænede model og få det til at udskrive en struktureret fil med information om vores etiketter af interesse. Især træner vi vores model til at opdage følgende fem enheder, som vi valgte på grund af deres relevans for forsikringskrav: DateOfForm
, DateOfLoss
, NameOfInsured
, LocationOfLoss
og InsuredMailingAddress
. Efter at have læst det strukturerede output, kan vi visualisere etiketoplysningerne direkte på PDF-dokumentet, som på det følgende billede.
Dette indlæg er ledsaget af en Jupyter-notesbog, der indeholder de samme trin. Følg gerne med, mens du kører trinene i det notesbog. Bemærk, at du skal konfigurere Amazon SageMaker miljø for at tillade Amazon Comprehend at læse fra Amazon Simple Storage Service (Amazon S3) som beskrevet øverst på notesbogen.
Opret PDF-anmærkninger
For at oprette anmærkninger til PDF-dokumenter kan du bruge Amazon SageMaker Ground Truth, en fuldt administreret datamærkningstjeneste, der gør det nemt at bygge meget nøjagtige træningsdatasæt til ML.
Til denne øvelse har vi allerede kommenteret PDF'erne i deres oprindelige form (uden at konvertere til almindelig tekst) ved hjælp af Ground Truth. Ground Truth-jobbet genererer tre veje, vi har brug for til træning af vores tilpassede Amazon Comprehend-model:
- Kilder – Stien til input-PDF'erne.
- Annotationer – Stien til annotations-JSON-filerne, der indeholder de mærkede enhedsoplysninger.
- Manifest – Filen, der peger på placeringen af annoteringerne og kilde-PDF'erne. Denne fil bruges til at oprette et Amazon Comprehend-tilpasset træningsjob for enhedsgenkendelse og træne en tilpasset model.
Følgende skærmbillede viser et eksempel på en annotation.
Det brugerdefinerede Ground Truth-job genererer en PDF-annotering, der fanger information på blokniveau om enheden. Sådan information på blokniveau tilvejebringer de præcise positionskoordinater for entiteten (med de underordnede blokke, der repræsenterer hvert ord i entitetsblokken). Dette adskiller sig fra et standard Ground Truth-job, hvor dataene i PDF-filen er fladtrykt til tekstformat og kun offset-information – men ikke præcis koordinatinformation – fanges under annotering. Den rige positionelle information, vi opnår med dette brugerdefinerede annotationsparadigme, giver os mulighed for at træne en mere nøjagtig model.
Manifestet, der genereres fra denne type job, kaldes et udvidet manifest i modsætning til en CSV, der bruges til standardannoteringer. For mere information, se Annotationer.
Brug PDF-annoteringerne til at træne en tilpasset model ved hjælp af Python API
En udvidet manifestfil skal formateres i JSON Lines-format. I JSON Lines-format er hver linje i filen et komplet JSON-objekt efterfulgt af en newline separator.
Følgende kode er en post i denne udvidede manifestfil.
Et par ting at bemærke:
- Fem mærkningstyper er knyttet til dette job:
DateOfForm
,DateOfLoss
,NameOfInsured
,LocationOfLoss
ogInsuredMailingAddress
. - Manifestfilen refererer til både kilde-PDF-placeringen og annotationsplaceringen.
- Metadata om annoteringsopgaven (såsom oprettelsesdato) registreres.
Use-textract-only
er sat tilFalse
, hvilket betyder, at annotationsværktøjet beslutter, om der skal bruges PDFPlumber (til en indbygget PDF) eller amazontekst (for en scannet PDF). Hvis indstillet tiltrue
Amazon Textract bruges i begge tilfælde (hvilket er dyrere, men potentielt mere præcist).
Nu kan vi træne genkenderen, som vist i følgende eksempelkode.
Vi opretter en genkender til at genkende alle fem typer enheder. Vi kunne have brugt en delmængde af disse entiteter, hvis vi foretrak. Du kan bruge op til 25 enheder.
For detaljer om hver parameter, se create_entity_recognizer.
Afhængig af træningssættets størrelse kan træningstiden variere. For dette datasæt tager træning cirka 1 time. For at overvåge status for træningsjobbet kan du bruge describe_entity_recognizer
API.
Få evalueringsmetrics fra den trænede model
Amazon Comprehend leverer modelpræstationsmålinger for en trænet model, som angiver, hvor godt den trænede model forventes at lave forudsigelser ved hjælp af lignende input. Vi kan opnå både globale præcisions- og genkalds-metrics såvel som per-entity-metrics. En nøjagtig model har høj præcision og høj genkaldelse. Høj præcision betyder, at modellen normalt er korrekt, når den angiver en bestemt etiket; høj tilbagekaldelse betyder, at modellen fandt de fleste af etiketterne. F1 er en sammensat metrisk (harmonisk middelværdi) af disse mål, og er derfor høj, når begge komponenter er høje. For en detaljeret beskrivelse af metrikken, se Custom Entity Recognizer Metrics.
Når du leverer dokumenterne til træningsjobbet, adskiller Amazon Comprehend dem automatisk i et tog- og testsæt. Når modellen er nået TRAINED
status, kan du bruge describe_entity_recognizer
API igen for at opnå evalueringsmetrikken på testsættet.
Følgende er et eksempel på globale metrics.
Følgende er et eksempel på målinger pr. enhed.
De høje scorer indikerer, at modellen har lært godt, hvordan man opdager disse entiteter.
Udfør slutninger om et uset dokument
Lad os drage slutninger med vores trænede model på et dokument, der ikke var en del af træningsproceduren. Vi kan bruge denne asynkrone API til standard eller brugerdefineret NER. Hvis du bruger det til tilpasset NER (som i dette indlæg), skal vi bestå ARN for den trænede model.
Vi kan gennemgå det indsendte job ved at udskrive svaret.
Vi kan formatere outputtet af detektionsopgaven med Pandas til en tabel. Det Score
værdi angiver det konfidensniveau, som modellen har om enheden.
Endelig kan vi overlejre forudsigelserne på de usete dokumenter, hvilket giver resultatet som vist øverst i dette indlæg.
Konklusion
I dette indlæg så du, hvordan du udtrækker brugerdefinerede enheder i deres oprindelige PDF-format ved hjælp af Amazon Comprehend. Som næste trin kan du overveje at dykke dybere:
- Træn din egen genkender ved hjælp af den medfølgende notesbog link.. Husk at slette eventuelle ressourcer, når du er færdig for at undgå fremtidige gebyrer.
- Konfigurer dit eget brugerdefinerede annoteringsjob for at indsamle PDF-anmærkninger til dine interesserede enheder. For mere information, se Brugerdefineret dokumentanmærkning til at udtrække navngivne enheder i dokumenter ved hjælp af Amazon Comprehend.
- Træn en tilpasset NER-model på Amazon Comprehend-konsollen. For mere information, se Uddrag tilpassede enheder fra dokumenter i deres oprindelige format med Amazon Comprehend.
Om forfatterne
Joshua Levy er Senior Applied Scientist i Amazon Machine Learning Solutions lab, hvor han hjælper kunder med at designe og bygge AI/ML-løsninger til at løse centrale forretningsproblemer.
Andrew Ang er Machine Learning Engineer i Amazon Machine Learning Solutions Lab, hvor han hjælper kunder fra en bred vifte af industrier med at identificere og bygge AI/ML-løsninger for at løse deres mest presserende forretningsproblemer. Uden for arbejdet nyder han at se rejse- og madvlogs.
Alex Chirayath er en softwareingeniør i Amazon Machine Learning Solutions Lab, der fokuserer på at opbygge use case-baserede løsninger, der viser kunderne, hvordan man kan låse op for kraften i AWS AI/ML-tjenester for at løse virkelige forretningsproblemer.
Jennifer Zhu er en anvendt videnskabsmand fra Amazon AI Machine Learning Solutions Lab. Hun arbejder med AWS' kunder, der bygger AI/ML-løsninger til deres højt prioriterede forretningsbehov.
Niharika Jayanthi er en frontend-ingeniør i Amazon Machine Learning Solutions Lab – Human in the Loop-teamet. Hun hjælper med at skabe brugeroplevelsesløsninger til Amazon SageMaker Ground Truth-kunder.
Boris Aronchik er leder i Amazon AI Machine Learning Solutions Lab, hvor han leder et team af ML-forskere og ingeniører for at hjælpe AWS-kunder med at realisere forretningsmål ved at udnytte AI/ML-løsninger.
- Coinsmart. Europas bedste Bitcoin og Crypto Exchange.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. FRI ADGANG.
- CryptoHawk. Altcoin radar. Gratis prøveversion.
- Kilde: https://aws.amazon.com/blogs/machine-learning/build-a-custom-entity-recognizer-for-pdf-documents-using-amazon-comprehend/
- "
- &
- 100
- Om
- præcis
- tværs
- adresse
- AI
- Alle
- allerede
- Amazon
- api
- tilgang
- cirka
- attributter
- augmented
- automatisere
- AWS
- Bloker
- bygge
- Bygning
- virksomhed
- udfordrende
- afgifter
- barn
- fordringer
- kode
- indsamler
- tillid
- Konsol
- indeholder
- koordinere
- kunne
- skabelse
- kritisk
- skik
- Kunder
- data
- Datoer
- dybere
- Design
- Detektion
- direkte
- dokumenter
- ingeniør
- Ingeniører
- enheder
- Miljø
- eksempel
- forventet
- erfaring
- fleksibel
- følger
- efter
- mad
- formular
- format
- fundet
- Gratis
- fremtiden
- Global
- Mål
- hjælpe
- hjælper
- Høj
- stærkt
- Hvordan
- How To
- HTTPS
- menneskelig
- identificere
- billede
- vigtigt
- industrier
- industrien
- oplysninger
- indgang
- forsikring
- interesse
- IT
- Job
- Nøgle
- lab
- mærkning
- Etiketter
- Leads
- lærte
- læring
- Niveau
- løftestang
- Line (linje)
- placering
- placeringer
- maskine
- machine learning
- maerker
- lykkedes
- leder
- måde
- manuelt
- betyder
- Metrics
- ML
- model
- Overvåg
- mere
- mest
- navne
- notesbog
- offset
- egen
- paradigme
- ydeevne
- magt
- Forudsigelser
- problemer
- behandle
- give
- giver
- hurtigt
- Raw
- Læsning
- virkelige verden
- indse
- genkende
- Rapporter
- Ressourcer
- svar
- gennemgå
- Kør
- kører
- scanning
- Videnskabsmand
- forskere
- tjeneste
- Tjenester
- sæt
- lignende
- Simpelt
- Størrelse
- Software
- Software Engineer
- Løsninger
- SOLVE
- hastighed
- standard
- Status
- opbevaring
- struktureret
- indsendt
- systemet
- hold
- prøve
- The Source
- Gennem
- tid
- tidskrævende
- værktøj
- top
- Kurser
- rejse
- låse
- us
- brug
- sædvanligvis
- værdi
- Hvad
- hvorvidt
- mens
- inden for
- uden
- Arbejde
- virker
- world