Vad är dokumentbehandling?
Dokumentbehandling är processen att automatisera extraheringen av strukturerad data från dokument. Detta kan vara för alla dokument, t.ex. en faktura, ett CV, ID-kort, etc. Den utmanande delen här är inte bara OCR. Det finns många tillgängliga alternativ till låga kostnader som kan extrahera text och ge dig platsen. Den verkliga utmaningen är att märka dessa textstycken exakt och automatiskt.
Affärspåverkan av dokumentbehandling
Flera branscher är mycket beroende av dokumentbehandling för sin dagliga verksamhet. Finansiella organisationer behöver tillgång till SEC-anmälningar, försäkringsanmälningar, ett e-handels- eller Supply Chain-företag kan behöva tillgång till fakturor som används, listan fortsätter. Noggrannheten i denna information är lika viktig som den tid som sparas, varför vi alltid rekommenderar att du använder avancerade metoder för djupinlärning som generaliserar mer och är mer exakta.
Enligt denna rapport från PwC, [länk] även den mest rudimentära mängden strukturerad dataextraktion kan hjälpa till att spara 30-50 % av personalens tid som spenderas på att manuellt kopiera och klistra in data från PDF-filer till Excel-kalkylblad. Modeller som LayoutLM är verkligen inte rudimentära, de har byggts som extremt intelligenta agenter som kan exakt dataextraktion i stor skala, över olika användningsfall. Även med många av våra egna kunder har vi minskat tiden som krävs för att extrahera data manuellt från 20 minuter per dokument till under 10 sekunder. Det är ett massivt skifte som gör det möjligt för arbetare att bli mer produktiva och för högre genomströmning totalt sett.
Så var kan AI liknande LayoutLM tillämpas? På Nanonets har vi använt sådan teknik för
och många andra användningsfall.
Varför LayoutLM?
Hur förstår en djupinlärningsmodell om en given text är en artikelbeskrivning på en faktura eller fakturanumret? Enkelt uttryckt, hur lär sig en modell hur man tilldelar etiketter korrekt?
En metod är att använda textinbäddningar från en massiv språkmodell som BERT eller GPT-3 och köra den genom en klassificerare – även om detta inte är särskilt effektivt. Det finns mycket information som man inte kan bedöma enbart med hjälp av text. Eller så kan man använda sig av bildbaserad information. Detta uppnåddes genom att använda R-CNN och Faster R-CNN-modeller. Däremot utnyttjas fortfarande inte informationen i dokumenten fullt ut. Ett annat tillvägagångssätt som användes var med Graph Convolutional Neural Networks, som kombinerade både platsinformation och textinformation, men tog inte hänsyn till bildinformation.
Så hur använder vi alla tre dimensioner av information, dvs texten, bilden och platsen för den givna texten också? Det är där modeller som LayoutLM kommer in. Trots att LayoutLM var ett aktivt forskningsområde under många år tidigare, var LayoutLM en av de första modellerna som nådde framgång genom att kombinera delarna för att skapa en unik modell som utför märkning med hjälp av positionsinformation, textbaserad information, och även bildinformation.
Handledning för layoutLM
Den här artikeln förutsätter att du förstår vad en språkmodell är. Om inte, oroa dig inte, vi skrev en artikel om det också! Om du vill lära dig mer om vad transformatormodeller är och vad uppmärksamhet är, här är en fantastisk artikel av Jay Alammar.
Förutsatt att vi har fått dessa saker ur vägen, låt oss börja med handledningen. Vi kommer att använda det ursprungliga LayoutLM-papperet som huvudreferens.
OCR-textextraktion
Det allra första vi gör med ett dokument är att extrahera den textbaserade informationen från dokumentet och hitta deras respektive platser. Med plats hänvisar vi till något som kallas en "bounding box". En begränsningsram är en rektangel som kapslar in textstycket på sidan.
I de flesta fall antas det att begränsningsrutan har origo i det övre vänstra hörnet, och att den positiva x-axeln är riktad från origo till höger på sidan och den positiva y-axeln är riktad från origo till längst ner på sidan, där en pixel anses vara måttenheten.
Språk- och platsinbäddningar
Därefter använder vi fem olika inbäddningslager. Den ena är att koda den språkrelaterade informationen – dvs textinbäddningar.
De övriga fyra är reserverade för platsinbäddningar. Om vi antar att vi känner till värdena för xmin, ymin, xmax och ymax kan vi bestämma hela begränsningsramen (om du inte kan visualisera det, här är en länk till dig). Dessa koordinater passeras genom sina respektive inbäddningslager för att koda information för plats.
De fem inbäddningarna – en för text och fyra för koordinaterna – läggs sedan ihop för att skapa det slutliga värdet av inbäddningen som skickas genom LayoutLM. Utgången kallas LayoutLM-inbäddningen.
Bildinbäddningar
Okej, så vi har lyckats hitta text- och platsrelaterad information genom att kombinera deras inbäddningar och skicka den genom en språkmodell. Hur går vi nu runt processen att kombinera bildrelaterad information i den?
Samtidigt som text- och layoutinformationen kodas parallellt använder vi Faster R-CNN för att extrahera de textområden som är relaterade till dokumentet. Faster R-CNN är en bildmodell som används för objektdetektering. I vårt fall använder vi det för att upptäcka olika textstycken (förutsatt att varje fras är ett objekt) och sedan skickar vi de segmenterade bilderna genom ett helt anslutet lager för att också skapa inbäddningar för bilderna.
LayoutLM-inbäddningarna såväl som bildinbäddningarna kombineras för att skapa en slutlig inbäddning, som sedan kan användas för att utföra nedströmsbehandling.
FörträningslayoutLM
Allt ovanstående är vettigt bara om vi förstår metoden som LayoutLM tränades i. När allt kommer omkring, oavsett vilken typ av kopplingar vi upprättar i ett neuralt nätverk, tills och om det inte tränas med rätt inlärningsmål, är det inte riktigt smart. Författarna till LayoutLM ville följa en metod som liknar den som användes för förträning av BERT.
Maskerad visuell språkmodell (MVLM)
För att hjälpa modellen att lära sig vilken text det kunde ha funnits på en viss plats, maskerade författarna slumpmässigt några tecken med text samtidigt som de behöll platsrelaterad information och inbäddningar. Detta gjorde det möjligt för LayoutLM att gå längre än enkel Masked Language Modeling, och hjälpte också att associera textinbäddningar med platsrelaterade modaliteter.
Multi-label Document Classification (MDC)
Att använda all information i dokumentet för att klassificera det i kategorier hjälper modellen att förstå vilken information som är relevant för en viss klass av dokument. Författarna noterar dock att för större datamängder kanske data om dokumentklasser inte är lättillgängliga. Därför har de tillhandahållit resultatbas både enbart MVLM-träning och MVLM + MDC-träning.
Finjustera LayoutLM för nedströmsuppgifter
Det finns flera nedströmsuppgifter som kan utföras med LayoutLM. Vi kommer att diskutera de som författarna åtagit sig.
Formförståelse
Denna uppgift innebär att länka en etiketttyp till en given text. Med hjälp av detta kan vi extrahera strukturerad data från alla typer av dokument. Givet den slutliga utmatningen, dvs LayouLM-inbäddningar + Bildinbäddningar, skickas de genom ett helt anslutet lager och passeras sedan genom en softmax för att förutsäga klasssannolikheter för etikett för en given text.
Kvittoförståelse
I denna uppgift lämnades flera informationsfack tomma på kvitton, och modellen var tvungen att placera textbitar korrekt på sina respektive fack.
Klassificering av dokumentbild
Information från dokumentets text och bild kombineras för att hjälpa till att förstå dokumentets klass genom att helt enkelt föra det genom ett softmax-lager.
Huggingface LayoutLM
En av huvudorsakerna till att LayoutLM diskuteras så mycket är att modellen var öppen källkod för ett tag sedan. Det är tillgänglig på Hugging Face, så att använda LayoutLM är betydligt enklare nu.
Innan vi dyker in i detaljerna för hur du kan finjustera LayoutLM för dina egna behov, finns det några saker att ta hänsyn till.
Installera bibliotek
För att köra LayoutLM behöver du transformatorbiblioteket från Hugging Face, som i sin tur är beroende av PyTorch-biblioteket. För att installera dem (om de inte redan är installerade), kör följande kommandon
På avgränsande rutor
För att skapa ett enhetligt inbäddningsschema oavsett bildstorlek, normaliseras begränsningsrutans koordinater på en skala av 1000
konfiguration
Med hjälp av klassen transformers.LayoutLMConfig kan du ställa in storleken på modellen så att den passar dina behov bäst, eftersom dessa modeller vanligtvis är tunga och behöver en hel del datorkraft. Att ställa in den på en mindre modell kan hjälpa dig att köra den lokalt. Du kan läs mer om klassen här.
LayoutLM för dokumentklassificering (Länk)
Om du vill utföra dokumentklassificering behöver du klasstransformatorerna.LayoutLMForSequenceClassification. Sekvensen här är sekvensen av text från dokumentet som du har extraherat. Här är ett litet kodexempel från Hugging Face.co som förklarar hur man använder det
LayoutLM för textmärkning (Länk)
För att utföra semantisk märkning, dvs tilldela etiketter till olika delar av texten i dokumentet, behöver du klassen transformers.LayoutLMForTokenClassification. Du kan hitta mer information om samma här.Här är ett litet kodexempel så att du kan se hur det kan fungera för dig
Några punkter att notera om Hugging Face LayoutLM
- För närvarande använder Hugging Face LayoutLM-modellen Tesseracts öppen källkodsbibliotek för textextraktion, vilket inte är särskilt exakt. Du kanske vill överväga att använda ett annat, betalt OCR-verktyg som AWS Textract eller Google Cloud Vision
- Den befintliga modellen tillhandahåller bara språkmodellen, dvs LayoutLM-inbäddningarna, och inte de sista lagren som kombinerar visuella egenskaper. LayoutLMv2 (diskuteras i nästa avsnitt) använder Detectron-biblioteket för att även möjliggöra inbäddningar av visuella funktioner.
- Klassificeringen av etiketter sker på ordnivå, så det är verkligen upp till OCR-textextraktionsmotorn att se till att alla ord i ett fält är i en kontinuerlig sekvens, annars kan ett fält förutsägas som två.
LayoutLMv2
LayoutLM kom till som en revolution i hur data extraherades från dokument. Men när det gäller forskning om djupinlärning förbättras modellerna bara mer och mer med tiden. LayoutLM efterträddes på samma sätt av LayoutLMv2, där författarna gjorde några betydande ändringar i hur modellen tränades.
Inklusive 1-D Spatial Embeddings och Visual Token Embeddings
LayoutLMv2 inkluderade information om 1-D relativ plats, såväl som övergripande bildrelaterad information. Anledningen till att detta är viktigt är på grund av de nya utbildningsmålen, som vi nu ska diskutera
Nya utbildningsmål
LayoutLMv2 inkluderade några modifierade träningsmål. Dessa är följande:
- Maskerad visuell språkmodellering: Detta är samma som i LayoutLM
- Textbildjustering: Text täcktes slumpmässigt från bilden, medan textsymbolerna gavs till modellen. För varje token måste modellen lära sig om den givna texten täcktes eller inte. Genom detta kunde modellen kombinera information från både visuella och textuella modaliteter
- Text Bildmatchning: Modellen uppmanas att kontrollera om den givna bilden motsvarar den givna texten. Negativa prover matas antingen som falska bilder eller så tillhandahålls inga bildinbäddningar alls. Detta görs för att modellen ska lära sig mer om hur text och bilder hänger ihop.
Genom att använda dessa nya metoder och inbäddningar kunde modellen uppnå högre F1-poäng på nästan alla testdatauppsättningar som LayoutLM.
- Om oss
- tillgång
- Konto
- exakt
- uppnås
- tvärs
- aktiv
- avancerat
- medel
- AI
- Alla
- redan
- Även
- mängd
- Annan
- tillvägagångssätt
- OMRÅDE
- runt
- Artikeln
- Författarna
- tillgänglig
- AWS
- grund
- Där vi får lov att vara utan att konstant prestera,
- BÄST
- Bit
- Box
- Kort
- fall
- utmanar
- klassificering
- cloud
- koda
- kombinerad
- företag
- Compute
- konfiguration
- Anslutningar
- övervägande
- Kostar
- kunde
- Kunder
- datum
- dag
- Trots
- Detektering
- DID
- olika
- dokument
- ner
- e-handel
- Effektiv
- möjliggör
- etablera
- excel
- Ansikte
- snabbare
- Leverans
- Funktioner
- Fed
- finansiella
- Förnamn
- efter
- generera
- GitHub
- hjälpa
- hjälper
- här.
- Hur ser din drömresa ut
- How To
- HTTPS
- bild
- Inverkan
- med Esport
- förbättra
- ingår
- industrier
- informationen
- försäkring
- Intelligent
- IT
- märkning
- Etiketter
- språk
- större
- LÄRA SIG
- inlärning
- Nivå
- Bibliotek
- LINK
- Lista
- lokalt
- läge
- platser
- manuellt
- massiv
- matchande
- Materia
- modell
- modeller
- mest
- nät
- nätverk
- öppet
- öppen källkod
- Verksamhet
- Tillbehör
- beställa
- organisationer
- Övriga
- betalas
- Papper
- bit
- kraft
- process
- ger
- PWC
- skäl
- rekommenderar
- rapport
- Obligatorisk
- Krav
- forskning
- Resultat
- Fortsätt
- Körning
- Skala
- ordningen
- SEC
- känsla
- in
- inställning
- skifta
- signifikant
- liknande
- Enkelt
- Storlek
- Small
- smarta
- So
- något
- igång
- framgång
- leverera
- leveranskedjan
- uppgifter
- Teknologi
- testa
- Genom
- tid
- token
- tokens
- topp
- Utbildning
- förstå
- användning
- utnyttja
- värde
- Vad
- om
- ord
- Arbete
- arbetare
- år