Tips & Tricks

Come eseguire correttamente l'OCR di un PDF in lingua da destra a sinistra

I motori OCR PDF sono costruiti attorno al flusso del testo da sinistra a destra. Quando fornisci loro un documento scritto in una scrittura da destra a sinistra come arabo, ebraico, persiano o urdu, il motore deve rilevare la direzione della scrittura, riconoscere i caratteri nel corretto ordine visivo e logico e restituire un testo che si legge naturalmente nella lingua di destinazione. Sbagliare uno di questi passaggi produce testo tecnicamente riconosciuto ma funzionalmente inutilizzabile: parole scritte al contrario, frasi che iniziano alla fine e numeri che appaiono sul lato sbagliato del testo circostante.

L'OCR corretto per le lingue da destra a sinistra richiede la selezione di un motore OCR che supporti esplicitamente lo script di destinazione, configurandolo con il parametro della lingua corretto e verificando l'output tramite strumenti bidirezionali in grado di riconoscere il testo. Il processo non è sostanzialmente più difficile dell'OCR per le lingue da sinistra a destra, ma il passaggio di configurazione che molti utenti saltano, indicando al motore quale lingua aspettarsi, non è facoltativo per gli script da destra a sinistra. Un motore lasciato sulle impostazioni predefinite, solitamente inglese, produrrà output senza senso da un documento arabo o ebraico.

Gli strumenti OCR PDF scansionato di WukongPDF supportano più lingue, inclusi gli script da destra a sinistra. Selezionare la lingua corretta prima di eseguire l'OCR fa la differenza tra estrarre testo utilizzabile e generare rumore nei caratteri.

How to OCR a Right-to-Left Language PDF Correctly

Perché l'OCR da destra a sinistra non riesce senza configurazione esplicita

I motori OCR analizzano le forme e le associano ai caratteri nel set di caratteri della lingua specificata. Quando il motore prevede l'inglese, interpreta le forme come lettere latine. La lettera araba per B assomiglia in qualche modo alla lettera latina B in molti caratteri, ma la lettera araba per Ayn non ha un equivalente latino. Un motore in modalità inglese che incontra Ayn emette un segno di punteggiatura casuale o salta completamente il carattere. In un intero documento, questo riconoscimento errato carattere per carattere produce un output senza alcuna relazione con il testo originale.

Anche quando viene selezionata la sceneggiatura corretta, la direzione del testo introduce un secondo livello di complessità. I motori OCR elaborano le immagini da sinistra a destra per impostazione predefinita, spostandosi su ciascuna riga di pixel dal bordo sinistro a quello destro. Un documento da destra a sinistra deve essere elaborato da destra a sinistra in modo che il motore legga i caratteri nell'ordine in cui sono stati scritti. Se il motore non inverte la direzione di elaborazione per gli script da destra a sinistra, i caratteri riconosciuti saranno in ordine inverso all'interno di ciascuna parola. Alcuni motori gestiscono automaticamente l'inversione di direzione quando viene impostato il parametro della lingua. Altri richiedono un flag di direzione del testo esplicito.

WukongPDF

Prova l'OCR dei PDF

Nessuna installazione necessaria. Funziona direttamente nel tuo browser.

Inizia ora →

Configurazione Tesseract per OCR da destra a sinistra

Tesseract, il motore OCR open source, supporta arabo, ebraico, persiano, urdu e molti altri script da destra a sinistra tramite file di dati specifici della lingua. Installa i dati della lingua per lo script di destinazione. Su Linux, il pacchetto è generalmente denominato tesseract-ocr-ara per l'arabo o tesseract-ocr-heb per l'ebraico. Su Windows, scarica il file di dati addestrati dal repository Tesseract GitHub e inseriscilo nella directory tessdata.

