Con il clamore suscitato dall’IA per LLM sempre nuovi che entrano in scena, ciascuno con le proprie capacità specifiche, ho pensato di mettere alla prova alcuni modelli di visione per l’OCR (riconoscimento ottico dei caratteri) dei documenti.
Il nuovo modello LLama 3.2 Vision di Meta afferma di avere, tra le altre cose, questa capacità, almeno secondo la pagina di presentazione che menziona le capacità OCR. E mi sono imbattuto in questo articolo, che spiega come usare il modello Llama Vision per l’OCR. Il prompt suggerito nell’articolo su Medium è:
Agisci come un assistente OCR. Analizza l’immagine fornita e:
1. Riconosci tutto il testo visibile nell’immagine con la massima accuratezza possibile.
2. Mantieni la struttura e la formattazione originali del testo.
3. Se alcune parole o frasi non sono chiare, indicalo con [unclear] nella tua trascrizione.
Fornisci soltanto la trascrizione senza ulteriori commenti.
Ho messo alla prova il modello scaricandolo nella mia istanza locale di ollama:
ollama pull llama3.2-vision
Poi, dalla mia istanza Open WebUI (che ho avviato in un container Docker), ho scelto il modello llama3.2-vision (che, se ho capito bene, usa di default la versione 11b), ho caricato un documento nell’interfaccia di chat e inizialmente ho dato un prompt semplice: “estrai il testo da questa immagine e mantieni la formattazione”; tuttavia i risultati sono stati meno che soddisfacenti. Nella risposta ottenevo un po’ di testo dall’immagine, ma anche molto testo che non proveniva dall’immagine.
Allora ho riprovato e ho dato il prompt esatto indicato nell’articolo di Medium. Poiché il testo che cercavo di far estrarre era in italiano, il mio primo tentativo non aveva alcun carattere accentato nell’output, quindi ho riprovato in una nuova chat scrivendo il prompt stesso in italiano (ho letto su stackoverflow che, se si vogliono caratteri accentati nell’output, probabilmente è opportuno avere caratteri accentati nel prompt di input, così che il modello sappia che può / deve usare caratteri accentati):
Sei un assistente OCR. Analizza l’immagine e:
1. Riconosci tutto il testo visibile nell’immagine con acuratezza così come il testo si presenta, senza apportare modifiche grammaticali.
2. Mantieni la struttura originale e la formattazione del testo, tenendo conto che il testo è in lingua italiana.
3. Se una parola o una frase non ti è chiara, indica questo con [unclear] nella trascrizione.
Provvedi solo la trascrizione senza ulteriori commenti.
A questo punto la risposta conteneva alcuni caratteri accentati, era più strettamente collegata al testo nell’immagine, ma i risultati erano ancora ben lontani dall’essere soddisfacenti. Sembra che a Llama piaccia fare le proprie interpretazioni personali del testo, sostituendo parole o persino intere frasi. Se provavo a caricare una nuova immagine nella stessa finestra di chat, chiedendogli di eseguire lo stesso lavoro sulla nuova immagine, cominciava ad avere allucinazioni e a inventarsi completamente il testo.
Ecco un’immagine di esempio che ho caricato:

Con il prompt qui sopra, la risposta ha cominciato a sputare fuori questo testo:
Gli Arabi chiamarono Maghreb, cioè l’Oriente, la parte settentrionale dell’Africa situata a ovest del’ Egitto, dalla Tripolitania al Marocco. Più precisamente, il Maghreb indica l’insieme dei paesi del nord-ov
E a quel punto l’ho semplicemente fermato. Avrebbe continuato ad avere allucinazioni. La risposta non è coerente con il testo originale. Ha sostituito “Occidente” (Ovest) con “Oriente” (Est)!
Oggi gli ho dato un’altra possibilità per vedere se avrebbe fatto meglio, ma di nuovo i risultati erano per lo più allucinazioni:
L’immagine presenta una pagina di un libro in italiano con il titolo “L’Africa del Nord”. La pagina è stata scansionata da un dispositivo di scansione e ha subito alcuni errori di riconoscimento ottico dei caratteri (OCR) che hanno causato la perdita o la confusione di alcune lettere, soprattutto in parole lunghe. Questo è dovuto al fatto che il testo originale non era stato scansionato con precisione e le informazioni hanno subito alcuni errori durante il processo di riconoscimento ottico dei caratteri (OCR).
Ecco la trascrizione del testo:
L’Africa del Nord
Gli Arabi chiamarono Maghreb, cioè “Occidente”, la parte settentrionale dell’Africa situata a ovest dell’Egitto, dalla Tripolitania al Marocco. Più precisamente, il termine indica l’insieme dei paesi che si trovano nel nord-ovest dell’Africa: Marocco, Algeria e Tunisia.
Per i Romani l’Africa corrispondeva alla provincia di Cartagine e in seguito all’Africa Proconsolare comprendente: Numidia, Mauretania Sitifiana e Mauretania Cesariana. La Mauretania Tingitana (Tangeri) fu annessa alla diocesi civile della Spagna.
Il nostro pellegrinaggio – e quindi la nostra attenzione e il nostro interesse – si limitano alla Tunisia e all’Algeria; per l’incontro col mondo romano, per le tracce che rimangono ancora visibili delle città antiche, per il ricordo di un passato glorioso.
Ecco qui alcuni appunti sull’Africa del Nord:
- La Tunisia: è uno dei paesi più densamente popolati dell’Africa. Gli abitanti sono in gran parte musulmani e la lingua ufficiale è l’arabo, ma anche il francese e l’italiano sono parlate ampiamente.
- L’Algeria: è un altro paese con una grande densità di popolazione. Le principali città sono Algeri, Orano e Costantina. La lingua ufficiale è l’arabo, ma anche il francese e l’amazigh (lingua berbera) sono parlate ampiamente.
- Il Marocco: è un paese con una densità di popolazione più bassa rispetto alle altre due nazioni. La capitale è Rabat e la lingua ufficiale è l’arabo, ma anche il francese e l’amazigh sono parlate ampiamente.
Questi appunti forniscono un’introduzione generale ai tre paesi del nord dell’Africa: Tunisia, Algeria e Marocco. Ognuno di questi paesi ha la propria storia, cultura e lingua ufficiale, ma anche una forte presenza della religione islamica.
L’intero primo paragrafo è un commento sul fatto che l’immagine fornita avrebbe subito un processo errato di OCR (da dove viene fuori? TU, ollama, dovresti fare l’OCR, ADESSO! Inoltre, ti avevo detto di non dare altri commenti, ma di eseguire SOLTANTO l’OCR tu stesso, uff). Tutto ciò che è in rosso è completamente allucinato.
A questo punto ho deciso di tornare a usare Google Lens dal mio smartphone, che svolge un lavoro di OCR quasi perfetto. Mi sembra che l’IA abbia ancora parecchia strada da fare prima di perfezionare l’arte dell’OCR. Vorrei solo che Google Lens funzionasse anche su desktop e non soltanto su mobile.

Be First to Comment