Correttore ortografico - convertire le parole considerate errate

Anonimo
2016-01-30T11:55:43+00:00

Buongiorno e bentrovate/i!

Sono nuovo del gruppo, porgo i saluti a tutte/i!

Mi chiamo Marcello.

Ho un problema da risolvere e chiedo cortesemente aiuto a voi poichè non ho alcuna idea in merito.

Nella stesura di un testo scritto - per alunni - a cura di un docente, abbiamo bisogno di recuperare parti di un vecchio libro di testo - dello stesso docente - di cui non possiede alcuna versione digitale.

Ovviamente l'OCR ci risolve solo marginalmente il problema - come si può facilmente comprendere - data la presenza di lingue e caratteri diversi nonché parti grafiche. Oltretutto, le parole (greche in particolare) non riconosciute lasciano tracce non intellegibili, creando ulteriore difficoltà. Le parole, riconosciute come errore, generalmente non sono racchiuse tra apici.

Lo scopo di questa richiesta è quello di trovare un modo per rendere più rapido il recupero del testo non in lingua antica, uniformando il resto - non riconosciuto - in simboli. E' ovvio che c'è il rischio che qualche parola in lingua italiana - non ben interpretata dall'OCR - possa essere considerata come errata, ma conto sul fatto che la probabilità circa questi eventi sia relativamente bassa.

Esiste, dunque, la possibilità in un modo o nell'altro di poter sostituire in automatico tutte le parole non riconosciute dal correttore - tipicamente quelle sottolineate in rosso - con un carattere tipo "#" (oppure "_") così da rendere più fruibile il testo recuperato con l'OCR?

Esempio:

se dovesse essere presente un testo greco abbiamo la necessità di convertirlo con un caratere tipo "#" (oppure "_"), quindi convertire "πάντα ῥεῖ" in "##### ###" oppure parole latine "doctum doces" in "###### #####".

Inserisco - per maggiore chiarezza - alcune righe recuperate (il cui esito OCR è stato già molto positivo rispetto ad altre pagine):

  • ESITO OCR)

<<imperativo presente: azione durativa (= ordine valido nel tempo o eseguito con sforzo):

yiyvwoKE gocdióv (Aesch., Prom. 309) <cerca (= sforzati) di conoscere te stesso>: yiyvcocice: azione durativa per un'applicazione che si prolunga nel tempo>>

  • RISULTATO ATTESO)

<<imperativo presente: azione durativa (= ordine valido nel tempo o eseguito con sforzo):######## ####### (#####., ####. 309) <cerca (= sforzati) di conoscere te stesso>: ##########: azione durativa per un'applicazione che si prolunga nel tempo>>

(oppure

<<imperativo presente: azione durativa (= ordine valido nel tempo o eseguito con sforzo):________ _______ (_____., ____. 309) <cerca (= sforzati) di conoscere te stesso>: __________: azione durativa per un'applicazione che si prolunga nel tempo>>)

Grazie!

Buon tutto!

*******

Marcello

*************

Microsoft 365 e Office | Word | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2016-02-03T00:29:58+00:00

    Mauro, una nota sul blocco dell'esecuzione.

    Quando si blocca, il codice dell'errore è 4608: errore definito dall'applicazione....

    Non compare alcun errore in gruppi di 2 o 3 pagine.

    Grazie!!!

    Buon tutto!

    *******

    Marcello

    *************

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-02-03T00:06:15+00:00

    Se ho capito quello che vuoi, questa macro da copia/incollare in un modulo standard del vb di Word e poi da lanciare, trasforma tutti gli errori del documento in una serie di # :

    Public Sub m()

        Dim objErrori As ProofreadingErrors

        Dim objErrore As Word.Range

        Set objErrori = ActiveDocument.Range.SpellingErrors

       

        For Each objErrore In objErrori

            objErrore.Text = "#######"

        Next

       

        Set objErrore = Nothing

        Set objErrori = Nothing

    End Sub

    Sostituisci i # con _ se preferisci oppure se non vuoi nulla con una stringa vuota, esempio " ".

    Mauro grazie per la soluzione!

    Ho verificato subito il codice... funziona come desideravo!

    Si è solo bloccato sul documento in uso, ma probabilmente è dovuto al gran numero di parole non riconosciute dal correttore.... 

    Infatti la sostituzione della stringa è avvenuta regolarmente solo nella prima pagina.

    Frazionando il documento, il codice ha funzionato perfettamente.

    Grazie!!!

    Buon tutto!

    *******

    Marcello

    *************

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-02-02T16:45:12+00:00

    Se ho capito quello che vuoi, questa macro da copia/incollare in un modulo standard del vb di Word e poi da lanciare, trasforma tutti gli errori del documento in una serie di # :

    Public Sub m()

        Dim objErrori As ProofreadingErrors

        Dim objErrore As Word.Range

        Set objErrori = ActiveDocument.Range.SpellingErrors

        For Each objErrore In objErrori

            objErrore.Text = "#######"

        Next

        Set objErrore = Nothing

        Set objErrori = Nothing

    End Sub

    Sostituisci i # con _ se preferisci oppure se non vuoi nulla con una stringa vuota, esempio " ".

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-01-31T19:06:17+00:00

    Grazie Paoloard!

    In ogni caso è un modo per approcciare alla soluzione del problema... Il vba lo avevo già valutato come possibile tentativo ma non saprei dove mettere le mani. Il fatto rilevante è che ci sono ancora oltre 600 pagine (con situazioni come e molto peggio di quella dell'esempio citato) da riscrivere, riparmiare tempo è ovviamente molto rilevante in questo caso.

    Puoi darmi una dritta su dove cercar per tentare di capire qualcosa in più?

    Grazie!

    Buon tutto!

    *******

    Marcello

    *************

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2016-01-30T15:33:45+00:00

    Temo che, se le parole sono individuabili solo con segno di errore, non vi sia soluzione se non con codice VB.

    Spero che qualcun altro ci metta le mani.

    Spiacente.

    La risposta è stata utile?

    0 commenti Nessun commento