Che cos'è l'elaborazione dei documenti?
L'elaborazione dei documenti è il processo di automazione dell'estrazione di dati strutturati dai documenti. Questo potrebbe riguardare qualsiasi documento, ad esempio una fattura, un curriculum, carte d'identità, ecc. La parte impegnativa qui non è solo l'OCR. Sono disponibili molte opzioni a basso costo in grado di estrarre testo e fornirti la posizione. La vera sfida è etichettare queste parti di testo in modo accurato e automatico.
Impatto aziendale dell'elaborazione dei documenti
Numerosi settori fanno molto affidamento sull'elaborazione dei documenti per le loro operazioni quotidiane. Le organizzazioni finanziarie hanno bisogno di accedere alla documentazione SEC, alla documentazione assicurativa, una società di e-commerce o catena di fornitura potrebbe aver bisogno di accedere alle fatture in uso, e l'elenco potrebbe continuare. L'accuratezza di queste informazioni è importante tanto quanto il tempo risparmiato, motivo per cui consigliamo sempre di utilizzare metodi avanzati di deep learning che generalizzano di più e sono più accurati.
Secondo questo rapporto di PwC, [link] anche la quantità più rudimentale di estrazione di dati strutturati può aiutare a risparmiare il 30-50% del tempo impiegato dai dipendenti a copiare e incollare manualmente i dati dai PDF ai fogli di calcolo Excel. Modelli come LayoutLM non sono certamente rudimentali, sono stati costruiti come agenti estremamente intelligenti in grado di estrarre dati in modo accurato su larga scala, in diversi casi d'uso. Anche con molti dei nostri clienti, abbiamo ridotto il tempo necessario per estrarre manualmente i dati da 20 minuti per documento a meno di 10 secondi. Si tratta di un cambiamento enorme, che consente ai lavoratori di essere più produttivi e di ottenere una produttività complessiva più elevata.
Allora dove può essere applicata un’intelligenza artificiale simile a LayoutLM? Noi di Nanonets abbiamo utilizzato tale tecnologia per
- Automatizzazione dell'elaborazione delle fatture
- Estrazione dati tabella
- Estrazione dati dal modulo
- Riprendi l'analisi
e molti altri casi d'uso.
Perchè LayoutLM?
Come fa un modello di deep learning a capire se una determinata porzione di testo è la descrizione di un articolo in una fattura o il numero della fattura? In parole povere, come fa un modello a imparare ad assegnare correttamente le etichette?
Un metodo consiste nell’utilizzare incorporamenti di testo da un modello linguistico massiccio come BERT o GPT-3 ed eseguirlo attraverso un classificatore, sebbene questo non sia molto efficace. Ci sono molte informazioni che non è possibile valutare utilizzando esclusivamente il testo. Oppure si potrebbero utilizzare informazioni basate su immagini. Ciò è stato ottenuto utilizzando i modelli R-CNN e Faster R-CNN. Tuttavia, ciò non utilizza ancora pienamente le informazioni disponibili nei documenti. Un altro approccio utilizzato è stato quello delle reti neurali convoluzionali a grafo, che combinavano informazioni sia di localizzazione che testuali, ma non tenevano conto delle informazioni sulle immagini.
Quindi come utilizziamo tutte e tre le dimensioni dell'informazione, ovvero il testo, l'immagine e anche la posizione del testo fornito? È qui che entrano in gioco modelli come LayoutLM. Nonostante fosse un'area di ricerca attiva da molti anni, LayoutLM è stato uno dei primi modelli che ha raggiunto il successo combinando i pezzi per creare un modello singolare che esegue l'etichettatura utilizzando informazioni posizionali, informazioni basate su testo, e anche informazioni sull'immagine.
Esercitazione su LayoutLM
Questo articolo presuppone che tu comprenda cos'è un modello linguistico. In caso contrario, non preoccuparti, abbiamo scritto un articolo anche su questo! Se vuoi saperne di più su cosa sono i modelli di trasformatore e cos'è l'attenzione, qui è un articolo straordinario di Jay Alammar.
Supponendo di aver tolto di mezzo queste cose, iniziamo con il tutorial. Utilizzeremo il documento originale di LayoutLM come riferimento principale.
Estrazione testo OCR
La prima cosa che facciamo con un documento è estrarre le informazioni basate sul testo dal documento e trovare le rispettive posizioni. Per posizione ci riferiamo a qualcosa chiamato “riquadro di delimitazione”. Un riquadro di delimitazione è un rettangolo che incapsula la parte di testo sulla pagina.
Nella maggior parte dei casi, si presuppone che il riquadro di delimitazione abbia origine nell'angolo in alto a sinistra e che l'asse x positivo sia diretto dall'origine verso la destra della pagina e che l'asse y positivo sia diretto dall'origine a nella parte inferiore della pagina, dove l'unità di misura è un pixel.
Incorporamenti di lingua e posizione
Successivamente, utilizziamo cinque diversi livelli di incorporamento. Il primo è codificare le informazioni relative alla lingua, ovvero gli incorporamenti di testo.
Gli altri quattro sono riservati agli incorporamenti di posizione. Supponendo di conoscere i valori di xmin, ymin, xmax e ymax, possiamo determinare l'intero riquadro di delimitazione (se non riesci a visualizzarlo, ecco un collegamento per te). Queste coordinate vengono passate attraverso i rispettivi livelli di incorporamento per codificare le informazioni per la posizione.
I cinque incorporamenti, uno per il testo e quattro per le coordinate, vengono quindi sommati per creare il valore finale dell'incorporamento che viene passato attraverso LayoutLM. L'output viene definito incorporamento di LayoutLM.
Incorporamenti di immagini
Ok, quindi siamo riusciti a trovare il testo e le informazioni relative alla posizione combinando i loro incorporamenti e passandoli attraverso un modello linguistico. Ora come possiamo aggirare il processo di combinazione delle informazioni relative all'immagine al suo interno?
Mentre le informazioni sul testo e sul layout vengono codificate, parallelamente, utilizziamo Faster R-CNN per estrarre le regioni di testo relative al documento. Faster R-CNN è un modello di immagine utilizzato per il rilevamento di oggetti. Nel nostro caso, lo usiamo per rilevare diverse parti di testo (assumendo che ogni frase sia un oggetto) e quindi passiamo le immagini segmentate attraverso un livello completamente connesso per aiutare a generare incorporamenti anche per le immagini.
Gli incorporamenti di LayoutLM così come gli incorporamenti di immagini vengono combinati per creare un incorporamento finale, che può quindi essere utilizzato per eseguire l'elaborazione a valle.
Layout pre-formazioneLM
Tutto quanto sopra ha senso solo se comprendiamo il metodo con cui è stato addestrato LayoutLM. Dopotutto, non importa che tipo di connessioni stabiliamo in una rete neurale, finché e a meno che non venga addestrata con il giusto obiettivo di apprendimento, non è del tutto intelligente. Gli autori di LayoutLM hanno voluto perseguire un metodo simile a quello utilizzato per la pre-formazione di BERT.
Modello del linguaggio visivo mascherato (MVLM)
Per aiutare il modello a capire quale testo avrebbe potuto esserci in una determinata posizione, gli autori hanno mascherato in modo casuale alcuni token di testo mantenendo le informazioni e gli incorporamenti relativi alla posizione. Ciò ha consentito a LayoutLM di andare oltre la semplice modellazione del linguaggio mascherato e ha aiutato ad associare gli incorporamenti di testo anche a modalità relative alla posizione.
Classificazione dei documenti multietichetta (MDC)
L'utilizzo di tutte le informazioni contenute nel documento per classificarlo in categorie aiuta il modello a comprendere quali informazioni sono rilevanti per una determinata classe di documenti. Tuttavia, gli autori notano che per set di dati più grandi, i dati sulle classi di documenti potrebbero non essere immediatamente disponibili. Pertanto, hanno fornito sulla base dei risultati sia la sola formazione MVLM, sia la formazione MVLM + MDC.
Ottimizzazione di LayoutLM per le attività downstream
Esistono diverse attività downstream che possono essere eseguite con LayoutLM. Discuteremo quelli che gli autori hanno intrapreso.
Comprensione della forma
Questa attività comporta il collegamento di un tipo di etichetta a una determinata porzione di testo. Usandolo, possiamo estrarre dati strutturati da qualsiasi tipo di documento. Dato l'output finale, ovvero incorporamenti LayouLM + incorporamenti di immagini, vengono fatti passare attraverso un livello completamente connesso e quindi fatti passare attraverso un softmax per prevedere le probabilità della classe per l'etichetta di un dato pezzo di testo.
Comprensione della ricevuta
In questa attività, diversi slot di informazioni sono stati lasciati vuoti sulle ricevute e il modello ha dovuto posizionare correttamente le parti di testo nei rispettivi slot.
Classificazione delle immagini dei documenti
Le informazioni dal testo e dall'immagine del documento vengono combinate per aiutare a comprendere la classe del documento semplicemente facendolo passare attraverso un livello softmax.
Layout HuggingfaceLM
Uno dei motivi principali per cui LayoutLM viene discusso così tanto è perché il modello era open source qualche tempo fa. È disponibile su Hugging Face, quindi utilizzare LayoutLM ora è molto più semplice.
Prima di immergerci nei dettagli su come ottimizzare LayoutLM per le tue esigenze, ci sono alcune cose da prendere in considerazione.
Installazione di librerie
Per eseguire LayoutLM, avrai bisogno della libreria dei trasformatori di Hugging Face, che a sua volta dipende dalla libreria PyTorch. Per installarli (se non già installati), eseguire i seguenti comandi
Sui riquadri di delimitazione
Per creare uno schema di incorporamento uniforme indipendentemente dalle dimensioni dell'immagine, le coordinate del riquadro di delimitazione vengono normalizzate su una scala di 1000
Configurazione
Utilizzando la classe Transformers.LayoutLMConfig, puoi impostare la dimensione del modello in base alle tue esigenze, poiché questi modelli sono in genere pesanti e richiedono una certa potenza di calcolo. Impostarlo su un modello più piccolo potrebbe aiutarti a eseguirlo localmente. Puoi scopri di più sulla lezione qui.
LayoutLM per la classificazione dei documenti (Link)
Se desideri eseguire la classificazione dei documenti, avrai bisogno dei trasformatori di classe.LayoutLMForSequenceClassification. La sequenza qui è la sequenza di testo del documento che hai estratto. Ecco un piccolo esempio di codice di Hugging Face.co che spiegherà come usarlo
LayoutLM per l'etichettatura del testo (Link)
Per eseguire l'etichettatura semantica, ovvero assegnare etichette a diverse parti di testo nel documento, avrai bisogno della classe Transformers.LayoutLMForTokenClassification. Potresti trovare maggiori dettagli su anch'io.Ecco un piccolo esempio di codice per vedere come può funzionare per te
Alcuni punti da notare su Hugging Face LayoutLM
- Attualmente, il modello Hugging Face LayoutLM utilizza la libreria open source Tesseract per l'estrazione del testo, che non è molto accurata. Potresti prendere in considerazione l'utilizzo di uno strumento OCR diverso e a pagamento come AWS Textract o Google Cloud Vision
- Il modello esistente fornisce solo il modello linguistico, ovvero gli incorporamenti di LayoutLM, e non gli strati finali che combinano funzionalità visive. LayoutLMv2 (discusso nella sezione successiva) utilizza la libreria Detectron per abilitare anche l'incorporamento di funzionalità visive.
- La classificazione delle etichette avviene a livello di parola, quindi spetta al motore di estrazione del testo OCR garantire che tutte le parole in un campo siano in una sequenza continua, altrimenti un campo potrebbe essere previsto come due.
LayoutLMv2
LayoutLM è nato come una rivoluzione nel modo in cui i dati venivano estratti dai documenti. Tuttavia, per quanto riguarda la ricerca sul deep learning, i modelli non fanno altro che migliorare sempre di più nel tempo. Allo stesso modo LayoutLM è stato sostituito da LayoutLMv2, in cui gli autori hanno apportato alcune modifiche significative al modo in cui il modello è stato addestrato.
Inclusi incorporamenti spaziali 1-D e incorporamenti di token visivi
LayoutLMv2 includeva informazioni relative alla posizione relativa 1-D, nonché informazioni generali relative all'immagine. Il motivo per cui questo è importante è a causa dei nuovi obiettivi formativi, di cui parleremo ora
Nuovi obiettivi formativi
LayoutLMv2 includeva alcuni obiettivi formativi modificati. Questi sono i seguenti:
- Modellazione del linguaggio visivo mascherato: è la stessa di LayoutLM
- Allineamento immagine testo: il testo è stato coperto in modo casuale dall'immagine, mentre i token di testo sono stati forniti al modello. Per ogni token, il modello doveva apprendere se il testo dato era coperto o meno. Attraverso ciò, il modello è stato in grado di combinare informazioni provenienti sia dalla modalità visiva che da quella testuale
- Corrispondenza immagine testo: al modello viene chiesto di verificare se l'immagine data corrisponde al testo dato. I campioni negativi vengono forniti come immagini false oppure non vengono forniti incorporamenti di immagini. Questo viene fatto per garantire che il modello impari di più su come il testo e le immagini sono correlati.
Utilizzando questi nuovi metodi e integrazioni, il modello è stato in grado di ottenere punteggi F1 più elevati su quasi tutti i set di dati di test come LayoutLM.
- Chi siamo
- accesso
- Il mio account
- preciso
- raggiunto
- operanti in
- attivo
- Avanzate
- agenti
- AI
- Tutti
- già
- Sebbene il
- quantità
- Un altro
- approccio
- RISERVATA
- in giro
- articolo
- gli autori
- disponibile
- AWS
- base
- essendo
- MIGLIORE
- Po
- Scatola
- Carte
- casi
- Challenge
- classificazione
- Cloud
- codice
- combinato
- azienda
- Calcolare
- Configurazione
- Connessioni
- considerazione
- Costi
- potuto
- Clienti
- dati
- giorno
- Nonostante
- rivelazione
- DID
- diverso
- documenti
- giù
- e-commerce
- Efficace
- consentendo
- stabilire
- Excel
- Faccia
- più veloce
- caratteristica
- Caratteristiche
- Federale
- finanziario
- Nome
- i seguenti
- generare
- GitHub
- Aiuto
- aiuta
- qui
- Come
- Tutorial
- HTTPS
- Immagine
- Impact
- importante
- competenze
- incluso
- industrie
- informazioni
- assicurazione
- Intelligente
- IT
- etichettatura
- per il tuo brand
- Lingua
- superiore, se assunto singolarmente.
- IMPARARE
- apprendimento
- Livello
- Biblioteca
- LINK
- Lista
- a livello locale
- località
- posizioni
- manualmente
- massiccio
- corrispondenza
- Importanza
- modello
- modelli
- maggior parte
- Rete
- reti
- aprire
- open source
- Operazioni
- Opzioni
- minimo
- organizzazioni
- Altro
- pagato
- Carta
- pezzo
- energia
- processi
- fornisce
- PWC
- motivi
- raccomandare
- rapporto
- necessario
- Requisiti
- riparazioni
- Risultati
- curriculum vitae
- Correre
- Scala
- schema
- SEC
- senso
- set
- regolazione
- spostamento
- significativa
- simile
- Un'espansione
- Taglia
- piccole
- smart
- So
- qualcosa
- iniziato
- il successo
- fornire
- supply chain
- task
- Tecnologia
- test
- Attraverso
- tempo
- token
- Tokens
- top
- Training
- capire
- uso
- utilizzare
- APPREZZIAMO
- Che
- se
- parole
- Lavora
- lavoratori
- anni