OCR e documenti scansionati per l'IA: guida pratica prima di indicizzare
Un PDF scansionato non contiene testo: contiene un'immagine di testo. Se lo carica così com'è in un sistema RAG, l'IA non troverà nulla da cercare oppure lavorerà su un testo pieno di errori di riconoscimento. La qualità dell'OCR, la pulizia del testo estratto e la gestione di tabelle e moduli determinano se le risposte saranno affidabili o inventate. Ecco cosa verificare prima di indicizzare un documento scansionato.
Perché un PDF scansionato manda in crisi il RAG
Un PDF 'normale', esportato da Word o da un gestionale, contiene un livello di testo: ogni carattere è codificato e selezionabile. Un PDF scansionato, invece, è spesso una fotografia della pagina: una griglia di pixel senza alcuna informazione testuale. Se lo carica così in una base di conoscenza, il motore di ricerca full-text non troverà nessuna parola da indicizzare, e la ricerca semantica non avrà nulla su cui calcolare gli embedding (si veda cosa sono gli embedding per capire perché questo passaggio è cruciale, e come funziona il RAG per il quadro generale). Per rendere interrogabile un documento scansionato serve prima un passaggio di OCR (riconoscimento ottico dei caratteri): un motore che analizza l'immagine, riconosce i caratteri e produce un livello di testo estratto o sovrapposto.
Questo vale per fatture scansionate, contratti firmati a mano e poi scansionati, verbali cartacei digitalizzati, atti notarili, cartelle cliniche su carta. Capita più spesso di quanto si pensi anche in aziende che lavorano in modo digitale: basta un documento firmato, stampato, scansionato e rispedito per trasformare un PDF testuale in una semplice immagine.
Qualità dell'OCR: i segnali che contano davvero
La qualità del testo estratto dipende da tre fattori: la qualità dell'immagine di partenza, il motore OCR usato e la lingua o il layout del documento. Prima di fidarsi di un'estrazione, vale la pena controllare questi punti.
- Risoluzione: sotto i 200 DPI l'OCR fatica su caratteri piccoli o font poco leggibili; 300 DPI è lo standard consigliato per documenti di testo
- Inclinazione (skew) e prospettiva: una pagina fotografata storta introduce errori sistematici riga per riga
- Rumore e contrasto: fotocopie di fotocopie, timbri, pieghe e macchie confondono il riconoscimento dei caratteri
- Font e corpo del testo: caratteri molto piccoli, corsivi, font decorativi o scritte manoscritte riducono drasticamente l'accuratezza
- Lingua del documento: un motore configurato per l'inglese commetterà più errori su un testo italiano pieno di accenti e parole composte
Molti motori OCR restituiscono anche un punteggio di confidenza per parola o per carattere. È un dato prezioso: può essere usato per segnalare automaticamente le pagine da far rivedere a una persona prima che finiscano in una base di conoscenza usata per rispondere a clienti o colleghi.
Tabelle e moduli: dove l'OCR tradizionale si rompe
L'OCR 'a flusso', quello che restituisce semplicemente il testo riga per riga, funziona bene su un testo scorrevole ma va in crisi su layout strutturati: tabelle con colonne multiple, moduli con caselle da spuntare, intestazioni ripetute, firme o timbri sovrapposti al testo. Le celle unite vengono spesso lette come testo concatenato, le colonne si mescolano, i numeri decimali con la virgola (comuni nelle fatture in euro) possono essere interpretati male, e le intestazioni di colonna vengono perse del tutto. Serve un'analisi del layout dedicata, capace di riconoscere i bordi e le righe della tabella prima di estrarne il contenuto.
Problemi comuni di OCR e il loro effetto su un sistema RAG
| Problema nello scan | Effetto sul testo estratto | Rischio per le risposte dell'IA |
|---|---|---|
| Scansione storta o a bassa risoluzione | Caratteri scambiati (es. 'rn' letto come 'm') | Citazioni con numeri o nomi sbagliati |
| Tabella con colonne multiple | Righe mescolate, valori associati alla colonna sbagliata | Importi o date attribuiti alla voce sbagliata |
| Modulo con caselle da spuntare | Caselle ignorate o lette come simboli casuali | Risposte che non riflettono lo stato reale (es. 'approvato' invece di 'in attesa') |
| Firma o timbro sovrapposto al testo | Parole coperte o distorte | Passaggi citati incompleti o troncati |
| Documento multilingue | Parole non riconosciute dal motore OCR | Risposte imprecise, soprattutto su termini tecnici |
Pulire il testo estratto prima del chunking
Anche un buon OCR produce testo 'sporco': numeri di pagina ripetuti, parole spezzate a fine riga, intestazioni e piè di pagina che tornano identici su ogni pagina, caratteri accentati mal codificati. Prima di passare alla fase di suddivisione in blocchi (si veda chunking per RAG per capire perché la qualità del testo influenza direttamente la qualità dei chunk), conviene sistemare alcuni dettagli.
- Rimuovere intestazioni e piè di pagina ripetuti su ogni pagina
- Ricongiungere le parole spezzate a fine riga da un trattino
- Normalizzare spazi multipli e a capo interni a una stessa frase
- Verificare la codifica dei caratteri accentati e delle virgolette
- Isolare o scartare le pagine con punteggio di confidenza OCR troppo basso
- Conservare il numero di pagina originale, per poter citare la fonte con precisione
Un test rapido
Per valutare in fretta un motore OCR, scansioni una pagina con una tabella di numeri e una con testo piccolo o corsivo: se l'estrazione regge su entrambe, probabilmente reggerà sulla maggior parte dei Suoi documenti reali.
Come verificare l'estrazione prima di indicizzare: una checklist
Prima di rendere interrogabile un documento scansionato, vale la pena dedicare qualche minuto a un controllo manuale. È un passaggio che evita gran parte delle risposte sbagliate più tardi.
- Apra 3-5 pagine rappresentative del documento e confronti visivamente il testo estratto con l'originale
- Cerchi nel testo estratto due o tre numeri o nomi propri presenti nell'originale (date, importi, codici fiscali) e verifichi che siano corretti carattere per carattere
- Controlli che le tabelle siano leggibili come tabelle, non come un unico blocco di testo senza struttura
- Verifichi che i moduli con caselle da spuntare riportino lo stato corretto, barrato o non barrato
- Faccia una domanda di prova al sistema e controlli che la citazione riportata corrisponda davvero al passaggio giusto del documento, come descritto in come verificare una risposta con le fonti
- Ripeta il controllo ogni volta che cambia il motore OCR o il flusso di pulizia del testo
Documenti scansionati e basi di conoscenza: cosa cambia con una piattaforma gestita
Gestire da soli una pipeline di OCR, pulizia e chunking richiede tempo e manutenzione continua: aggiornare il motore OCR, tarare le soglie di confidenza, gestire le eccezioni per tabelle e moduli. Una base di conoscenza gestita come Kopik si occupa di estrazione, suddivisione in chunk e indicizzazione ibrida (ricerca full-text più espansione semantica) quando carica un documento, incluso il caso dei PDF scansionati: può caricare i file dalla pagina di creazione di una nuova base, verificare subito come viene estratto il testo e correggere il tiro prima di renderla pubblica o di collegarla alla Sua applicazione tramite API o server MCP.
La qualità del testo estratto incide anche sulla ricerca ibrida che combina parole chiave e similarità semantica, approfondita in ricerca ibrida: BM25 e vettori: se l'OCR scambia caratteri o spezza male le parole, le ricerche testuali non troveranno corrispondenze, anche quando il significato cercato è esattamente quello giusto. E rifare da capo un'ingestione su centinaia di pagine scansionate ha un costo non trascurabile, discusso in quanto costa davvero il RAG: meglio controllare la qualità una volta, all'inizio, che correggere a valle.
Provi con un documento scansionato
Carichi un PDF scansionato su Kopik e verifichi in pochi minuti come viene estratto il testo prima di renderlo interrogabile.
Domande frequenti
Domande frequenti
Che differenza c'è tra un PDF scansionato e un PDF con testo nativo?
Un PDF con testo nativo contiene caratteri codificati, selezionabili e ricercabili fin da subito. Un PDF scansionato è invece un'immagine della pagina: senza un passaggio di OCR non esiste alcun testo da cercare o indicizzare.
Quale risoluzione serve per un buon OCR?
In genere 300 DPI è lo standard consigliato per documenti di testo standard. Sotto i 200 DPI l'accuratezza cala sensibilmente, soprattutto su caratteri piccoli, tabelle fitte o font poco leggibili.
ChatGPT o altri assistenti possono leggere direttamente un PDF scansionato?
Molti strumenti applicano un OCR automatico quando si apre il file, ma spesso senza controllo di qualità, senza gestione dedicata delle tabelle e senza modo di verificare dove l'estrazione ha sbagliato: per un uso professionale conviene sempre controllare il testo estratto prima di fidarsene.
Come faccio a sapere se l'OCR ha rovinato una tabella?
Confronti visivamente una tabella scansionata con il testo estratto corrispondente: se righe e colonne risultano mescolate, o se i numeri non sono allineati alla voce giusta, l'estrazione della tabella ha bisogno di un motore o di una configurazione dedicata, non del semplice OCR a flusso.
Serve un motore OCR diverso per documenti in italiano rispetto all'inglese?
Sì. I motori OCR vanno configurati sulla lingua del documento, perché il modello di riconoscimento tiene conto di accenti, apostrofi e combinazioni di lettere tipiche di ogni lingua: usare la configurazione sbagliata aumenta sensibilmente gli errori.
Kopik fa l'OCR automaticamente quando carico un documento scansionato?
Sì: quando carica un file su Kopik, il sistema estrae il testo, lo suddivide in chunk e lo indicizza per la ricerca ibrida. Resta comunque buona norma controllare visivamente l'estrazione su un paio di pagine prima di rendere pubblica la base o di collegarla a un agente IA tramite API o MCP.
Riceva la newsletter di Kopik
Nuove basi di conoscenza, guide sul RAG e novità del prodotto. Un'email ogni una o due settimane, disiscrizione con un clic.
Iscrivendosi accetta di ricevere la nostra newsletter. Il Suo indirizzo non viene mai condiviso.