OCR

De Cliomatica - Digital History
Tempo di lettura 10 minuti - per Andrea Failla


Il Riconoscimento Ottico dei Caratteri (OCR, dall’inglese Optical Character Recognition) è un insieme di strumenti atti a convertire il formato di un file da immagine a testo. Le immagini, nella maggior parte dei casi, sono create in grafica raster, e funzionano quindi come una matrice in cui una grande quantità di punti, i pixel, formano un ampio spettro di colori intelligibili per l'occhio umano. Segue un esempio:

Fig. 1. Immagine di un documento dell'inizio del XIX secolo ingrandita centinaia di volte, così da consentire l'identificazione dei pixel che, sotto forma di matrice, compongono l'immagine.

L’OCR, una volta analizzate le sequenze di pixel, identifica al loro interno dei caratteri, trasformando la matrice in linguaggio vettoriale, ovvero in testo. Ad esempio, se si passa un’immagine contenente la parola “Vendesi!” a un OCR, questi confronterà uno per volta i gruppi di pixel che contengono ciascun glifo (V maiuscola, E minuscola, N minuscola, e così via fino al punto esclamativo) con le immagini dei caratteri che ha in memoria, e restituirà l’informazione testuale equivalente – cioè la stringa di caratteri “Vendesi”.

L’acquisizione di un’immagine in OCR può presentare elementi di criticità, che dipendono

  • il software utilizzato;
  • la leggibilità dell’immagine originale;
  • il carattere con cui il testo è scritto [1].

Oggi la maggior parte dei software di OCR è in grado di processare testi scritti in alfabeto latino senza troppe difficoltà; per questa ragione, la ricerca del settore si sta muovendo verso lo sviluppo di algoritmi che riconoscano unità grafiche più complesse, come i caratteri arabi, gli ideogrammi Han cinesi e giapponesi, gli Hiragana e i Katakana [2] .

La tecnologia OCR è molto diffusa ed è implementata da diversi programmi. Tra i software scaricabili più noti si ricorda ABBYY FineReader (disponibile per i sistemi operativi Windows e MacOS), un software professionale a pagamento che fornisce strumenti avanzati di visualizzazione ed elaborazione PDF, tra cui la conversione automatica in testo con OCR. Inoltre, è anche possibile usufruire di servizi di OCR online. Alcuni siti, infatti, implementano tale tecnologia e la offrono agli utenti, sebbene spesso presentino alcune limitazioni. Un esempio è il servizio offerto gratuitamente da Google. Caricando un’immagine sul proprio account di Google Drive, infatti, è possibile cliccarci sopra col tasto destro e selezionare prima “Apri con” e poi “Documenti Google”.

Figg. 2 e 3. Per convertire un'immagine in testo su Google Drive è sufficiente aprirla con Google Docs.

Così facendo si aprirà un nuovo documento contenente l’immagine e la trascrizione del testo in essa contenuto.

Fig. 4. Il risultato della conversione di un'immagine con Google Docs

Tale funzione non sembra essere molto conosciuta dagli utenti di Drive, probabilmente a causa del fatto che utilizzarla non è poi così intuitivo. Tuttavia, risulta la scelta più comoda e rapida se bisogna convertire in testo delle immagini già presenti sul proprio archivio Google. Un altro sito che implementa OCR è LightPDF, principalmente noto per rendere disponibile una serie di strumenti di elaborazione e conversione dei file in formato PDF. ma che consente di analizzare in OCR solo una pagina alla volta. Allo stesso modo, è possibile convertire in batch – cioè in una volta sola – un grande volume di immagini utilizzando un programma realizzato in Python o R, ad esempio utilizzando la libreria Pytesseract. Scaricati i componenti necessari da terminale col comando pip install pytesseract, si può scrivere un breve programma in Python che prenda in input le immagini da linea di comando e ne restituisca il testo, come in Fig. 5.

Fig. 5. Un programma in Python che prende in input delle immagini da linea di comando e ne restituisce il testo.

Per quanto concerne la leggibilità, è importante che l’immagine sia priva di rumore e abbia dimensioni adeguate. Se l’immagine non è sufficientemente nitida, infatti, l’OCR potrebbe non essere in grado di ricavare informazioni a sufficienza per classificare adeguatamente un gruppo di pixel come il carattere che rappresentano. È quanto accade in Fig. 6: la qualità dell’immagine è decisamente troppo bassa perché l’OCR possa riconoscerne i caratteri. Il testo originale, che recita “low quality”, viene quindi erroneamente trascritto come “1ow qumity”. La l di low è interpretata come la cifra 1, mentre la parola quality presenta così tanto rumore da essere convertita in una stringa senza significato.

