Vai al contenuto
PDFLove

perché il mio ocr è impreciso

Che cosa sbaglia l'OCR, e come rimediare

L'OCR è riconoscimento, non conversione, quindi ha un tasso di accuratezza e non un risultato. Gran parte di ciò che determina quel tasso è stato deciso prima che il file arrivasse a un qualsiasi programma: allo scanner.

01

Che cosa sta facendo l'OCR

Il riconoscimento ottico dei caratteri prende l'immagine di una pagina, individua le forme che sembrano testo e decide a quale carattere ciascuna forma somiglia di più. I motori moderni poi confrontano il risultato con un modello linguistico, ed è per questo che una "rn" letta come "m" viene di solito corretta in silenzio dentro una parola reale e lasciata così com'è dentro un codice prodotto.

Quest'ultimo punto è quello da capire. L'OCR è più accurato proprio dove serve meno — la prosa ordinaria, dove il contesto lo salva — e meno accurato su numeri di serie, riferimenti di conto e importi, dove non c'è contesto che salvi nulla e dove un errore costa di più.

02

Che cosa rovina l'accuratezza

Risoluzione sotto i 300 DPI. È il fattore singolo più importante. A 300 DPI un carattere da 10 punti è alto circa 40 pixel ed è inequivocabile. A 150 DPI ne è alto 20 e il motore tira a indovinare tra forme simili. Scansionare oltre i 400 DPI serve raramente e rallenta tutto.

Inclinazione. Una pagina scansionata un paio di gradi storta è molto più difficile da leggere, perché il rilevamento delle righe presuppone linee di base orizzontali. Due gradi bastano a creare problemi e sfuggono facilmente a occhio nudo.

Contrasto scarso. Fotocopie sbiadite, sfondi grigiastri, carta colorata e evidenziatore sopra il testo riducono la separazione tra inchiostro e carta da cui il motore dipende.

Artefatti JPEG. Comprimere troppo una scansione prima di eseguire l'OCR sfoca i bordi dei caratteri. Se devi fare entrambe le cose, prima l'OCR e poi la compressione.

Impaginazione. Testo su più colonne, tabelle, riquadri e note a piè di pagina costringono il motore a capire l'ordine di lettura prima di leggere qualsiasi cosa, e sbagliare quello scombina un riconoscimento per il resto perfetto.

03

Che cosa l'OCR non farà

La scrittura a mano, in generale. Riconoscere il corsivo è un problema molto più difficile che riconoscere lo stampato tipografico, e l'OCR generico va male. Lo stampatello maiuscolo scritto con cura a volte funziona.

Ricostruire una tabella per bene. Spesso legge correttamente ogni cella e produce comunque una tabella strutturalmente sbagliata, perché decidere dove iniziano le colonne è un'inferenza separata dalla lettura dei caratteri.

Recuperare informazione che non c'è. Se la scansione è troppo sbiadita perché tu possa leggere una cifra con certezza, nessun motore farà meglio — e, a differenza tua, si impegnerà su una risposta senza segnalare il dubbio.

04

Come ottenere un risultato migliore

Riscansiona, se puoi. Trenta secondi a 300 DPI, dritta, con buon contrasto, battono qualsiasi quantità di post-elaborazione su una scansione scadente. Se il documento serve davvero, è tempo speso bene.

Raddrizza prima di riconoscere. Anche un allineamento approssimativo recupera molto su una pagina entrata storta.

Converti in scala di grigi invece che in bianco e nero aggressivo. La conversione a due soli livelli con la soglia sbagliata mangia i tratti sottili e chiude gli occhielli delle lettere, e entrambe le cose danneggiano il riconoscimento.

Imposta la lingua. Un motore che si aspetta l'inglese su un documento in italiano correggerà fino ad arrivare a un'assurdità convinta.

Poi controlla il risultato — in particolare i numeri. Leggi gli importi confrontandoli con l'originale invece di scorrere la prosa. È lì che si nascondono gli errori sopravvissuti, e una cifra letta male sembra del tutto plausibile sulla pagina.

Domande

Domande collegate

Che accuratezza dovrei aspettarmi dall'OCR?

Su una scansione pulita a 300 DPI di testo tipografico ordinario, ben oltre il 99% dei caratteri. Su una fotocopia sbiadita, su colonne strette o sotto i 200 DPI, crolla — e gli errori residui si concentrano proprio dove il contesto non può rimediare.

Devo comprimere prima o dopo aver eseguito l'OCR?

Dopo. La compressione funziona buttando via dettaglio dell'immagine, e il primo dettaglio che butta via sono i bordi sottili — che è esattamente ciò che il motore di riconoscimento sta leggendo. Prima l'OCR, poi comprimi il risultato.

L'OCR può leggere una foto scattata con il telefono?

Spesso sì, ma meno affidabilmente di una scansione. Le foto da telefono portano illuminazione irregolare, distorsione prospettica per aver tenuto la fotocamera di lato, e ombre. Appoggiata su un tavolo, con luce uniforme, fotografata dall'alto a piombo, un telefono moderno se la cava bene.