Glossario ContellectAcquisire e comprendere

OCR: riconoscimento dei caratteri

Convertire le immagini di testo in caratteri leggibili dalla macchina, e dove questo si ferma.

Il riconoscimento ottico dei caratteri (OCR) è la conversione di immagini di testo, come scansioni e fotografie, in dati caratteriali leggibili dalla macchina.

L’OCR risponde a una sola domanda: quali caratteri compaiono su questa pagina. Non stabilisce che cosa sia il documento, quali valori siano rilevanti, né se qualcuno di essi sia corretto.

Che cosa produce realmente l’OCR

Un motore OCR moderno restituisce più di una semplice stringa piatta. L’output tipico comprende i caratteri riconosciuti, le loro coordinate di delimitazione sulla pagina, un valore di confidenza per singolo carattere o per parola e una descrizione della struttura, come righe, blocchi e ordine di lettura.

È proprio per questo output strutturale che la qualità dell’OCR non è un numero unico. Un motore può leggere correttamente ogni carattere e restituirlo comunque in un ordine che rende il risultato inutilizzabile: succede regolarmente con i layout a più colonne, le barre laterali e i moduli in cui etichette e valori sono visivamente adiacenti ma molto distanti nel flusso sottostante.

Analisi del layout e ordine di lettura

Prima del riconoscimento la pagina viene segmentata: i blocchi di testo separati dalle immagini, le colonne individuate, le tabelle rilevate, intestazioni e piè di pagina messi da parte. Questa è l’analisi del layout, e determina se i caratteri vengano restituiti in una sequenza che una persona riconoscerebbe come il contenuto del documento.

Le tabelle sono la difficoltà classica. Una tabella senza bordi è visivamente evidente e strutturalmente invisibile, quindi i confini delle celle devono essere dedotti dall’allineamento degli spazi bianchi. Celle unite, testo che va a capo dentro una cella e continuazione oltre un’interruzione di pagina mandano in errore qualsiasi rilevamento ingenuo.

Rilevamento della lingua e del sistema di scrittura

I documenti multilingue richiedono che la lingua sia identificata prima o durante il riconoscimento, perché i modelli dei caratteri sono specifici per lingua, così come i dizionari usati per correggere le forme ambigue. I documenti con più sistemi di scrittura, frequenti nella documentazione aziendale araba e dell’area del Golfo, dove i nomi di prodotto in inglese compaiono all’interno di testo in arabo, richiedono un rilevamento per singola area anziché una sola impostazione di lingua a livello di documento.

I sistemi di scrittura da destra a sinistra aggiungono una complessità di ordine di lettura distinta dall’accuratezza dei caratteri. Un sistema può identificare correttamente ogni carattere arabo e restituirlo comunque in un ordine che ne rovescia il significato quando si alterna a testo latino e cifre.

Perché l’output dell’OCR non è un dato strutturato

È questa la distinzione che conta sul piano commerciale, ed è quella che viene confusa più spesso. L’OCR restituisce testo. Un processo ha bisogno di valori: questo numero di fattura, quel totale, queste righe di dettaglio, questa data di firma.

Passare dall’uno all’altro richiede di stabilire che cosa sia il documento, ovvero la classificazione dei documenti, e poi di individuare e interpretare valori specifici, ovvero l’estrazione dei dati dai documenti. Insieme alla validazione e allo smistamento, quella catena è l’elaborazione documentale intelligente. L’OCR ne è la prima fase sostanziale, non un sostituto.

Una verifica utile: se l’output del sistema è ricercabile ma una persona deve ancora leggere ogni documento per digitarne i valori in un altro sistema, si è adottato l’OCR, non l’automazione documentale.

L’accuratezza dipende più dall’input che dal motore

I team che confrontano i motori OCR trovano di solito differenze minori del previsto, perché è la qualità dell’immagine a dominare. Una risoluzione inferiore a circa 200 punti per pollice, una compressione JPEG aggressiva, l’inclinazione, le ombre delle fotografie scattate col telefono, le stampe termiche sbiadite e la scansione con un contrasto errato costano più accuratezza di quanto valga il divario tra motori validi.

Per questo la pre-elaborazione ha un peso sproporzionato. Il raddrizzamento, la rimozione del rumore, la normalizzazione del contrasto e lo scarto delle immagini che scendono sotto una soglia minima di qualità prima di tentare il riconoscimento tendono a migliorare il risultato complessivo più di un cambio di motore.

Il corollario merita di essere detto con chiarezza: un progetto che sistema il proprio canale di acquisizione, per esempio sostituendo i documenti fotografati con un’applicazione di scansione che impone risoluzione e inquadratura, ottiene spesso più di uno che dedica lo stesso sforzo alla scelta del modello.

Che cosa va storto più spesso

L’accuratezza viene dichiarata a livello di carattere. Un’accuratezza del novantanove percento sui caratteri suona eccellente e può comunque significare che una quota rilevante di documenti contiene almeno un campo errato, perché gli errori si concentrano nella minoranza di bassa qualità anziché distribuirsi in modo uniforme.

La confidenza viene trattata come correttezza. Un valore alto di confidenza dell’OCR indica la certezza del motore sulle forme dei caratteri. Non dice nulla sul fatto che quel valore sia quello giusto per il campo. Vedere punteggio di confidenza.

Si dà per scontato che la scrittura manuale sia coperta. Il riconoscimento del testo scritto a mano è un problema diverso, con un’accuratezza sensibilmente differente, e i campi vincolati come le date in caselle si comportano in modo molto diverso dalle annotazioni libere.

Contellect One esegue il riconoscimento nella fase di lettura dell’elaborazione documentale intelligente.

Dalla definizione alla pratica

Scopri come Contellect One governa i contenuti dall'acquisizione all'azione

Richiedi una demo