Estrazione e mappatura dei campi
Annotazioni
Per altri dettagli, vedi la scheda Testo e immagini .
L'estrazione dei campi è il processo di acquisizione di output di testo da OCR e il mapping di singoli valori di testo a campi dati specifici etichettati che corrispondono a informazioni aziendali significative. Mentre OCR indica il testo presente in un documento, l'estrazione dei campi indica cosa significa il testo e dove appartiene nei sistemi aziendali.
Pipeline di estrazione dei campi
L'estrazione dei campi segue una sequenza sistematica che trasforma l'output OCR in dati strutturati.
Le fasi del processo di estrazione dei campi sono:
- Inserimento di output OCR.
- Rilevamento dei campi e identificazione dei candidati.
- Mappatura dei campi e associazione.
- Normalizzazione e standardizzazione dei dati.
- Integrazione con processi e sistemi aziendali.
Esaminiamo queste fasi in modo più dettagliato.
Fase 1: Inserimento di output OCR
Il processo inizia con l'output strutturato proveniente dalla pipeline OCR, che può includere:
- Contenuto di testo non elaborato: caratteri e parole effettivi estratti dal documento
- Metadati posizionali: coordinate del riquadro delimitatore, posizioni delle pagine e informazioni sull'ordine di lettura
- Punteggi di attendibilità: livelli di confidenza del motore OCR per ogni elemento di testo
- Informazioni sul layout: struttura del documento, interruzioni di riga, limiti di paragrafo
Annotazioni
A differenza della semplice elaborazione del testo, l'estrazione dei campi si basa principalmente sulla posizione in cui il testo viene visualizzato nel documento, non solo su quello che dice. La posizione di "12345" potrebbe aiutare a determinare se si tratta di un numero di fattura, un ID cliente o un numero di telefono.
Fase 2: Rilevamento dei campi e identificazione dei candidati
Questa fase identifica il valore potenziale del campo nell'output OCR. Esistono più approcci che possono essere usati, indipendentemente o in combinazione, per determinare i campi probabili nei risultati OCR.
Rilevamento basato su modello
I modelli per il rilevamento dei campi si basano su modelli di corrispondenza basati su regole. L'identificazione dei campi può essere eseguita usando tecniche come:
- Layout di documenti predefiniti con posizioni di campo note e parole chiave di ancoraggio.
- Cerca coppie etichetta-valore come "Numero fattura:", "Date:", "Total:".
- Espressioni regolari e algoritmi di corrispondenza di stringhe.
I vantaggi di un approccio basato su modello includono un'accuratezza elevata per i tipi di documenti noti, l'elaborazione rapida e i risultati spiegabili.
Le limitazioni dell'approccio includono il requisito per la creazione manuale dei modelli e la complessità causata da variazioni di layout o incoerenze di denominazione dei campi.
Rilevamento basato su Machine Learning
Anziché la logica hardcoded per estrarre campi in base a nomi e posizioni noti, è possibile usare un corpus di documenti di esempio per eseguire il training di un modello di Machine Learning che estrae i campi in base alle relazioni apprese. I modelli basati sui trasformatori in particolare sono validi per applicare segnali contestuali per identificare i modelli e quindi spesso sono la base di una soluzione di rilevamento dei campi.
Gli approcci di addestramento per i modelli di machine learning per il rilevamento dei campi includono:
- Apprendimento supervisionato: addestrato su set di dati etichettati con posizioni di campi note.
- Apprendimento auto-supervisionato: sottoposto a training preliminare su corpora di documenti di grandi dimensioni per comprendere i modelli di layout.
- Apprendimento multimodale: combina caratteristiche testuali, visive e posizionali.
-
Architetture di modelli avanzate, ad esempio:
- Reti neurali del grafo (GNN) che modellano le relazioni spaziali tra gli elementi di testo come connessioni a grafo.
- Meccanismi di attenzione che si concentrano sulle aree del documento pertinenti durante la stima dei valori dei campi.
- Modelli da sequenza a sequenza che trasformano sequenze di testo non strutturate in assegnazioni di campo strutturate.
Intelligenza artificiale generativa per l'estrazione basata su schema
I recenti progressi nei modelli di linguaggio di grandi dimensioni hanno portato all'emergere di tecniche di rilevamento dei campi basate sull'intelligenza artificiale generative, che consentono un rilevamento dei campi più efficiente ed efficace tramite:
- Estrazione basata su prompt in cui si fornisce all'LLM il testo del documento e una definizione dello schema, e fa corrispondere il testo ai campi dello schema.
- Apprendimento con pochi scatti in cui è possibile eseguire il training di modelli con esempi minimi per estrarre campi personalizzati.
- Ragionamento passo-passo che guida i modelli attraverso la logica di identificazione passo dopo passo dei campi.
Fase 3: Mappatura dei campi e associazione
Dopo aver identificato i valori candidati, è necessario eseguirne il mapping a campi dello schema specifici:
Tecniche di associazione chiave-valore
In molti casi, i campi dati di un documento o di un modulo sono valori discreti che possono essere mappati alle chiavi, ad esempio il nome del fornitore, la data e l'importo totale in una ricevuta o fattura. Le tecniche comuni usate per l'associazione chiave-valore includono:
Analisi di prossimità:
- Clustering spaziale: raggruppare gli elementi di testo nelle vicinanze usando algoritmi di distanza.
- Analisi degli ordini di lettura: seguire il flusso di testo naturale per associare le etichette ai valori.
- Relazioni geometriche: utilizzare schemi di allineamento, indentazione e posizionamento.
Riconoscimento di modelli linguistici:
- Riconoscimento di entità denominate (NER): identificare tipi di entità specifici (date, importi, nomi).
- Annotazione delle parti del discorso: Comprendere le relazioni grammaticali tra etichette e valori.
- Analisi delle dipendenze: analizzare le relazioni sintattiche nel testo.
Elaborazione di contenuti strutturati e tabelle
Alcuni documenti includono strutture di testo più complesse, ad esempio tabelle. Ad esempio, una ricevuta o una fattura può includere una tabella di voci con colonne per il nome dell'articolo, il prezzo e la quantità acquistata.
La presenza di una tabella può essere determinata usando diverse tecniche, tra cui:
- Architetture specializzate della rete neurale convoluzionale (CNN) per il riconoscimento della struttura delle tabelle.
- Approcci di rilevamento degli oggetti adattati per l'identificazione delle celle di tabella.
- Approcci di analisi basati su grafi che modellano la struttura della tabella come relazioni tra celle.
Per eseguire il mapping dei valori nelle celle di una tabella ai campi, la soluzione di estrazione dei campi può usare una o più delle tecniche seguenti:
- Associazione di riga-colonna per mappare le celle della tabella a schemi di campo specifici.
- Rilevamento delle intestazioni per identificare le intestazioni di colonna e comprendere i significati dei campi.
- Elaborazione gerarchica per gestire strutture di tabelle annidate e sub-totali.
Punteggio di attendibilità e convalida
L'accuratezza dell'estrazione dei campi dipende da molti fattori e gli algoritmi e i modelli usati per implementare la soluzione sono soggetti a potenziali errori di identificazione errata o interpretazione del valore. A tale scopo, vengono utilizzate varie tecniche per valutare l'accuratezza dei valori dei campi stimati; comprendente:
- Attendibilità OCR: eredita i punteggi di attendibilità dal riconoscimento del testo sottostante.
- Attendibilità dei criteri di ricerca: punteggio basato sul livello di corrispondenza dell'estrazione rispetto ai criteri previsti.
- Convalida del contesto: verifica che i valori dei campi abbiano senso nel contesto del documento.
- Convalida tra campi: controllo delle relazioni tra i campi estratti, ad esempio verificando che i subtotali delle voci si sommino al totale della fattura.
Fase 4: Normalizzazione e standardizzazione dei dati
I valori estratti non elaborati vengono in genere trasformati in formati coerenti (ad esempio per garantire che tutte le date estratte siano espresse nello stesso formato di data) e verificata la validità.
Standardizzazione del formato
Esempi di standardizzazione del formato che è possibile implementare includono:
Normalizzazione della data:
- Rilevamento formato: identificare vari formati di data (MM/GG/AAAA, GG-MM-AAAA e così via).
- Algoritmi di analisi: convertire in formati ISO standardizzati.
- Risoluzione delle ambiguità: gestire i casi in cui il formato della data non è chiaro.
Gestione di valuta e numeri
- Riconoscimento dei simboli: Gestione differente dei simboli di valuta e dei separatori delle migliaia.
- Normalizzazione decimale: standardizzare la rappresentazione del separatore decimale tra le diverse impostazioni locali.
- Conversione unità: convertire tra unità di misura diverse in base alle esigenze.
Standardizzazione del testo:
- Normalizzazione maiuscole/minuscole: applicare regole di utilizzo delle maiuscole/minuscole coerenti.
- Standardizzazione della codifica: gestire diverse codifiche di caratteri e caratteri speciali.
- Espansione delle abbreviazioni: convertire le abbreviazioni comuni in formati completi.
Convalida dei dati e controllo qualità
Oltre a formattare i campi estratti, il processo di standardizzazione consente un'ulteriore convalida dei valori estratti tramite tecniche come:
Convalida basata su regole:
- Controllo del formato: verificare che i valori estratti corrispondano ai modelli previsti (numeri di telefono, indirizzi di posta elettronica).
- Convalida dell'intervallo: assicurarsi che i valori numerici rientrano entro limiti ragionevoli.
- Controllo campo obbligatorio: verificare che siano presenti tutti i campi obbligatori.
Convalida statistica:
- Rilevamento di valori anomali: identificare valori insolitamente alti o bassi che potrebbero indicare errori di estrazione.
- Analisi della distribuzione: confrontare i valori estratti rispetto ai modelli cronologici.
- Convalida tra documenti: verificare la coerenza tra i documenti correlati.
Fase 5: Integrazione con processi e sistemi aziendali
La fase finale del processo prevede in genere l'integrazione dei valori dei campi estratti in un processo aziendale o in un sistema:
Mapping dello schema
I campi estratti potrebbero dover essere ulteriormente trasformati o riformattati in modo da allinearli agli schemi dell'applicazione usati per l'inserimento di dati in sistemi downstream. Per esempio:
- Schemi di database: eseguire il mapping dei campi estratti a colonne e tabelle di database specifiche.
- Payload API: formattare i dati per l'utilizzo dell'API REST da parte di sistemi downstream.
- Code di messaggi: preparare i messaggi strutturati per l'elaborazione asincrona.
Il processo di mapping dello schema potrebbe comportare trasformazioni come:
- Ridenominazione dei campi: eseguire il mapping dei nomi dei campi estratti alle convenzioni di sistema di destinazione.
- Conversione dei tipi di dati: verificare che i valori corrispondano ai tipi di dati previsti nei sistemi di destinazione.
- Logica condizionale: applicare regole business per la trasformazione e la derivazione dei campi.
Metriche e report di qualità
Un'altra attività comune al termine del processo di estrazione consiste nel valutare e segnalare la qualità dei dati estratti. Il report può includere informazioni quali:
- Punteggi di attendibilità a livello di campo: classificazioni di attendibilità individuali per ogni campo estratto.
- Valutazione della qualità a livello di documento: metriche generali di estrazione riuscita.
- Categorizzazione degli errori: classificare gli errori di estrazione in base al tipo e alla causa.