Hvad er dokumentbehandling?
Dokumentbehandling er processen med at automatisere udtrækningen af strukturerede data fra dokumenter. Dette kan være for ethvert dokument, f.eks. en faktura, et CV, ID-kort osv. Den udfordrende del her er ikke kun OCR. Der er mange muligheder tilgængelige derude til lave omkostninger, der kan udtrække tekst og give dig placeringen. Den virkelige udfordring er at mærke disse tekststykker nøjagtigt og automatisk.
Forretningspåvirkning af dokumentbehandling
Flere industrier er stærkt afhængige af dokumentbehandling til deres daglige drift. Finansielle organisationer har brug for adgang til SEC-registreringer, forsikringsarkiveringer, et e-handels- eller Supply Chain-firma kan have brug for adgang til fakturaer, der bliver brugt, listen fortsætter. Nøjagtigheden af denne information er lige så vigtig som den tid, der spares, og derfor anbefaler vi altid at bruge avancerede deep learning metoder, der generaliserer mere og er mere præcise.
Ifølge denne rapport fra PwC, [link] selv den mest rudimentære mængde struktureret dataudtræk kan hjælpe med at spare 30-50 % af medarbejdernes tid brugt på manuelt at kopiere og indsætte data fra PDF-filer til Excel-regneark. Modeller som LayoutLM er bestemt ikke rudimentære, de er blevet bygget som ekstremt intelligente agenter, der er i stand til præcis dataudtræk i skala på tværs af forskellige anvendelsessager. Selv med mange af vores egne kunder har vi reduceret den tid, der kræves for at udtrække data manuelt, fra 20 minutter pr. dokument til under 10 sekunder. Det er et massivt skift, der gør det muligt for arbejdere at være mere produktive og for højere gennemløb generelt.
Så hvor kan AI, der ligner LayoutLM, anvendes? Hos Nanonets har vi brugt sådan teknologi til
og mange andre use cases.
Hvorfor LayoutLM?
Hvordan forstår en deep learning-model, om et givet stykke tekst er en varebeskrivelse på en faktura eller fakturanummeret? Kort sagt, hvordan lærer en model at tildele etiketter korrekt?
En metode er at bruge tekstindlejringer fra en massiv sprogmodel som BERT eller GPT-3 og køre den gennem en klassificering – selvom dette ikke er særlig effektivt. Der er en masse information, som man ikke kan måle rent ved hjælp af tekst. Eller man kunne gøre brug af billedbaseret information. Dette blev opnået ved at bruge R-CNN og Faster R-CNN modeller. Dette udnytter dog stadig ikke de tilgængelige oplysninger i dokumenterne fuldt ud. En anden anvendt tilgang var med Graph Convolutional Neural Networks, som kombinerede både lokalitets- og tekstinformation, men tog ikke højde for billedinformation.
Så hvordan bruger vi alle tre dimensioner af information, dvs. teksten, billedet og placeringen af den givne tekst også? Det er her, modeller som LayoutLM kommer ind i billedet. På trods af at de har været et aktivt forskningsområde i mange år tidligere, var LayoutLM en af de første modeller, der opnåede succes ved at kombinere brikkerne for at skabe en enestående model, der udfører mærkning ved hjælp af positionsinformation, tekstbaseret information, og også billedinformation.
LayoutLM Tutorial
Denne artikel forudsætter, at du forstår, hvad en sprogmodel er. Hvis ikke, så fortvivl ikke, vi skrev også en artikel om det! Hvis du gerne vil vide mere om, hvad transformermodeller er, og hvad opmærksomhed er, her er en fantastisk artikel af Jay Alammar.
Hvis vi antager, at vi har fået disse ting af vejen, så lad os komme i gang med selvstudiet. Vi vil bruge det originale LayoutLM-papir som hovedreference.
OCR-tekstudtrækning
Det allerførste, vi gør med et dokument, er at udtrække den tekstbaserede information fra dokumentet og finde deres respektive placeringer. Ved placering henviser vi til noget, der kaldes en 'afgrænsningsboks'. En afgrænsningsramme er et rektangel, der indkapsler tekststykket på siden.
I de fleste tilfælde antages det, at afgrænsningsrammen har origo i øverste venstre hjørne, og at den positive x-akse er rettet fra origo mod højre på siden, og den positive y-akse er rettet fra origo til nederst på siden, hvor en pixel betragtes som måleenheden.
Indlejringer af sprog og sted
Dernæst gør vi brug af fem forskellige indlejringslag. Den ene er at indkode den sprogrelaterede information – dvs. tekstindlejringer.
De øvrige fire er reserveret til lokationsindlejringer. Hvis vi antager, at vi kender værdierne af xmin, ymin, xmax og ymax, kan vi bestemme hele afgrænsningsrammen (hvis du ikke kan visualisere det, her er et link til dig). Disse koordinater føres gennem deres respektive indlejringslag for at kode information til placering.
De fem indlejringer – en til tekst og fire til koordinaterne – lægges derefter sammen for at skabe den endelige værdi af den indlejring, der føres gennem LayoutLM. Outputtet omtales som LayoutLM-indlejringen.
Billedindlejringer
Okay, så det er lykkedes os at finde tekst- og placeringsrelaterede oplysninger ved at kombinere deres indlejringer og sende dem gennem en sprogmodel. Hvordan går vi nu rundt i processen med at kombinere billedrelateret information i den?
Mens tekst- og layoutinformationen bliver kodet parallelt, bruger vi Faster R-CNN til at udtrække de tekstområder, der er relateret til dokumentet. Faster R-CNN er en billedmodel, der bruges til objektdetektering. I vores tilfælde bruger vi det til at detektere forskellige tekststykker (forudsat at hver sætning er et objekt) og sender derefter de segmenterede billeder gennem et fuldt forbundet lag for at hjælpe med at generere indlejringer til billederne.
LayoutLM-indlejringerne samt billedindlejringerne kombineres for at skabe en endelig indlejring, som derefter kan bruges til at udføre downstream-behandling.
FørtræningslayoutLM
Alt ovenstående giver kun mening, hvis vi forstår den metode, som LayoutLM blev trænet i. Når alt kommer til alt, uanset hvilken slags forbindelser vi etablerer i et neuralt netværk, indtil og medmindre det er trænet med det rigtige læringsmål, er det ikke ret smart. Forfatterne af LayoutLM ønskede at forfølge en metode, der ligner den, der blev brugt til før-træning af BERT.
Masked Visual Language Model (MVLM)
For at hjælpe modellen med at finde ud af, hvilken tekst der kunne have været på et bestemt sted, maskerede forfatterne tilfældigt nogle få tokens af tekst, mens de beholdt placeringsrelateret information og indlejringer. Dette gjorde det muligt for LayoutLM at gå ud over simpel Masked Language Modeling og hjalp også med at associere tekstindlejringer med lokationsrelaterede modaliteter.
Multi-label Document Classification (MDC)
Ved at bruge alle oplysningerne i dokumentet til at klassificere det i kategorier hjælper modellen med at forstå, hvilken information der er relevant for en bestemt klasse af dokumenter. Forfatterne bemærker dog, at for større datasæt er data om dokumentklasser muligvis ikke let tilgængelige. Derfor har de leveret resultatbaseret både MVLM træning alene og MVLM + MDC træning.
Finjustering af LayoutLM til downstream-opgaver
Der er flere downstream-opgaver, der kan udføres med LayoutLM. Vi vil diskutere dem, som forfatterne påtog sig.
Formforståelse
Denne opgave indebærer at knytte en etikettype til et givet stykke tekst. Ved hjælp af dette kan vi udtrække strukturerede data fra enhver form for dokument. Givet det endelige output, dvs. LayouLM-indlejringer + Billedindlejringer, sendes de gennem et fuldt forbundet lag og passeres derefter gennem en softmax for at forudsige klassesandsynligheder for etiket af et givet stykke tekst.
Kvitteringsforståelse
I denne opgave blev flere informationspladser efterladt tomme på kvitteringer, og modellen skulle placere tekststykker korrekt på deres respektive pladser.
Klassificering af dokumentbilleder
Oplysninger fra teksten og billedet af dokumentet kombineres for at hjælpe med at forstå dokumentets klasse ved blot at føre det gennem et softmax-lag.
Huggingface LayoutLM
En af hovedårsagerne til, at LayoutLM bliver diskuteret så meget, er fordi modellen var open source for et stykke tid siden. det er tilgængelig på Hugging Face, så det er væsentligt nemmere at bruge LayoutLM nu.
Før vi dykker ned i detaljerne om, hvordan du kan finjustere LayoutLM til dine egne behov, er der et par ting, du skal tage i betragtning.
Installation af biblioteker
For at køre LayoutLM skal du bruge transformatorbiblioteket fra Hugging Face, som igen er afhængigt af PyTorch-biblioteket. For at installere dem (hvis de ikke allerede er installeret), skal du køre følgende kommandoer
På afgrænsningskasser
For at skabe et ensartet indlejringsskema uanset billedstørrelse, normaliseres afgrænsningsrammens koordinater på en skala på 1000
Konfiguration
Ved hjælp af transformers.LayoutLMConfig-klassen kan du indstille størrelsen på modellen, så den passer bedst til dine krav, da disse modeller typisk er tunge og har brug for en del computerkraft. Hvis du indstiller det til en mindre model, kan det hjælpe dig med at køre det lokalt. Du kan læs mere om klassen her.
LayoutLM for dokumentklassificering (Link)
Hvis du vil udføre dokumentklassificering, skal du bruge klassetransformatorerne.LayoutLMForSequenceClassification. Sekvensen her er sekvensen af tekst fra det dokument, du har udtrukket. Her er et lille kodeeksempel fra Hugging Face.co, der vil forklare, hvordan man bruger det
LayoutLM for tekstmærkning (Link)
For at udføre semantisk mærkning, dvs. tildele etiketter til forskellige dele af teksten i dokumentet, skal du bruge klassetransformatorerne.LayoutLMForTokenClassification. Du kan muligvis finde flere detaljer om samme her.Her er et lille kodeeksempel, så du kan se, hvordan det kan fungere for dig
Nogle punkter at bemærke om Hugging Face LayoutLM
- I øjeblikket gør Hugging Face LayoutLM-modellen brug af Tesseracts open source-bibliotek til tekstudtrækning, hvilket ikke er særlig præcist. Du vil måske overveje at bruge et andet, betalt OCR-værktøj som AWS Textract eller Google Cloud Vision
- Den eksisterende model giver kun sprogmodellen, dvs. LayoutLM-indlejringerne, og ikke de sidste lag, der kombinerer visuelle funktioner. LayoutLMv2 (diskuteres i næste afsnit) bruger Detectron-biblioteket til også at aktivere visuelle indlejringer.
- Klassificeringen af etiketter sker på et ordniveau, så det er virkelig op til OCR-tekstudtrækningsmaskinen at sikre, at alle ord i et felt er i en kontinuerlig rækkefølge, eller et felt kan forudsiges som to.
LayoutLMv2
LayoutLM opstod som en revolution i, hvordan data blev udtrukket fra dokumenter. Men hvad angår deep learning-forskning, forbedres modellerne kun mere og mere over tid. LayoutLM blev på samme måde efterfulgt af LayoutLMv2, hvor forfatterne lavede et par væsentlige ændringer i, hvordan modellen blev trænet.
Inklusive 1-D Spatial Embeddings og Visual Token Embeddings
LayoutLMv2 inkluderede information om 1-D relativ placering, såvel som overordnet billedrelateret information. Grunden til, at dette er vigtigt, er på grund af de nye træningsmål, som vi nu vil diskutere
Nye uddannelsesmål
LayoutLMv2 inkluderede nogle ændrede træningsmål. Disse er som følger:
- Maskeret visuel sprogmodellering: Dette er det samme som i LayoutLM
- Tekstbilledjustering: Tekst blev tilfældigt dækket fra billedet, mens tekstsymbolerne blev leveret til modellen. For hver token skulle modellen lære, om den givne tekst var dækket eller ej. Herigennem var modellen i stand til at kombinere information fra både visuelle og tekstuelle modaliteter
- Text Image Matching: Modellen bliver bedt om at kontrollere, om det givne billede svarer til den givne tekst. Negative prøver fremføres enten som falske billeder, eller der leveres slet ingen billedindlejringer. Dette gøres for at sikre, at modellen lærer mere om, hvordan tekst og billeder hænger sammen.
Ved at bruge disse nye metoder og indlejringer var modellen i stand til at opnå højere F1-score på næsten alle testdatasættene som LayoutLM.
- Om
- adgang
- Konto
- præcis
- opnået
- tværs
- aktiv
- fremskreden
- midler
- AI
- Alle
- allerede
- Skønt
- beløb
- En anden
- tilgang
- OMRÅDE
- omkring
- artikel
- forfattere
- til rådighed
- AWS
- grundlag
- være
- BEDSTE
- Bit
- Boks
- Kort
- tilfælde
- udfordre
- klassificering
- Cloud
- kode
- kombineret
- selskab
- Compute
- Konfiguration
- Tilslutninger
- overvejelse
- Omkostninger
- kunne
- Kunder
- data
- dag
- Trods
- Detektion
- DID
- forskellige
- dokumenter
- ned
- e-handel
- Effektiv
- muliggør
- etablere
- Excel
- Ansigtet
- hurtigere
- Feature
- Funktionalitet
- Fed
- finansielle
- Fornavn
- efter
- generere
- GitHub
- hjælpe
- hjælper
- link.
- Hvordan
- How To
- HTTPS
- billede
- KIMOs Succeshistorier
- vigtigt
- Forbedre
- medtaget
- industrier
- oplysninger
- forsikring
- Intelligent
- IT
- mærkning
- Etiketter
- Sprog
- større
- LÆR
- læring
- Niveau
- Bibliotek
- LINK
- Liste
- lokalt
- placering
- placeringer
- manuelt
- massive
- matchende
- Matter
- model
- modeller
- mest
- netværk
- net
- åbent
- open source
- Produktion
- Indstillinger
- ordrer
- organisationer
- Andet
- betalt
- Papir
- stykke
- magt
- behandle
- giver
- PWC
- årsager
- anbefaler
- indberette
- påkrævet
- Krav
- forskning
- Resultater
- Genoptag
- Kør
- Scale
- Ordningen
- SEK
- forstand
- sæt
- indstilling
- skifte
- signifikant
- lignende
- Simpelt
- Størrelse
- lille
- Smart
- So
- noget
- påbegyndt
- succes
- forsyne
- forsyningskæde
- opgaver
- Teknologier
- prøve
- Gennem
- tid
- token
- Tokens
- top
- Kurser
- forstå
- brug
- udnytte
- værdi
- Hvad
- hvorvidt
- ord
- Arbejde
- arbejdere
- år