
Software e sistemi di lettura ottica per la digitalizzazione documentale, ossia l’acquisizione dei dati contenuti in qualsiasi documento.

Software e sistemi di lettura ottica per la digitalizzazione documentale, ossia l’acquisizione dei dati contenuti in qualsiasi documento.
Che cos’è un software di lettura ottica
Un software di lettura ottica è un sistema digitale che si occupa di rilevare in maniera automatica i dati presenti su un supporto scritto o digitale e convertirle in informazioni manipolabili e trattabili a livello informatico – un’operazione che può essere definita come digitalizzazione documentale. In pratica, un software di lettura ottica svolge la stessa funzione che svolgerebbe un operatore di data entry umano, incaricato di trascrivere manualmente alla tastiera tutti i dati contenuti in una pila di documenti cartacei – ma lo fa più velocemente, con maggior precisione, e con prestazioni costanti.
Dietro questa definizione apparentemente banale di un’operazione che è altrettanto apparentemente semplice si nasconde in realtà un mondo di grande complessità. Un software di lettura ottica infatti deve:
- Partire dalla scansione di un documento cartaceo o digitale, che è concettualmente un’immagine e non contiene alcun dato manipolabile
- Riconoscere che in quell’immagine alcuni dei segni sono in realtà dei caratteri alfanumerici
- Capire quali siano quei caratteri
- Tradurre quei segni nei caratteri digitali corrispondenti (consiste in questo l’effettiva digitalizzazione documentale)
- Importare i dati così ottenuti in un sistema che li renda utilizzabili.

Perché servono i sistemi di lettura ottica
Per capire quale sia l’utilità di un sistema di lettura ottica bisogna innanzitutto farsi un’immagine chiara e concreta della realtà quotidiana del lavoro e della gestione dei dati: e una seria osservazione di quest’ambiente non può che portare, immediatamente, ad una conclusione evidente.
L’ufficio paperless, completamente digitale, promesso dalla rivoluzione informatica non esiste.
I documenti cartacei sono presenti in una mole più massiccia che mai. Ne compiliamo per aprire un conto corrente, per fornire ad un supermercato i dati necessari ad avere una carta fedeltà, per sostenere esami e concorsi, per pagare con un bollettino postale; ne compila a centinaia ogni giorno il medico che deve stilare le ricette farmaceutiche per i suoi assistiti; li usiamo per dare ricevuta di un pagamento, o per realizzare un contratto da firmare. E se al documento strettamente cartaceo uniamo quello che ci arriva in formato sì digitale, ma non modificabile o leggibile, o sotto forma di scansione e quindi di immagine, allora il numero di documenti che rimangono di per sé completamente illeggibili per un sistema informatico cresce a dismisura, includendo gli estratti conto, le fatture internazionali, o i documenti di trasporto.
E i documenti – cartacei o meno che siano – esistono per un preciso motivo: per permettere di trasmettere dei dati (di qualsiasi tipo, e con qualsiasi scopo) da qualcuno a qualcun altro. Acquisire quei dati per poterli sfruttare è quindi sempre stata un’operazione necessaria; e i sistemi di lettura ottica sono così importanti proprio perché trattare questi documenti ogni giorno in maniera tradizionale, per un’azienda, è un costo sempre meno sensato e sempre meno sostenibile.
La procedura di data entry tradizionale, svolta da operatori umani, è infatti una pratica piena di limiti e difetti.
- È alienante, e affida ad una persona un lavoro ripetitivo, mentalmente faticoso, e privo di soddisfazioni.
- È imprecisa, perché anche l’operatore più serio e professionale è soggetto a stanchezza, distrazione, ed errore.
- È lenta, perché richiede tempi lunghi e non riducibili.
- È antieconomica, perché ogni operatore deputato a tale operazione ha un costo significativo.
I sistemi di lettura ottica, di contro, permettono di ridurre pressoché a zero il tempo di inserimento dei dati, di lavorare su più documenti elettronici allo stesso tempo, e quindi di inserire grandi volumi di dati in tempi molto ristretti, con evidente riduzione dei costi. La precisione dei sistemi di lettura ottica, pur non essendo assoluta, non è compromessa da stanchezza o distrazione, e la digitalizzazione documentale coinvolge tutti i possibili dati contenuti in un documento, con una completezza impensabile per un operatore umano e ricadute estremamente positive su successivi processi di indicizzazione dei documenti.
Come funzionano i software di lettura ottica
Per chiarire come funzionano i software di lettura ottica è importante partire ancora una volta da ciò su cui i software stessi operano, ossia i dati. E per ampliare quanto abbiamo detto finora parlando di documenti, possiamo innanzitutto chiarire che i dati che possono dover essere rilevati e sottoposti a digitalizzazione documentale sono fondamentalmente di quattro tipi:
- Caratteri alfanumerici stampati (come quelli di un documento prodotto da una stampante);
- Caratteri alfanumerici manoscritti (come quelli apposti su un modulo compilato a mano);
- Marcature, ossia segni scuri (come i pallini anneriti in un test a risposta multipla);
- Codici a barre (come quelli usati nella prezzatura degli articoli in commercio o i QR Code e i Datamatrix).

