Come è
noto, i programmi software che traducono automaticamente un file immagine di testo nel
corrispondente valore ASCII o UNICODE1, normalmente
contenuto in files.txt, vengono chiamati OCR (Optical Character Recognition). La
maggior parte di questi programmi lavora utilizzando logiche fuzzy che confrontano
la forma delle lettere costituita da una matrice di punti bianchi e neri con immagini che
sono stati istruiti a riconoscere. Quando viene stabilita una corrispondenza, la lettera
prescelta viene memorizzata nel testo. Se la corrispondenza si presenta a un basso
livello di confidenza, cioè di probabilità di essere stata riconosciuta
correttamente, il programma propone comunque la lettera segnalando l'incertezza. Il
software che svolge l'operazione di riconoscimento si chiama motore. I programmi ne
possono avere uno o più. Nel secondo caso il loro software è integrato da un
meccanismo di voto che sceglie quale lettera presenta il più alto livello di
confidenza. Normalmente questo sistema minimizza il potenziale di errore dei programmi
che si basano su un solo motore2.
Gli OCR hanno alle spalle una lunga storia3 e la loro
precisione nel riconoscimento di caratteri latini a stampa ha raggiunto una elevata
affidabilità4. Per questa ragione sono
considerati una tecnologia ormai matura, sebbene continui la ricerca per migliorarli
sotto molti aspetti. In larga misura si tratta di software integrato allo scanner, ma
esistono prodotti più sofisticati acquistabili separatamente dall'hardware. Il loro
prezzo può variare significativamente, così come sono diverse le
funzionalità che essi offrono. Per questo la scelta del programma OCR è assai
importante sia in termini di qualità finale del prodotto sia di efficienza dei
processi produttivi5.
Prodotto e produttore | Prezzo per una licenza | Indirizzo produttore |
PrimeOCR (Prime Recognition) | 1.500,00 -4.500,00 $ | <http://www.primerecognition.com> |
OmniPage (Nuance) | 110,00 € | <http://italy.nuance.com> |
Cuneiform (Cognitive Enterprise) | 70,00 $-120,00$ | <http://www.ocr.com/> |
PdfCompressor (CVista) | 500,00$ | <http://cvisiontech.com/> |
Finereader (Abbyy) | 120,00 € | <http://www.abbyy.com/> |
Readiris (Iris) | 130,00 € | <http://www.irislink.com/> |
TypeReader Desktop (Expervision) | 395,00 | <http://www.expervision.com/> |
La stima
dell'accuratezza dell'OCR non è un esercizio semplice né standardizzabile. Gli
obiettivi possono essere diversi: controllo del rispetto della qualità da parte di
un fornitore esterno; definizione delle caratteristiche ottimali dell'immagine
(definizione, profondità ecc.); misura del successo del recupero dei descrittori;
verifica delle prestazioni di diversi software OCR rispetto agli originali da riprodurre
ecc. C'è però un motivo determinante per cui tale verifica è necessaria.
Gli OCR sono intrinsecamente dei programmi imprevedibili: diversamente da un foglio
elettronico o da un wordprocessor, il loro output non è definibile a priori e
deve essere misurato empiricamente17. Gli esempi che
seguono possono offrire un'esemplificazione riguardo ai possibili metodi
utilizzabili.
Nel 1998 la School of Information dell'Università del Michigan ha svolto un test per
misurare l'accuratezza del progetto Making of America, che all'epoca aveva digitalizzzato
630.000 immagini TIFF18. I testi ottenuti con il
programma PrimeOCR sono stati campionati con apposita procedura. PrimeOCR fornisce
automaticamente una stima della correttezza del riconoscimento misurata su una scala di
confidenza (Prime Score) che va da 100 (totalmente inaccettabile) a 900 (privo di
errori). Tale punteggio è stato correlato con il risultato di una verifica manuale
per verificare la ragionevole accuratezza dell'OCR. Il risultato dell'esperimento ha
indicato che sopra al punteggio 880 di confidenza (77,6% del campione di pagine) non era
necessario alcun intervento correttivo manuale, in quanto l'accuratezza media percentuale
dei caratteri era 99,86%, corrispondente a 99,45% per le parole. In conclusione, il test
ha mostrato l'affidabilità della rilevazione automatica della qualità del
programma e la percentuale assai ridotta delle pagine ove poteva essere necessario
procedere ad un controllo manuale.
Un diverso approccio è stato seguito dal Library Digital Initiative Team della
biblioteca dell'Università di Harvard19, che
è partita dalla considerazione che l'obiettivo dell'OCR non è la fedeltà
all'originale di per sé, ma la possibilità di usare efficacemente il file
testuale per effettuare ricerche di descrittori. Ha messo a confronto un indicatore del
tasso di recupero di informazione misurato empiricamente con la presunta qualità
dell'OCR, indicata dal punteggio di confidenza del testo (Prime Score). Allo scopo sono
state selezionate circa 40.000 pagine per svolgere circa 2000 ricerche (4,7% totale della
popolazione), ottenendo un successo del 96,6%. Scopo del test era verificare l'eventuale
correlazione positiva tra i due indicatori. Il risultato non ha confermato tale presunta
correlazione, in quanto il tasso di successo non variava significativamente in relazione
al punteggio di confidenza.
Al di là della conclusione per cui l'indicatore di confidenza non potrebbe essere
utilizzato per stabilire a priori la qualità dell'OCR, l'esperimento può
indicare la strada verso lo sviluppo di una metodologia economica di misura della
qualità.
Un progetto rilevante che ha condotto un test è quello di MEDLINE20. In questo caso la verifica è stata condotta confrontando
sei prodotti commerciali21 con un campione di 20.000
caratteri contenuti in 15 pagine di articoli biomedici scansionate a 300 dpi. I giornali
sono stati prescelti in quanto presentavano specifici problemi di conversione (testo
molto compatto e caratteri di corpo molto ridotto). L'output è stato misurato in
base a tre indicatori: caratteri o parole corretti, ma segnalati come dubbi dall'OCR
(falsi allarmi); caratteri o parole errati e segnalati come dubbi e infine caratteri o
parole errati e non segnalati. Tabulando questi tre indicatori il programma che
complessivamente emerge come più vicino al testo corretto è Prime OCR che, non
a caso, è un prodotto multi engine, cioè con più di un
motore22. Infine il prodotto prescelto presentava
funzionalità considerate di particolare utilità: coordinate dei caratteri
(utili nella presentazione dei risultati di ricerche per stringhe), livello di
confidenza, dimensioni e attributi dei font ecc.
Più empirico/descrittivo è un altro esempio di valutazione offerto da un sito
commerciale che fornisce software per dislessici23.
Sebbene l'utenza di riferimento siano i soggetti dislessici, il suo pregio è tentare
un semplice confronto diretto tra quattro diversi prodotti. Il test ne ha misurato le
prestazioni rispetto a quattro diverse tipologie di testo a stampa in termini di:
caratteri/parole errate; riconoscimento delle aree di stampa (testo, tabelle e grafici) e
ricostruzione del layout originale. Un lavoro simile è stato svolto da un sito
commerciale di servizi per soggetti con disabilità24.
In questo
quadro si inserisce il lavoro svolto dall'Information Science Research Institute (Isri).
L'Isri è stato istituito nel 1990 presso l'Università del Nevada, a Las Vegas,
allo scopo di sviluppare tecnologie per la lettura automatica di documenti. Nel corso
della prima metà degli anni Novanta l'Istituto ha condotto un'attività
sistematica di valutazione dei principali OCR (ISRI Annual Test of Page-Reading Systems)
e a tal fine ha sviluppato una serie di programmi automatici per misurarne la
qualità dell'output. Il pacchetto comprende diciassette programmi divisi in tre
gruppi per misurare: a) il riconoscimento dei caratteri; b) il riconoscimento delle
parole; c) la precisione nella definizione delle aree (testo, tabelle, immagini). Per
quanto concerne i caratteri, i programmi sono in grado di misurare non solo il numero
degli errori, ma anche di riportare, presentandoli uno accanto agli altri, i caratteri
corretti in corrispondenza di quelli erroneamente riconosciuti o ignorati. È
possibile effettuare la verifica a livello di singola pagina e successivamente di
tabulare il totale sommando i risultati delle singole pagine. Un altro programma consente
di collocare gli errori nel contesto della pagina per una verifica più puntuale.
Altri programmi forniscono alcuni indicatori statistici. In modo analogo operano i
programmi che misurano la correttezza delle parole. In più, questi ultimi consentono
di utilizzare una lista di stopword in modo da circoscrivere la verifica delle
parole corrette a quelle significative. Infine la sezione relativa al riconoscimento aree
identifica tre tipi di errori che richiedono una correzione. Se un programma di
riconoscimento non rileva un'area di testo, è necessario inserire il testo mancante;
se identifica un'area grafica come testo, bisognerà eliminare il testo inserito
erroneamente; infine, se determina erroneamente l'ordine di lettura di un testo,
sarà necessario spostare tale blocco di testo. Il programma misura il numero di
correzioni necessarie. Il software per effettuare le verifiche è di utilizzo
elementare, ma richiede la disponibilità di un ground truth, cioè del
testo corretto con cui confrontare l'output da misurare.
Nel 2007 l'Isri ha
pubblicato il pacchetto dei programmi (OCR Performance Toolkit) 25 sotto licenza Apache, Ver.2.0. In tal modo oggi è
possibile per chiunque valutare la qualità dell'output di un OCR rispetto al set di
pagine già predisposto dall'Isri o a un campione scelto a
piacere.
Nel corso del
2008 si è misurata l'accuratezza di tre programmi commerciali OCR largamente diffusi
in Italia e all'estero i cui motori sono frequentemente inclusi nel software in dotazione
a diversi modelli di scanner: Abbyy Finereader (ver. 9.0), Scansoft Omnipage (ver.
Pro.14) 26 e Iris Readiris27. A tal fine il toolkit dell'Isri è stato applicato
ad un campione di pagine estratte da un database creato nel corso del 2006/2008 a
Torino28. Il campione è stato creato partendo
dalla disponibilità di circa 15.000 pagine, risultato del progetto di scansione
appena concluso. I volumi oggetto della verifica sono stati tutti pubblicati tra il 1950
e il 2000 in Italia e presentano caratteristiche standard di impaginazione (caratteri di
corpo medio, salvo per alcune note a piè di pagina, distribuzione del testo a una o
due colonne, limitata presenza di tabelle, grafici e immagini, lingua italiana con
occasionali nomi in inglese, tedesco e francese) 29.
Le immagini sono state riprese tramite una fotocamera Canon EOS 5D con sensore CMOS da
12,8 megapixel, spazio colore RGB e obiettivo 50mm f/2.5 compact-macro. È stata
utilizzata un'esposizione automatica non corretta. Nessuna elaborazione è stata
applicata in post produzione per correggere il contrasto, ripulire eventuali bleeding
through o aumentare la sharpness dei caratteri. Il colore non è stato
eliminato e le uniche modifiche apportate sono state lo scontornamento e il
raddrizzamento della pagina.
Per selezionare il campione si è utilizzato un sito30 allo scopo di scegliere casualmente 20 libri sul totale della
banca dati considerati più che rappresentativi in termini di carattere tipografico,
impaginazione, contenuti e vocabolario. Per ogni libro sono state scelte casualmente con
lo stesso metodo tre pagine e scartate solo quelle prive di testo o costituite
esclusivamente da tabelle. Le uniche correzioni apportate hanno riguardato spazi bianchi,
a capo, alcuni simboli non alfanumerici ed eventuali errori nel riconoscimento delle
aree. Queste ultime infatti non erano tra gli obiettivi della valutazione. Il campione
così costruito è risultato costituito da 159.420 caratteri e 22.758 parole. I
risultati complessivi sono riportati in tabella.
Totale errori generati | Accuratezza (% sul totale di 159.420 caratteri) | |
Abbyy Finereader 9 | 1.235 | 99,23 |
Nuance Omnipage 14 | 1.894 | 98,81 |
OMNIPAGE (errori più
frequenti)
|
FINEREADER (errori più
frequenti)
|
Non riconosciute | Accuratezza (% sul totale di 22.758 parole) | |
Abbyy Finereader 9 | 348 | 98,47 |
Nuance Omnipage 14 | 409 | 98,20 |
Se la
precisione nel riconoscimento dei caratteri e, soprattutto delle parole, è la chiave
principale di valutazione degli OCR, è opportuno non dimenticare che altri aspetti
non secondari vanno presi in esame quando si deve selezionare il programma più
opportuno. Si sono riassunte in ordine sparso in tabella alcune considerazioni
essenziali:
Lavoro | Note |
Acquisizione | |
Tempi | In generale sono una funzione dell'accuratezza del riconoscimento. Possono costituire un problema quando per l'eccessivo numero di pagine o la difficoltà nel riconoscimento si rischia di bloccare il programma e perdere il lavoro già fatto. Spesso è consigliabile dividere il lavoro a blocchi non superiori alle 100 pagine o anche meno in caso di presenza di tabelle numeriche o di originali di bassa qualità. |
Tolleranza | Al di sotto o al di sopra della definizione ottimale di 300 dpi (nel caso di corpo tipografico non troppo piccolo) si evidenzia l'insorgere di gravi difficoltà per alcuni prodotti. Almeno in alcune istanze, sotto i 72 dpi si è verificato che Omnipage, ad esempio, non accetta il lavoro. |
Riconoscimento | |
Riconoscimento aree | È sicuramente un aspetto critico, in particolare per quanto riguarda impaginati complessi come giornali o opuscoli o tabelle. Le tabelle, specialmente quelle con strutture complesse con colonne o righe annidate, costituiscono una sfida. Sia Finereader che Omnipage offrono funzionalità per la correzione manuale, ma richiedono un notevole dispendio di tempo e il risultato non sempre è all'altezza. |
Confidenza/Correttezza | Il pacchetto dell'Università del Nevada presentato in questo contributo fornisce un approccio tra i più completi per misurare questa funzionalità. Alcuni software forniscono però anche un'indicazione del livello di confidenza del proprio lavoro che aiuta a valutare immediatamente il successo nel riconoscimento. |
Informazioni/Statistiche | La presenza delle coordinate delle parole (Prime OCR) consente una più rapida individuazione delle stringhe identificate con le operazioni di ricerca. |
Controllo | Molto spesso l'output dell'OCR viene utilizzato solo per la ricerca di stringhe in fulltext. Per questo la precisione normalmente offerta dai programmi è sufficiente. Se invece l'output deve essere controllato, è importantissimo verificare le funzionalità delle opzioni di controllo e la comodità dell'interfaccia. Gli autori di questo contributo considerano il "desktop" di Finereader 9 superiore a Omnipage 14. |
Salvataggio | |
Formati supportati | Sia Finereader che Omnipage supportano una più che sufficiente gamma di formati di immagine (BMP, GIF, JPEG, PDF, TIFF, ecc.) che di salvataggio (DOC, RTF, XML, PDF, HTM, PPT, CSV, TXT; XLS, DBF, ecc.). Non è scontato che invece altri prodotti possano essere più carenti sotto questo profilo. |
NOTE
[1] <http://www.unicode.org>.
[2] <http://www.tei-c.org/About/Archive_new/ETE/Preview/duggan.xml>, Electronic Textual Editing: Effective Methods of Producing Machine-Readable Text from Manuscript and Print Sources [Eileen Gifford Fenton (JSTOR) and Hoyt N. Duggan (University of Virginia)]
[3] <http://en.wikipedia.org/wiki/Optical_character_recognition> traccia una breve, ma informata storia della loro evoluzione.
[4] Michael Lesk, Understanding digital libraries, 2. ed. Amsterdam: Morgan Kaufmann, 2005. Cita a p.55 i test dell'Università del Nevada, di cui parleremo più avanti, per segnalare i progressi realizzati dal software in questo campo soprattutto per testi chiari su carta di qualità elevata.
[5] Ad esempio, lo storico progetto Gutenberg tedesco <http://gutenberg.spiegel.de/> che ad oggi ha messo in linea più di 4.000 volumi, utilizza appositamente una versione del software Finereader speciale per i caratteri gotici.
[6] Michael Lesk, Image formats for preservation and access. A report of the Technology Assessment Advisory Committee to the Commission on Preservation and Access (July 1990): «Unfortunately, despite many advertisements of OCR (optical character recognition) programs, it is still rather difficult to go from image to character representation. The programs now on the market are adequately fast (10-50 characters per second) for a job that is relatively easy to read (e.g., clear, uniform text), but they are not accurate or versatile enough to handle non-standard type and faded images that are characteristic of old books», <http://www.ifla.org/documents/libraries/net/lesk.txt>.
[7] <http://www.loc.gov/library/libarch-digital.html>.
[8] <http://www.ifla.org/II/index.htm#2>.
[9] Studio di Fattibilità per la Biblioteca Digitale Italiana commissionato dalla Direzione Generale per i beni librari e gli istituti culturali alle società Unysis ed Intersistemi di Roma alla fine del 1999 e consegnato al Ministero a dicembre 2000, <http://www.iccu.sbn.it/upload/documenti/aggSDF_pt-7.pdf>. Descrive i formati di output dell'OCR.
[10] <http://www.minervaeurope.org/guidelines.htm>: le buone pratiche di alcune iniziative.
[11] Handbook for digital projects, Sitts editor, Andover (Massachusetts) : Northeast Document Conservation Center, 2000, <http://www.nedcc.org/oldnedccsite/digital/dman.pdf>.
[12] Alain Jacquesson - Alexis Rivier, Bibliothèques et documents numeriques : concepts, composantes, techniques et enjeux,Paris: Editions du Cercle de la Librairie, 1999, p. 85-87.
[13] <http://www.pgdp.net/c/faq/scanning.php#12>: «Do I have to use Abbyy Finereader ? No, of course not. The scanning guidelines are heavily skewed toward using that simply because there are more people who have been using that package involved in the site, so there are more people familiar with it to answer questions. Two other packages that people have been successful with are: OmniPage Pro 10 & 11 and Textbridge Millennium Pro. They both have good recognition rates and similar functionality as far as automating the scanning process. The details differ but reading the help files should get you on the right track. OEM software that comes free with scanners CAN be used... just be aware that accuracy is typically much worse, AND be prepared to do a lot more saving and formatting manually».
[14] <http://www.archive.org/about/about.php>: nel sito si può, per esempio, leggere una valutazione di Finereader 8.0 pubblicata il 7 dicembre 2007 a cura di Mark Bromley.
[15] L'alternativa (futura) più nota e promettente ai prodotti a pagamento è il progetto Tesseract. Originato da un motore di riconoscimento progettato negli anni Ottanta dalla HP, è attualmente in fase di sviluppo e ospitato presso il sito di Google. Per chi volesse cimentarsi con il suo utilizzo: <http://code.google.com/p/tesseract-ocr/>. Ad oggi è possibile utilizzarne una versione gratuita di semplice installazione (FreeOCR.net ver. 2.4 aprile 2008) dal sito: <http://softi.co.uk/freeocr.htm>. È possibile scaricare il motore, una maschera grafica e aggiungervi il dizionario italiano. La qualità del motore appare più che buona. C'è da sperare che il lavoro di sviluppo continui, consentendone l'utilizzo all'interno di un pacchetto dotato delle funzionalità base: il riconoscimento automatico delle aree e la gestione multipagina.
[16] <http://archive.nlm.nih.gov/pubs/thoma/mars2001_4.php>. Il Progetto Gutenberg, nelle FAQ di Distributed Proofreader (un progetto di correzione di bozze: <http://dp.rastko.net/faq/scan/scanfaq.php#7>, indicava anche alcuni prodotti gratuiti. Tuttavia nel 2008 solo un prodotto tra quelli elencati (SimpleOCR) era disponibile a titolo gratuito presso il sito <http://www.scanstore.com/> con l'avvertenza: «SimpleOCR is useful for those who just need to convert a few pages to text or MS Word to avoid retyping. SimpleOCR is a lifesaver for anyone faced with retyping a file from a hardcopy. However, if your documents have multi-column layouts, pictures or other formatting you wish to preserve, you should try a commercial product».
[17] «Unlike a word processor or spreadsheet program, the behavior of an OCR system is complex and unpredictable. Like other pattern recognition systems, an OCR system is " trained" using a set of data. Its performance when processing other data is not known a priori, and must be measured empirically». Stephen V. Rice, Measuring the accuracy of page-reading systems, Las Vegas: University of Nevada. Department of Computer Science, 1996.
[18] Measuring the accuracy of the ocr in the making of America: A Report prepared by Douglas A. Bicknese, <http://quod.lib.umich.edu/m/moagrp/moaocr.html>.
[19] Measuring Search Retrieval Accuracy of Uncorrected OCR: Findings from the Harvard-Radcliffe Online Historical Reference Shelf Digitization Project. Harvard University Library LDI Project Team. Redazione: Stephen Chapman. 1. August, 2001, <http://preserve.harvard.edu/pubs/ocr_report.pdf>.
[20] Automating the production of bibliographic records for MEDLINE. George Thoma. National Library of Medicine, Bethesda, MD USA. An R&D report of the Communications Engineering Branch. Lister Hill National Center for Biomedical Communications National Library of Medicine. September 2001. <http://archive.nlm.nih.gov/pubs/thoma/mars2001.php> .
[21] Prime OCR, Wordscan, TextBridge, Omnipage, Cuneiform, Maxsoft-Ocron.
[22] Altri fattori presi in considerazione: la presenza di un proofreading assistito da immagini bitmap (una utility ormai standard), la presenza di un dizionario medico e l'accessibilità tramite altro software gestionale.
[23] How successful is Optical Character Recognition software? A cura di Ian Litterick. Pubblicato il 4 ottobre 2005. <http://www.dyslexic.com/articlecontent.asp?CAT=Reviews&slug=85>.
[24] <http://www.microlinkpc.co.uk/news.php?ID=7&CurrentPage=1>. L'articolo dedicato a scanner e OCR è datato 19 maggio 2006.
[25] <http://www.isri.unlv.edu/ISRI/OCRtk#Analytic_Tools>. Dal sito si può scaricare una "cassetta degli attrezzi" che, oltre all'Analytic Tool (Gzipped Tar file di programmi, immagini delle pagine e ground truth, cioè testo ASCII verificato), contiene un manuale di istruzioni e la tesi di Ph.D. di Stephen V.Rice già citata, che illustra in dettaglio la logica dei programmi.
[26] Precedenti versioni sono già state oggetto di valutazioni, non solo dall'Università del Nevada: «…A review in 2002 by ZDnet India (Pardawala and Kantawalla, 2002 [non più raggiungibile n.a.]) rated Omnipage at 99.29% and ABBYY Finereader at 99.05% …». M. Lesk, cit. p. 56. Si fa notare che al momento dello svolgimento del test era già sul mercato la versione 16 di Omnipage.
[27] Non sono riportati i risultati di quest'ultimo prodotto, in quanto sono apparsi da subito di qualità drasticamente inferiore agli altri.
[28] Il database è costituito da 37 volumi a stampa pubblicati tra il 1950 e il 2000 e digitalizzati cooperativamente dal gruppo di biblioteche BESS grazie alla consulenza tecnica dell'Istituto Superiore Mario Boella di Torino e al finanziamento della Compagnia di San Paolo di Torino.
[29] Si segnala che le pagine contenenti tabelle sono in misura limitata: l'obiettivo dell'esercizio non era infatti la valutazione del loro riconoscimento, che continua ad essere un'area critica per ogni OCR, nonostante i continui miglioramenti di tali programmi.
[30] <http://www.random.org>.
[31] Generare la lettera "c" dove il carattere corretto è una "e" viene definito dal programma una confusione e determina un errore, poiché si tratta di una sostituzione. Se viene generato "rn" al posto della lettera "m" vengono computati due errori, poiché questa "confusione" richiede una sostituzione e un cancellazione.
[32] Roger C. Schonfeld, JSTOR : a History, Princeton: Princeton University Press, 2003.
[33] Le osservazioni della Gifford Fenton sono raggiungibili nel sito della Text Encoding Initiative: <http://www.tei-c.org/About/Archive_new/ETE/Preview/duggan.xml>.
[34] Olivesoftware (<http://www.olivesoftware.com/>), ad esempio, offre OCR integrati per la gestione di originali con layout di stampa particolarmente complessi come i quotidiani o i periodici.