Fig.6. Un'immagine di bassa qualità viene data in input all'algoritmo di OCR di Google. La stringa di output, separata dall'immagine da una linea, non corrisponde al testo presente nell’immagine.

Un altro elemento determinante nell’efficacia di uno strumento di OCR è il tipo di caratteri che questo è in grado di riconoscere. La maggior parte dei primi OCR commerciali, ad esempio, funzionavano correttamente solo a condizione che il testo fosse scritto in un font apposito, il MICR E-13B che, grazie a una spaziatura particolare, rendeva molto più semplice disambiguare i caratteri. In seguito, sono stati sviluppati altri font più simili ai caratteri a stampa contemporanei, anche se le capacità degli OCR era ancora vincolata a quegli specifici character-set. Con lo sviluppo tecnologico degli ultimi cinquant’anni, infine, le prestazioni degli algoritmi di classificazione sono drasticamente migliorati e, grazie anche all’intelligenza artificiale e all’apprendimento automatico, sono stati realizzati software in grado di riconoscere più caratteri contemporaneamente, anche nella stessa pagina, come il già citato ABBYY FineReader e OnlineOCR.

Gli strumenti per l’OCR hanno svariate applicazioni. Tra queste, la lettura automatica di biglietti aerei [3] e delle targhe automobilistiche, il riconoscimento di codici a barre per la vendita e la registrazione dei beni di consumo, l’acquisizione di testi ai fini di classificazione e archiviazione [4].

OCR e lavoro dello storico

Gli OCR sono utili in tutti gli ambiti in cui sia necessario estrarre testo da un'immagine e quindi ovviamente anche in ambito storico. L'immagine del testo può essere ricavata da un testo a stampa o da una fonte manoscritta, ma in questo secondo caso la sperimentazione è ancora in corso e i risultati fino ad oggi ottenuti non sono sicuramente paragonabili a quelli del riconoscimento del testo stampato.

L'utilità per lo storico nell'apprendere tecniche, software e problematiche del riconoscimento ottico dei caratteri è molteplice. Ci limitiamo a indicare alcuni possibili usi:

  • nella ricerca è possibile acquisire testi storiografici a stampa di varia natura – giornali, lettere, documenti – e usarli per tutte le analisi che coinvolgano attività di close o distant reading. Una volta acquisiti come testo, specialmente se liberi da diritti di copyright, tali testi possono essere poi ripubblicati in altra forma: in un articolo di studio o in anche in un progetto finalizzato a rendere tali materiali accessibili e consultabili online. A questo proposito citiamo il progetto Voci della Grande Guerra, promosso dall’Università di Pisa, dall’Istituto di Linguistica Computazionale “A. Zampolli” del Consiglio Nazionale delle Ricerche, l’Università di Siena e l’Accademia della Crusca. Risultato del progetto è un corpus online composto da testi rappresentativi dell’Italia della Prima guerra mondiale e corredato da opportuni strumenti di ricerca e di visualizzazione delle informazioni.
  • nella ricerca e didattica il testo acquisito con OCR o con altre tecniche di digitalizzazione [link] necessita quasi sempre un'opera manuale di annotazione in cui dei revisori correggono o commentano l'esito del riconoscimento ottico. Questa attività può diventare estremamente utile in fase di discussione/esegesi di una fonte, sia nella fase strettamente relativa alla ricerca che nella pratica didattica. A questo fine si segnala l'utilità, per le opere a stampa, della piattaforma Wikisource di Wikimedia Foundation. Wikisource è una biblioteca digitale che raccoglie testi di pubblico dominio o rilasciati sotto licenza libera, in cui chiunque può caricare dei testi – purché questi siano già stati pubblicati e liberi da copyright. In seguito, è possibile annotare il testo in un’apposita pagina di discussione, in modo da migliorare la leggibilità dell’opera e favorirne contestualizzazione e studi ulteriori.


Bibliografia e sitografia

  1. Tomasi F. (2008), Metodologie informatiche e discipline umanistiche, Roma, Carocci, pp. 184-186
  2. Lenci A. et al. (2016), Testo e Computer – Elementi di linguistica computazionale, Roma, Carocci, pp. 60
  3. McAbee J. C. (1967), OCR application at United Air Lines, Data Processing XII. Conf. and Business Exposition, Boston, pp. 362-366.
  4. Crawford J. L. (1972), Pictorial information disector and analyzer system (PIDAS), IBM Tech. Discl. Bull., vol. 15, pp. 61-62.



Citazione di questo articolo
Come citare: FAILLA, Andrea . "OCR". In: CLIOMATICA - Portale di Storia Digitale e ricerca. Disponibile in: http://lhs.unb.br/cliomatica/index.php/OCR. il giorno: 7/06/2024.






Informare errori in questa pagina