Per tutte queste tipologie di dato, il software di lettura ottica deve essere in grado, come dicevamo, di riconoscere la presenza dei segni significativi, interpretarli, e acquisirli. Questo è reso possibile da diverse tecnologie, in base al tipo di simboli da interpretare: e avremo quindi software di lettura ottica OCR, che riconoscono i caratteri stampati, ICR per riconoscere quelli manoscritti, OMR per interpretare le marcature e BCR per la lettura dei codici a barre lineari e bidimensionali.
Il software di lettura ottica – che sarà stato programmato con precisi parametri di lettura per stabilire come e dove deve acquisire i dati, creando un modello di interpretazione documentale – procederà quindi ad analizzare l’immagine scansita del documento e trasformarla in testo interpretabile e modificabile a livello digitale. Il grado di precisione ed esattezza del risultato, naturalmente, varierà in base alla natura dei dati stessi – l’interpretazione di un codice a barre è molto più semplice, per un software di lettura ottica, rispetto a quella di un carattere manoscritto – e, pur mantenendosi ormai su livelli genericamente molto elevati, introduce una questione fondamentale, ossia la valutazione della validità di un software di lettura ottica.
Come valutare un sistema di lettura ottica
Il primo criterio, e il più apparentemente logico, per valutare se un sistema di lettura ottica sia efficiente – abbia cioè delle buone performance – è quello rappresentato da un concetto che viene chiamato Recognition Rate, e consiste nella misurazione della percentuale di dati riconosciuti correttamente rispetto al totale. Se di due sistemi ci viene detto che il primo ha una percentuale di riconoscimento del 97% e il secondo del 92%, parrebbe infatti logico decidere che il primo è più performante del secondo.
Sebbene questo ragionamento abbia dei punti validi, la questione è più complessa di così, per vari motivi.
Partiamo infatti da un concetto fondamentale: ogni sistema di lettura ottica viene valutato, per fornire dati di questo genere, su un diverso campione di documenti, scelto opportunamente da chi lo produce. Non avendo accesso a quei documenti, il dato può essere completamente vero ma non è comparabile, perché non sappiamo quanto fossero complessi e difficili i due set campione usati dai due diversi sistemi in fase di valutazione.
Si potrebbe allora dire che la comparazione vada eseguita su un set standard di documenti, così da uniformare i risultati. Questo approccio ha sicuramente del merito rispetto al precedente, ma non tiene conto di un altro parametro essenziale, ossia il False Positive Rate – o percentuale dei dati che, pur essendo errati, vengono interpretati come validi dal sistema di lettura ottica.
Un sistema di lettura ottica, infatti, attribuisce un determinato valore di certezza, o confidenza, ad ogni dato che interpreta: ad esempio potrà dare un valore di assoluta certezza alla lettura di un 5 – carattere di forma unica e molto riconoscibile – ma uno minore alla lettura di un 8, facilmente confondibile con una B maiuscola, perché il programmatore sa che è più probabile che in questo secondo caso il sistema commetta un errore. Se però queste soglie sono male impostate, e il sistema di lettura ottica è per così dire “troppo sicuro di sé” e attribuisce una confidenza troppo alta alle proprie letture, possiamo avere il caso di un sistema che sbaglia il 5% delle letture, ma non se ne accorge e non segnala la necessità di una verifica: e ad un sistema del genere sarebbe sicuramente preferibile un altro che errasse magari nel 7% dei casi, ma lo segnalasse, permettendo all’operatore di controllo di effettuare le necessarie correzioni.
E proprio parlando di correzioni arriviamo al terzo e fondamentale concetto, ossia il fatto che un sistema di lettura ottica legge e interpreta dati – ossia, solitamente, sequenze di caratteri – mentre il dato di recognition rate è normalmente misurato sul singolo carattere. Questo fa una differenza enorme, come è semplice mostrare.
Immaginiamo di avere cinque campi dati da interpretare, ciascuno da 10 caratteri. Sono 50 caratteri in totale: un sistema di lettura ottica con una recognition rate del 90% ne interpreterà correttamente 45. Ma fa un’enorme differenza se quei cinque caratteri sbagliati sono tutti in un solo campo – il che significa che quattro campi sono stati letti correttamente – o se sono uno per campo, il che significherebbe che nessuno dei campi è stato acquisito in maniera corretta!
I parametri che abbiamo nominato sono quindi sicuramente dei dati di partenza sensati, ma un sistema di lettura ottica davvero valido deve sempre prevedere la possibilità di validare e correggere i dati.
La correzione degli errori nei software di lettura ottica
La correzione degli errori, che sono di per sé inevitabili, è un elemento essenziale in un buon software di lettura ottica. Per fortuna, con i corretti accorgimenti, anche questa può essere in parte automatizzata in fase di programmazione, riducendo ulteriormente i tempi e l’impegno dell’operatore.
Un sistema di correzione automatico degli errori dei software di lettura ottica richiede essenzialmente due elementi: da un lato la corretta profilazione del dato – ad esempio, l’identificazione che un determinato campo contiene un CAP – e la presenza di apposite tabelle che contengano tutti i valori possibili.
Ipotizziamo infatti un errore di lettura sul CAP di Milano, 20100. Un buon software di lettura ottica, sapendo che si tratta di un CAP, saprà anche che contiene solo valori numerici, e di fronte ad un’errata rilevazione come Z0100 saprebbe che quel carattere non può essere una Z – e confrontandolo con i valori possibili per un CAP ipotizzerebbe che si tratti invece di un 2. In questo modo proporrebbe all’operatore, nella lista correzioni, l’ipotesi “Z0100 -> 20100”, che all’operatore non resterebbe che confermare.
Questo tipo di implementazione di tabelle di controllo dipende ovviamente dalla natura dei dati trattati dal software di lettura ottica nella specifica applicazione, e rientra nell’ambito più ampio delle personalizzazioni del software di digitalizzazione documentale stesso.
La personalizzazione dei sistemi di lettura ottica
Per svolgere al meglio le proprie funzioni, i sistemi di lettura ottica devono essere attentamente calibrati e personalizzati sulle esigenze specifiche di ogni azienda e di ogni applicazione. Un buon sistema di lettura ottica è quindi flessibile e può essere arricchito con funzioni aggiuntive, e integrato ai software e ai sistemi già in uso in azienda, che si tratti di uno specifico “addestramento” del software ICR per riconoscere le diverse lingue in cui sono redatti i documenti da interpretare, della possibilità di programmare “modelli documentali” diversi e adattati ai moduli più frequentemente ricevuti in azienda, o ancora di una modalità di protezione della privacy che permetta agli operatori addetti alla correzione di visualizzare soltanto i campi da controllare, oscurando tutto il resto dei documenti. Oltre ad ottimizzare i risultati della digitalizzazione documentale, infatti, questo genere di personalizzazione permette di farne miglior uso in un campo ad essa strettamente collegato, ossia quello dell’archiviazione ottica.
Lettura ottica e archiviazione ottica: due concetti affini ma distinti
È frequente riscontrare una certa confusione sulle differenze fra la lettura e l’archiviazione ottica: si tratta in realtà di concetti affini – l’una viene molto arricchita dall’altra – ma diversi e distinti.
La lettura ottica, come abbiamo visto, è il processo con cui un software estrae i dati presenti nell’immagine di un documento e li converte in un formato manipolabile a livello digitale.
L’archiviazione ottica, di per sé, è una cosa completamente diversa, che potrebbe anche limitarsi semplicemente alla conservazione di copia digitale di tutti i documenti ricevuti e trattati in azienda.
Ma è facile immaginare come un sistema di archiviazione ottica di questo tipo sia molto debole: il computer, infatti, non avrebbe alcuna idea di cosa contengano quei documenti, e non potrebbe – ad esempio – estrarre per noi tutte le fatture di importo superiore a una data soglia, o tutti i DDT con destinazione Bergamo, o tutte le lettere inviate da uno specifico cliente.
Perché un sistema di archiviazione ottica diventi potente, deve invece sposarsi proprio ad un software di lettura ottica con i requisiti che abbiamo descritto. In questo modo, infatti, i documenti possono essere catturati interamente, in tutto il loro contenuto, e ciascun elemento in essi riscontrato può diventare un potenziale elemento di classificazione ricercabile ed elaborabile. Questo processo, uno degli aspetti più potenti resi possibili dai sistemi di lettura ottica, è detto indicizzazione.