Esegui Tesseract con il flag della lingua impostato sullo script corretto: tesseract input.pdf output -l ara per l'arabo, -l heb per l'ebraico o -l ara+eng per un documento bilingue arabo-inglese. Tesseract gestisce automaticamente la direzione del testo quando il parametro della lingua specifica uno script da destra a sinistra. L'output del testo riconosciuto conserva l'ordine di lettura corretto. Per verificare, aprire il file di testo di output e verificare che le parole vengano lette nella direzione prevista e che le frasi scorrano da destra a sinistra.

Per documenti con scritture miste, come un documento di ricerca arabo che contiene termini tecnici inglesi, specificare entrambe le lingue separate da un segno più: -l ara+eng. Tesseract passa da un modello linguistico all'altro parola per parola, applicando il modello arabo alle parole in caratteri arabi e il modello inglese alle parole in caratteri latini. Il cambio per parola non è perfetto, in particolare su parole brevi che potrebbero appartenere a entrambi gli script, ma gestisce adeguatamente la maggior parte dei documenti con script misti.

Utilizzo di Google Cloud Vision per il rilevamento automatico

Le funzionalità OCR di Google Cloud Vision includono il rilevamento automatico della lingua, particolarmente utile per gli script da destra a sinistra quando non sei sicuro della lingua esatta o quando il documento contiene più lingue da destra a sinistra. L'API accetta un'immagine del documento e restituisce il testo riconosciuto con riquadri di delimitazione per ogni parola, la lingua rilevata per ogni blocco di testo e la direzione del testo. Per gli script da destra a sinistra, il testo restituito è già nell'ordine di lettura corretto.

La qualità del riconoscimento dell'arabo e dell'ebraico di Cloud Vision è generalmente superiore a quella di Tesseract perché i modelli sottostanti sono stati addestrati su set di dati più ampi e diversificati. Il compromesso è che l'immagine del documento deve essere caricata sui server di Google per l'elaborazione, il che potrebbe non essere accettabile per documenti sensibili o riservati. Per i documenti disponibili al pubblico o interni per i quali è approvata l'elaborazione cloud, Cloud Vision fornisce l'OCR da destra a sinistra più accurato disponibile senza acquistare software OCR desktop specializzato.

LinguaSupporto motore OCRNote sulla precisione
araboTesseract, Google Cloud Vision, ABBYYI segni diacritici possono essere eliminati, la gestione della legatura varia
ebraicoTesseract, Google Cloud Vision, ABBYYI punti vocalici di Nikud spesso vengono persi durante l'OCR
Persiano/UrduTesseract, Google Cloud VisionLe varianti dello script Nastaliq mettono alla prova la maggior parte dei motori

Verifica dell'output OCR per testo da destra a sinistra

Dopo l'OCR, apri il testo riconosciuto in un editor di testo che supporti il rendering bidirezionale del testo, ad esempio Notepad++ con il plug-in bidirezionale abilitato o Visual Studio Code con un Language Pack RTL installato. Gli editor di testo standard che presuppongono il testo da sinistra a destra possono visualizzare correttamente il testo da destra a sinistra se è implementato l'algoritmo bidirezionale Unicode, ma i segni di punteggiatura alle estremità delle righe e il relativo ordinamento dei numeri all'interno del testo sono punti di errore comuni. Un editor di testo con supporto bidirezionale esplicito mostra il testo come un madrelingua si aspetterebbe di leggerlo.

Controllare a campione l'output rispetto al documento originale scansionato a tre livelli: singole parole, in particolare quelle contenenti segni diacritici o legature; frasi complete, confermando che l'ordine delle parole si legge in modo naturale nella lingua di destinazione; e numeri e date, confermando che appaiano sul lato corretto del testo circostante. Un documento in cui ogni parola viene riconosciuta correttamente ma l'ordine delle parole è invertito all'interno di ogni frase è inutilizzabile per la traduzione o la ricerca quanto un documento in cui non viene riconosciuta alcuna parola.

