Hva er dokumentbehandling?
Dokumentbehandling er prosessen med å automatisere utvinningen av strukturerte data fra dokumenter. Dette kan være for ethvert dokument, for eksempel en faktura, en CV, ID-kort osv. Den utfordrende delen her er ikke bare OCR. Det er mange tilgjengelige alternativer der ute til lave kostnader som kan trekke ut tekst og gi deg plasseringen. Den virkelige utfordringen er å merke disse tekstdelene nøyaktig og automatisk.
Forretningseffekt av dokumentbehandling
Flere bransjer er avhengige av dokumentbehandling for den daglige driften. Finansielle organisasjoner trenger tilgang til SEC-registreringer, forsikringsregistreringer, et e-handels- eller forsyningskjedeselskap kan trenge tilgang til fakturaer som brukes, fortsetter listen. Nøyaktigheten av denne informasjonen er like viktig som tiden som blir spart, og derfor anbefaler vi alltid å bruke avanserte dyplæringsmetoder som generaliserer mer og er mer nøyaktige.
I følge denne rapporten fra PwC, [link] selv den mest rudimentære mengden strukturert datautvinning kan bidra til å spare 30–50 % av ansattes tid brukt på manuell kopiering og innliming av data fra PDF-er til Excel-regneark. Modeller som LayoutLM er absolutt ikke rudimentære, de har blitt bygget som ekstremt intelligente agenter som er i stand til nøyaktig datautvinning i stor skala, på tvers av forskjellige brukstilfeller. Selv med mange av våre egne kunder har vi redusert tiden som kreves for å trekke ut data manuelt fra 20 minutter per dokument til under 10 sekunder. Det er et massivt skifte som gjør det mulig for arbeidere å være mer produktive, og for høyere gjennomstrømning totalt sett.
Så hvor kan AI som ligner på LayoutLM brukes? Hos Nanonets har vi brukt slik teknologi til
og mange andre brukstilfeller.
Hvorfor LayoutLM?
Hvordan forstår en dyplæringsmodell om et gitt tekststykke er en varebeskrivelse på en faktura, eller fakturanummeret? Enkelt sagt, hvordan lærer en modell å tilordne etiketter riktig?
En metode er å bruke tekstinnbygginger fra en massiv språkmodell som BERT eller GPT-3 og kjøre den gjennom en klassifisering – selv om dette ikke er veldig effektivt. Det er mye informasjon som man ikke kan måle rent ved hjelp av tekst. Eller man kan bruke bildebasert informasjon. Dette ble oppnådd ved å bruke R-CNN og Faster R-CNN-modeller. Dette utnytter imidlertid fortsatt ikke informasjonen som er tilgjengelig i dokumentene. En annen tilnærming som ble brukt var med Graph Convolutional Neural Networks, som kombinerte både stedsinformasjon og tekstinformasjon, men tok ikke hensyn til bildeinformasjon.
Så hvordan bruker vi alle tre dimensjonene av informasjon, det vil si teksten, bildet og plasseringen av den gitte teksten også? Det er her modeller som LayoutLM kommer inn. Til tross for at de har vært et aktivt forskningsområde i mange år tidligere, var LayoutLM en av de første modellene som oppnådde suksess ved å kombinere brikkene for å lage en enestående modell som utfører merking ved hjelp av posisjonsinformasjon, tekstbasert informasjon, og også bildeinformasjon.
LayoutLM-opplæring
Denne artikkelen forutsetter at du forstår hva en språkmodell er. Hvis ikke, ikke bekymre deg, vi skrev en artikkel om det også! Hvis du vil vite mer om hva transformatormodeller er, og hva oppmerksomhet er, her er en fantastisk artikkel av Jay Alammar.
Forutsatt at vi har fått disse tingene ut av veien, la oss komme i gang med opplæringen. Vi vil bruke det originale LayoutLM-papiret som hovedreferanse.
OCR-tekstekstraksjon
Det aller første vi gjør med et dokument er å trekke ut den tekstbaserte informasjonen fra dokumentet, og finne deres respektive plasseringer. Etter plassering refererer vi til noe som kalles en "grenseboks". En avgrensningsramme er et rektangel som innkapsler teksten på siden.
I de fleste tilfeller antas det at avgrensningsboksen har origo i øverste venstre hjørne, og at den positive x-aksen er rettet fra origo mot høyre på siden, og den positive y-aksen er rettet fra origo til nederst på siden, med én piksel som regnes som måleenheten.
Innebygging av språk og plassering
Deretter bruker vi fem forskjellige embedding-lag. Den ene er å kode den språkrelaterte informasjonen – det vil si tekstinnbygging.
De fire andre er reservert for plasseringsinnbygginger. Forutsatt at vi kjenner verdiene til xmin, ymin, xmax og ymax, kan vi bestemme hele avgrensningsrammen (hvis du ikke kan visualisere det, her er en link til deg). Disse koordinatene sendes gjennom deres respektive innebygde lag for å kode informasjon for plassering.
De fem innebyggingene – én for tekst og fire for koordinatene – legges så sammen for å skape den endelige verdien av innebyggingen som sendes gjennom LayoutLM. Utgangen blir referert til som LayoutLM-innbyggingen.
Innebygging av bilder
Ok, så vi har klart å finne tekst- og stedsrelatert informasjon ved å kombinere deres innebygginger og sende den gjennom en språkmodell. Hvordan går vi rundt prosessen med å kombinere bilderelatert informasjon i den?
Samtidig som tekst- og layoutinformasjonen blir kodet, bruker vi Faster R-CNN for å trekke ut tekstområdene relatert til dokumentet. Raskere R-CNN er en bildemodell som brukes til gjenstandsdeteksjon. I vårt tilfelle bruker vi den til å oppdage forskjellige tekststykker (forutsatt at hver setning er et objekt) og deretter sende de segmenterte bildene gjennom et fullstendig sammenkoblet lag for å hjelpe til med å generere innebygginger for bildene også.
LayoutLM-innbyggingene så vel som bildeinnbyggingene kombineres for å lage en endelig innebygging, som deretter kan brukes til å utføre nedstrømsbehandling.
Oppsett LM før trening
Alt det ovennevnte gir mening bare hvis vi forstår metoden som LayoutLM ble trent i. Tross alt, uansett hva slags forbindelser vi etablerer i et nevralt nettverk, inntil og med mindre det er trent med riktig læringsmål, er det ikke helt smart. Forfatterne av LayoutLM ønsket å forfølge en metode som ligner på den som ble brukt til førtrening av BERT.
Masked Visual Language Model (MVLM)
For å hjelpe modellen med å lære hvilken tekst det kunne ha vært på et bestemt sted, maskerte forfatterne tilfeldig noen få tokens med tekst mens de beholdt stedsrelatert informasjon og innebygging. Dette gjorde det mulig for LayoutLM å gå utover enkel Masked Language Modeling, og bidro også til å assosiere tekstinnbygginger med stedsrelaterte modaliteter.
Multi-label Document Classification (MDC)
Ved å bruke all informasjonen i dokumentet til å klassifisere den i kategorier hjelper modellen å forstå hvilken informasjon som er relevant for en bestemt klasse av dokumenter. Forfatterne bemerker imidlertid at for større datasett kan det hende at data om dokumentklasser ikke er lett tilgjengelige. Derfor har de gitt resultatgrunnlag både MVLM-trening alene og MVLM + MDC-trening.
Finjustering av layoutLM for nedstrømsoppgaver
Det er flere nedstrømsoppgaver som kan utføres med LayoutLM. Vi skal diskutere de som forfatterne foretok seg.
Formforståelse
Denne oppgaven innebærer å koble en etiketttype til et gitt tekststykke. Ved å bruke dette kan vi trekke ut strukturerte data fra alle slags dokumenter. Gitt den endelige utgangen, det vil si LayouLM-innleiringer + bildeinnbygginger, blir de ført gjennom et fullt koblet lag og deretter sendt gjennom en softmax for å forutsi klassesannsynligheter for etiketten til et gitt tekststykke.
Kvitteringsforståelse
I denne oppgaven ble flere plasser med informasjon stående tomme på kvitteringer, og modellen måtte plassere tekstbiter riktig på sine respektive plasser.
Klassifisering av dokumentbilde
Informasjon fra teksten og bildet av dokumentet kombineres for å hjelpe deg med å forstå dokumentets klasse ved ganske enkelt å sende det gjennom et softmax-lag.
Huggingface LayoutLM
En av hovedgrunnene til at LayoutLM blir diskutert så mye er fordi modellen ble åpnet for en stund siden. Det er tilgjengelig på Hugging Face, så bruk av LayoutLM er betydelig enklere nå.
Før vi dykker ned i detaljene om hvordan du kan finjustere LayoutLM for dine egne behov, er det et par ting å ta i betraktning.
Installere biblioteker
For å kjøre LayoutLM trenger du transformatorbiblioteket fra Hugging Face, som igjen er avhengig av PyTorch-biblioteket. For å installere dem (hvis de ikke allerede er installert), kjør følgende kommandoer
På avgrensningsbokser
For å lage et enhetlig innbyggingsskjema uavhengig av bildestørrelse, normaliseres avgrensningsrammekoordinatene i en skala på 1000
Konfigurasjon
Ved å bruke transformers.LayoutLMConfig-klassen kan du stille inn størrelsen på modellen slik at den passer best til dine behov, siden disse modellene vanligvis er tunge og trenger ganske mye datakraft. Å sette den til en mindre modell kan hjelpe deg med å kjøre den lokalt. Du kan les mer om klassen her.
LayoutLM for dokumentklassifisering (link)
Hvis du vil utføre dokumentklassifisering, trenger du klassetransformatorene.LayoutLMForSequenceClassification. Sekvensen her er sekvensen av tekst fra dokumentet du har trukket ut. Her er et lite kodeeksempel fra Hugging Face.co som vil forklare hvordan du bruker det
LayoutLM for tekstmerking (link)
For å utføre semantisk merking, det vil si å tilordne etiketter til ulike deler av teksten i dokumentet, trenger du klassetransformatorene.LayoutLMForTokenClassification. Du kan finne flere detaljer om samme her.Her er et lite kodeeksempel slik at du kan se hvordan det kan fungere for deg
Noen punkter å merke seg om Hugging Face LayoutLM
- For øyeblikket bruker Hugging Face LayoutLM-modellen Tesseracts åpen kildekode-bibliotek for tekstutvinning, som ikke er veldig nøyaktig. Du vil kanskje vurdere å bruke et annet, betalt OCR-verktøy som AWS Textract eller Google Cloud Vision
- Den eksisterende modellen gir bare språkmodellen, dvs. LayoutLM-innbyggingene, og ikke de siste lagene som kombinerer visuelle funksjoner. LayoutLMv2 (diskutert i neste avsnitt) bruker Detectron-biblioteket for å aktivere visuelle funksjoner også.
- Klassifiseringen av etiketter skjer på ordnivå, så det er egentlig opp til OCR-tekstekstraksjonsmotoren å sikre at alle ord i et felt er i en kontinuerlig sekvens, eller ett felt kan forutsies som to.
LayoutLMv2
LayoutLM kom som en revolusjon i hvordan data ble hentet ut fra dokumenter. Men når det gjelder dyplæringsforskning, forbedres modellene bare mer og mer over tid. LayoutLM ble på samme måte etterfulgt av LayoutLMv2, der forfatterne gjorde noen betydelige endringer i hvordan modellen ble trent.
Inkludert 1-D Spatial Embeddings og Visual Token Embeddings
LayoutLMv2 inkluderte informasjon om 1-D relativ plassering, samt generell bilderelatert informasjon. Grunnen til at dette er viktig er på grunn av de nye opplæringsmålene, som vi nå skal diskutere
Nye opplæringsmål
LayoutLMv2 inkluderte noen modifiserte treningsmål. Disse er som følger:
- Maskert visuell språkmodellering: Dette er det samme som i LayoutLM
- Tekstbildejustering: Tekst ble tilfeldig dekket fra bildet, mens tekstsymbolene ble gitt til modellen. For hver token måtte modellen lære om den gitte teksten var dekket eller ikke. Gjennom dette klarte modellen å kombinere informasjon fra både visuelle og tekstlige modaliteter
- Tekstbildematching: Modellen blir bedt om å sjekke om det gitte bildet samsvarer med den gitte teksten. Negative prøver mates enten som falske bilder, eller ingen bildeinnbygginger er gitt i det hele tatt. Dette gjøres for å sikre at modellen lærer mer om hvordan tekst og bilder henger sammen.
Ved å bruke disse nye metodene og innebyggingene, var modellen i stand til å oppnå høyere F1-score på nesten alle testdatasettene som LayoutLM.
- Om oss
- adgang
- Logg inn
- nøyaktig
- oppnådd
- tvers
- aktiv
- avansert
- agenter
- AI
- Alle
- allerede
- Selv
- beløp
- En annen
- tilnærming
- AREA
- rundt
- Artikkel
- forfattere
- tilgjengelig
- AWS
- basis
- være
- BEST
- Bit
- Eske
- Kort
- saker
- utfordre
- klassifisering
- Cloud
- kode
- kombinert
- Selskapet
- Beregn
- Konfigurasjon
- Tilkoblinger
- hensyn
- Kostnader
- kunne
- Kunder
- dato
- dag
- Til tross for
- Gjenkjenning
- gJORDE
- forskjellig
- dokumenter
- ned
- e-handel
- Effektiv
- muliggjør
- etablere
- Excel
- Face
- raskere
- Trekk
- Egenskaper
- Fed
- finansiell
- Først
- etter
- generere
- GitHub
- hjelpe
- hjelper
- her.
- Hvordan
- Hvordan
- HTTPS
- bilde
- Påvirkning
- viktig
- forbedre
- inkludert
- bransjer
- informasjon
- forsikring
- Intelligent
- IT
- merking
- etiketter
- Språk
- større
- LÆRE
- læring
- Nivå
- Bibliotek
- LINK
- Liste
- lokalt
- plassering
- steder
- manuelt
- massive
- matchende
- Saken
- modell
- modeller
- mest
- nettverk
- nettverk
- åpen
- åpen kildekode
- Drift
- alternativer
- rekkefølge
- organisasjoner
- Annen
- betalt
- Papir
- brikke
- makt
- prosess
- gir
- PWC
- grunner
- anbefaler
- rapporterer
- påkrevd
- Krav
- forskning
- Resultater
- gjenoppta
- Kjør
- Skala
- ordningen
- SEK
- forstand
- sett
- innstilling
- skift
- signifikant
- lignende
- Enkelt
- Størrelse
- liten
- Smart
- So
- noe
- startet
- suksess
- levere
- forsyningskjeden
- oppgaver
- Teknologi
- test
- Gjennom
- tid
- token
- tokens
- topp
- Kurs
- forstå
- bruke
- bruke
- verdi
- Hva
- om
- ord
- Arbeid
- arbeidere
- år