Se lo strumento non trova nulla in una scansione, quasi sempre il motivo è la scansione. Una pagina scansionata è un'immagine, e uno strumento che lavora sul testo non ha niente da leggere. Segnala di non aver trovato nulla, e il risultato sembra un successo.
Perché uno zero è il risultato più insidioso
Gli altri difetti di questi strumenti si vedono. Un falso positivo si elimina con un clic, un file che non si apre dà un errore. Lo zero su una scansione arriva invece con l'aspetto di un lavoro finito, e il file parte.
Una cartella clinica contiene dati sulla salute, che il GDPR colloca fra le categorie particolari. Un contratto scansionato riporta codice fiscale e IBAN, e gli appunti di un colloquio sono coperti dal segreto professionale. Se quei dati escono, ne risponde il titolare del trattamento, e davanti al Garante lo zero dello strumento difficilmente sarà un'attenuante.
Tre errori che non danno alcun segnale
La pagina senza testo
Lo strumento lavora sul livello testuale del PDF, e la scansione non ne ha uno. Il segnale è semplice: se il cursore non seleziona una parola, nemmeno lo strumento la legge.
Adobe scrive che il riconoscimento del testo di Acrobat va eseguito prima che il documento diventi ricercabile o modificabile. Anche il prodotto più diffuso tratta quindi l'OCR come un passaggio da ricordare. È il passaggio che si salta per primo, sotto scadenza.
La lettura sbagliata
Un motore di riconoscimento confronta forme con un modello addestrato su una lingua. Con il modello sbagliato, in un codice fiscale come RSSMRA85T10A562S il motore può scambiare una S con un 5. Il rilevatore riceve un testo che sembra corretto e non vi trova un codice fiscale valido, perché non c'è più.
Questo caso è peggiore del primo, perché lo zero arriva dopo una lettura in apparenza riuscita. Anche una pagina storta o a bassa risoluzione si legge male, e la scrittura a mano va sempre controllata a vista.
Il riquadro che non nasconde nulla
Qui lo strumento ha trovato il dato ma non lo ha eliminato. Un rettangolo nero sopra un'immagine lascia intatti i pixel sottostanti: chi toglie l'annotazione o estrae l'immagine legge tutto.
Restano poi i livelli invisibili: il testo nascosto sotto molte scansioni, i metadati XMP, il testo alternativo, le miniature create prima dell'oscuramento. Vale lo stesso principio dei PDF nativi, dove un segno grafico sopra il testo non equivale a un oscuramento.
Come si oscura una scansione
Bisogna riconoscere le parole, sapere dove si trovano sulla pagina, coprire quei pixel e ricostruire sotto un livello di testo. Un flusso pensato per il testo non prevede questi passaggi. Presidio lo conferma: tiene l'oscuramento delle immagini in un componente a parte.
promptShield fa questo lavoro in locale. L'applicazione converte la pagina in immagine a 300 dpi e la legge con Tesseract, con la lingua del documento più l'inglese. Il riconoscimento parte da solo sulle pagine con poco testo e sulle immagini.
I dati individuati diventano regioni dell'immagine, e sono quei pixel a essere coperti. Sotto, l'applicazione ricostruisce un livello di testo ricercabile. Questa parte, che registra la posizione di ogni parola, è il motivo per cui abbiamo scritto un motore nostro.
La rilevazione usa schemi per codice fiscale, IBAN o numero di tessera sanitaria, poi un modello di riconoscimento per nomi e indirizzi. L'Analisi approfondita con un modello linguistico è facoltativa e spenta per impostazione predefinita. I risultati vengono uniti, ripuliti ed estesi a tutte le pagine, ma nessun modello locale individua ogni identificativo.
Sulle regioni si sceglie Rimuovi, che elimina il contenuto dal file, o Codifica, che lo sostituisce con un codice reversibile. La lunghezza del codice segue quella del dato, quindi [P0ABCD] mostra solo la forma. L'articolo sulla codifica reversibile spiega il resto.
L'esportazione sostituisce il dato anche dove la pagina non lo mostra: testo dei PDF con tag, metadati XMP, PieceInfo, destinazioni con nome, campi modulo. La miniatura creata prima viene eliminata, perché in un'immagine non si può cercare e sostituire.
Un file con regioni protette non si scarica finché non sono verificate nella Revisione. Chi preme Scarica prima del tempo vede che cosa blocca il download e può aprire subito la Revisione. Su una scansione è lì che una persona confronta la pagina con ciò che il motore ha letto.
Il limite della lingua
promptShield include i dati per otto lingue: italiano, inglese, francese, tedesco, spagnolo, olandese, portoghese e polacco. Una scansione in un'altra lingua viene letta da un modello che non è il suo. Il risultato è un testo plausibile e sbagliato, e nessuno strumento elimina del tutto questo rischio.
L'unica cautela è sapere in che lingua è scritto il documento. Quando non è fra le otto, la Revisione va fatta con più attenzione.
Perché farlo in locale
Un servizio di riconoscimento in cloud legge bene, ma il fornitore che riceve le pagine diventa responsabile del trattamento. Servono un contratto ai sensi dell'art. 28 GDPR e garanzie sui trasferimenti se i server sono fuori dall'Unione. Sulla macchina dove il file è già salvato, invece, il terzo non c'è.
L'applicazione desktop funziona offline, e la modalità completamente isolata è riservata al piano Pro. La versione gratuita nel browser invia un segnale anonimo all'avvio, ma il documento non lascia il computer. L'Analisi approfondita ha una modalità remota che invia il testo a un servizio esterno: per tenere i documenti in studio la si lascia spenta.
Domande frequenti
Perché il mio strumento non ha trovato nulla in un PDF scansionato?
Quasi sempre perché il file è una fotografia della pagina e non contiene testo. Se non riesce a selezionare una parola, serve prima un riconoscimento ottico nella lingua del documento.
Oscurare una scansione la rende non ricercabile?
Dipende dallo strumento. promptShield, dopo aver coperto i pixel, ricostruisce sotto l'immagine un livello ricercabile, con il codice al posto delle parti codificate.
Il testo rimosso può essere recuperato?
Con Rimuovi no: il contenuto viene eliminato, insieme alle copie nei metadati e nei livelli nascosti. Si recupera solo ciò che è stato codificato, con la Decodifica e il Registro codici sulla macchina in cui il codice è nato.
Serve la lingua giusta perché il riconoscimento funzioni?
Sì, perché con il modello sbagliato il motore produce un testo plausibile ma errato. Per una lingua diversa dalle otto disponibili, la Revisione va fatta guardando la pagina.
Davanti a uno zero
La regola vale con qualunque strumento, compreso il nostro. Davanti a uno zero su una scansione, la prima domanda è se il documento sia stato letto. Se non lo è stato, lo zero non significa niente. Se lo è stato, la Revisione mostra in quale lingua e con quale qualità.