L'OCR per le lingue da destra a sinistra è un problema tecnico risolto quando viene impostato il parametro della lingua corretta. Il passo più importante è dire al motore quale script aspettarsi. Tutto a valle di tale decisione, dall'accuratezza del riconoscimento all'ordine di lettura alla gestione degli script misti, dipende dalla corretta configurazione della lingua. Con il parametro della lingua configurato e un editor di testo bidirezionale aperto per la verifica, l'OCR per un documento in una lingua da destra a sinistra non richiede più tempo o impegno dell'OCR per qualsiasi altra lingua.

Traduzione post-OCR del testo in lingua da destra a sinistra

Una volta riconosciuto accuratamente il testo, la traduzione del contenuto in lingua da destra a sinistra richiede un motore di traduzione che gestisca correttamente il testo bidirezionale. Google Translate e DeepL supportano entrambi l'arabo, l'ebraico e il persiano. Incolla il testo riconosciuto nell'interfaccia di traduzione e conferma che la lingua di partenza è identificata correttamente. Il motore di traduzione rileva la direzione dello script e la conserva nell'output. Per i documenti in cui la traduzione verrà rivista da un madrelingua, esporta sia il testo originale riconosciuto che il testo tradotto fianco a fianco in una tabella a due colonne per un confronto efficiente.

La traduzione automatica delle lingue da destra a sinistra è generalmente meno accurata della traduzione tra le lingue europee da sinistra a destra perché i dati di addestramento per molte coppie linguistiche da destra a sinistra sono più piccoli. Per i documenti critici, chiedi a un madrelingua di rivedere la traduzione prima di agire sul suo contenuto. La fase OCR produce un testo sorgente accurato. La fase di traduzione aggiunge uno strato di interpretazione. Tratta l'output dell'OCR come verità fondamentale su ciò che dice il documento e la traduzione automatica come una guida al suo significato, previa verifica.

Elaborazione batch PDF in lingua da destra a sinistra

Quando hai una cartella di PDF in lingua da destra a sinistra su OCR, l'interfaccia della riga di comando di Tesseract accetta l'input batch. Un singolo comando di shell elabora ogni PDF: for f in *.pdf; do tesseract $f ${f%.pdf} -l ara; Fatto. Il comando scorre tutti i PDF, esegue l'OCR con il modello arabo e salva il testo riconosciuto accanto a ciascun PDF con i nomi file di base corrispondenti.

Per i batch in lingue miste, utilizzare un passaggio di rilevamento della lingua prima dell'OCR. Uno script Python con la libreria langdetect campiona la prima pagina di testo per prevedere la lingua. In base alla previsione, lo script seleziona il parametro appropriato della lingua Tesseract ed esegue l'OCR. Il rilevamento automatico della lingua elimina l'ordinamento manuale dei PDF per lingua prima dell'elaborazione batch. L'OCR batch per le lingue da destra a sinistra trasforma un noioso processo per documento in un unico comando che viene completato in pochi minuti, indipendentemente dal numero di documenti presenti nella cartella di input.

L'OCR per le lingue da destra a sinistra non è un caso speciale che richiede strumenti esotici. Richiede gli stessi strumenti dell'OCR da sinistra a destra, configurato con il parametro della lingua corretto. Il passaggio di configurazione che molti utenti saltano perché presumono che le impostazioni predefinite dell'OCR funzioneranno è l'intera differenza tra il testo estratto utilizzabile e il rumore completo dei caratteri. Imposta il flag della lingua, esegui l'OCR, verifica l'output in un editor di testo bidirezionale e il processo è completo. L'OCR per gli script da destra a sinistra premia l'utente che si prende il tempo per configurare correttamente il parametro della lingua e verifica l'output in un editor di testo bidirezionale, producendo testo accurato e utilizzabile da documenti che altrimenti rimarrebbero inaccessibili a chiunque non legga la lingua di partenza.

WukongPDF

Prova l'OCR dei PDF

Nessuna installazione necessaria. Funziona direttamente nel tuo browser.

Inizia ora →