Aiuto:Strumenti per la rilettura/postOCR: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Ho riscritto la prima parte di questa voce.
Riscrittura completata.
Riga 1:
Lo strumento '''postOCR''', richiamabile da tastiera con la combinazione <code>Alt+7</code>, ingloba diverse operazioni di correzione del testo ed ha un duplice scopo: rimuovere gran parte dei difetti tipicamente presenti in un testo ottenuto da software [[w:Riconoscimento_ottico_dei_caratteri|OCR]] - denominati [[wikt:en:scanno|scannos]] - e inserire automaticamente del codice di formattazione. La versione attuale dello script preserva le parti già formattate - tabelle, link, template, ... - e ciò consente di eseguirlo più volte senza causare modifiche indesiderate alla struttura della pagina; ad esempio, grazie a postOCR è possibile velocizzare la procedura di inserimento degli apostrofi ''tipografici'' <ref>La [[Wikisource:Convenzioni_di_trascrizione#Apostrofi|convenzione]] sul trattamento degli apostrofi in sede di trascrizione ''prevederebbe'' un utilizzo prevalente dell'apostrofo dattilografico, per la maggior facilità di inserimento. Utilizzando postOCR, si può parzialmente rimediare a quest'impedimento.</ref> ponendo in fase iniziale degli apostrofi ''dattilografici'' - più facilmente inseribili tramite tastiera - e lanciando poi un'istanza dello strumento.
;Combinazione di tasti alternativa al click sul tool <code>Alt+7</code>
 
;Cosa fa:
 
Lo strumento '''postOCR''' ingloba diverse operazioni di correzione del testo ed ha un duplice scopo: rimuovere gran parte dei difetti tipicamente presenti in un testo ottenuto da software [[w:Riconoscimento_ottico_dei_caratteri|OCR]] - denominati [[wikt:en:scanno|scannos]] - e inserire automaticamente del codice di formattazione. La versione attuale dello script preserva le parti già formattate - tabelle, link, template, ... - e ciò consente di eseguirlo più volte senza causare modifiche indesiderate alla struttura della pagina; ad esempio, grazie a postOCR è possibile velocizzare la procedura di inserimento degli apostrofi ''tipografici'' <ref>La [[Wikisource:Convenzioni_di_trascrizione#Apostrofi|convenzione]] sul trattamento degli apostrofi in sede di trascrizione ''prevederebbe'' un utilizzo prevalente dell'apostrofo dattilografico, per la maggior facilità di inserimento. Utilizzando postOCR, si può parzialmente rimediare a quest'impedimento.</ref> ponendo in fase iniziale degli apostrofi ''dattilografici'' - più facilmente inseribili tramite tastiera - e lanciando poi un'istanza dello strumento.
 
La quantità di operazioni effettuate da postOCR fa di questo strumento un'importante risorsa durante lo svolgimento dell'attività che costituisce il "cuore pulsante" di Wikisource: la correzione del testo e l'inserimento di template ricorrenti in [[Aiuto:Namespace_pagina|nsPagina]]. E lo è nonostante alcune delle sue funzioni siano eseguite automaticamente durante il caricamento del testo fornito dal software OCR in una nuova pagina, poiché esso incorpora alcune procedure che possono essere riutilizzate durante la fase di modifica - e che, se conosciute, consentono di svolgere il lavoro più efficacemente.
 
===Approfondimento: come funziona?===
; ... ma prima di usarlo ...
 
Per capire a fondo l'utilità di postOCR, occorre avere le idee ben chiare sulle operazioni (ripetitive e laboriose) che è necessario fare sul testo prodotto da un OCR (anche di elevata qualità) per trasformarlo in un testo che soddisfi quanto più possibile i requisiti di un testo ''accuratamente corretto'' e, successivamente, ''ben formattato''.
 
Un elenco incompleto delle cose da fare per correggere il testo è:
# cancellare parti di testo che non fanno parte del testo vero e proprio (la prima, o le due prime righe contengono generalmente testo che fa parte dell'intestazione della pagina)
# verificare che il testo (punteggiatura compresa) corrisponda fedelmente all'originale a fronte;
# correggere gli errori di scansione generali e ricorrenti;
# correggere gli errori di scansione specifici di una certa opera;
# riunire le parole spezzate a fine riga conservando, in una prima fase, gli acapo;
# correggere le spaziature in corrispondenza dei segni di interpunzione;
# trasformare gli apostrofi da dattilografici a tipografici;
# marcare le aree in versi con il tag poem;
# nei soli testi in prosa, fuori del tag poem:
## identificare i paragrafi aggiungendo una riga vuota fra un paragrafo e il successivo;
## riunire i paragrafi eliminando i caratteri acapo all'interno del paragrafo.
 
PerPrima capiredi iniziare ad usare postOCR e per acomprenderne fondoappieno l'utilità di postOCR, occorre avere le idee ben chiare sulleriguardo le operazioni (- ripetitive e laboriose) che- ènecessarie necessarioper faretrasformare sulil testo prodotto da un software OCR, (anche di elevata qualità) per trasformarlo, in un testolavoro che soddisfi quanto più possibile iai requisiti di un testo ''accuratamente correttocorrettezza'' e, successivamente, ''benbuona formattatoformattazione'' di Wikisource.
In ogni pagina Pagina c'è poi da:
# aggiungere nell'header un template {{tl|RigaIntestazione}} con i dati di intestazione pagina (in genere, il numero della pagina e un riferimento all'opera e/o al capitolo);
# sistemare le parole spezzate a fine pagina;
# verificare se nella pagina sono contenute citazioni a autori o a opere e aggiungere i template {{tl|AutoreCitato}} e/o {{tl|TestoCitato}}
# sistemare le note a piè di pagina
 
Un elenco (incompleto) delle coseazioni da faresvolgere per correggere il testo è il seguente:
PostOCR può eseguire buona parte delle cose da fare della prima lista e almeno una della seconda lista (inserimento RigaIntestazione). Il suo lavoro viene completato, in genere, dai due strumenti ''[[Aiuto:Strumenti_per_la_rilettura/aggiusta paragrafi|aggiusta paragrafi]]'' e ''[[Aiuto:Strumenti_per_la_rilettura/unisci linee|unisci linee]]'', che però vanno usati ''solo dopo aver marcato, con il tag poem, le eventuali parti in versi''. Per eseguire il lavoro 3 (''correggere gli errori di scansione specifici di una certa opera'') postOCR lavora in cooperazione con il tool ''[[Aiuto:Strumenti_per_la_rilettura/trova e sostituisci|trova e sostituisci]]'', ma questa operazione è piuttosto complessa per la necessità di caricare in memoria, e salvare in una pagina, le liste di sostituzioni opera-specifiche che sono state "ricordate" e sarà trattata a parte.
# Rimuovere porzioni di testo non facenti parte del corpo della pagina, come intestazione di pagina, piè di pagina e residui di pagine precedenti o successive.
# verificareVerificare che ilquanto testoriportato, (punteggiatura compresa) corrisponda fedelmente all'originale a fronte;.
## correggereCorreggere gli errori di scansione generali e ricorrentigenerici;
## correggereCorreggere gli errori di scansione specifici diper unal'opera certasu operacui si sta lavorando;
# Ricomporre le parole spezzare a fine riga, trascurando inizialmente gli "a capo".
# correggereSistemare le spaziature in corrispondenza dei segni di interpunzione;.
# trasformareConvertire gli apostrofi da dattilografici ain apostrofi tipografici; (ove previsto).
# marcareMarcare le aree in versi con ili tag <nowiki><poem;>...</poem></nowiki>.
# Nei testi in prosa, esternamente alle aree in versi:
## identificareIdentificare i paragrafi aggiungendo una riga vuota fratra la fine di un paragrafo e ill'inizio del successivo;
## Ricomporre ogni paragrafo rimuovendo gli "a capo" presenti tra i suoi periodi.
 
All'interno del namespace Pagina vanno poi eseguite le seguenti operazioni:
L'automazione dell'inserimento di RigaIntestazione si basa sulla lettura e caricamento in memoria del testo completo della pagina ''precedente la pagina precedente'' (numero pagina -2) e della ricerca, nella pagina, di un template RigaIntestazione. Molto spesso, le intestazioni sono simili in tutte le facciate ''fronte'' e in tutte le facciate ''retro'', e l'unica differenza è la variazione del numero di pagina. In qualche caso, le intestazioni variano in parte da capitolo a capitolo.
# Aggiungere in testa alla pagina, nella sezione ''header'', l'intestazione. Ciò dev'essere fatto utilizzando il template {{tl|RigaIntestazione}}, opportunamente compilato: in genere, si devono inserire il numero di pagina ed un riferimento all'opera o al capitolo.
# Sistemare le parole spezzate a inizio o fine pagina, usando il template {{tl|Pt}} ("parola tronca").
# verificareVerificare se nella pagina sono contenutepresenti citazioni aad autori o a opere eed eventualmente aggiungere i riferimenti mediante i template {{tl|AutoreCitato}} e/o {{tl|TestoCitato}}.
# Sistemare le note a piè di pagina usando i tag <nowiki><ref>...</ref></nowiki>
# Aggiungere, se presente, il piè di pagina nella sezione ''footer'', utilizzando {{tl|PieDiPagina}}.
 
PostOCREseguendo puòpostOCR, eseguirevengono automatizzate una buona parte delle coseazioni dacontenute fare dellanella prima lista e almenol'inserimento unadell'intestazione delladi secondapagina. listaLa (inserimentoprocedura RigaIntestazione).può Ilessere suopoi lavorocompletata viene- completato,dopo aver marcato le aree in genere,versi! dai- duecon l'utilizzo degli strumenti ''[[Aiuto:Strumenti_per_la_rilettura/aggiusta paragrafi|aggiusta paragrafi]]'' e ''[[Aiuto:Strumenti_per_la_rilettura/unisci linee|unisci linee]]'', che però vanno usati ''solo dopo aver marcato, con il tag poem, le eventuali parti in versi''. Per eseguirela ilcorrezione lavoro 3 (''correggere glidi errori di scansione "opera-specifici di una certa opera'')", postOCR lavoraagisce in cooperazione con il tool ''[[Aiuto:Strumenti_per_la_rilettura/trova e sostituisci|trova e sostituisci]]'', ma; questa operazioneprocedura è piuttostotuttavia complessa, perdata la necessità di caricare in memoria, e salvare in una pagina, le liste di sostituzioni "opera-specifiche" che sono state "ricordate", e saràverrà trattata a parte.
PostOCR legge il template RigaIntestazione della precedente pagina -2, identifica il numero pagina, lo aumenta di 2, e inserisce in header il template "indovinato"; basta un'occhiata per verificare che non sia variato, ad es. per fine di capitolo e inizio di un altro capitolo; in questo caso si corregge. Il sistema funziona solo se:
# la pagina corrente NON ha già un template RigaIntestazione (per sostituirlo con quello automatico basta cancellarlo prima di lanciare postOCR)
# nella precedente pagina -2 c'è un template RigaIntestazione.
 
L'automazione dell'inserimento dell'intestazione di pagina si basa sull'analisi - lettura e caricamento in memoria - del testo completo presente due facciate prima rispetto a quella corrente, alla ricerca della presenza del template {{tl|RigaIntestazione}}. Le intestazioni di pagina sono infatti simili rispettivamente per il recto ed il verso di una pagina di libro <ref>[[w:Recto_e_verso|recto e verso]] di una pagina indicano la facciata destra e sinistra, a seconda della tipologia di scrittura di una lingua.</ref>, tranne che per il numero di pagina; da libro a libro, l'intestazione di pagina può differire in base al capitolo. Ciò che fa postOCR è leggere la riga di intestazione ottenuta, identificare il numero di pagina, adeguarlo per la pagina attualmente in fase di modifica, e inserire in ''header'' il risultato ottenuto; nel caso di un cambio radicale di intestazione da una pagina all'altra, è necessaria una correzione manuale. Lo script non inserisce nessuna riga di intestazione se si verifica una condizione tra:
Prima di inserire RigaIntestazione, lo script dà un'occhiata alla ''prima riga del testo'' della pagina corrente, dove l'OCR scrive, in genere, il testo dell'intestazione di pagina, che va rimosso. Se lo script vede che la pagina non ha ancora un template RigaIntestazione, e giudica che la prima riga del testo della pagina è ''piuttosto simile'' alla RigaIntestazione calcolata, allora ''cancella del tutto la prima riga''; cosa assai utile per correggere le pagine appena create.
# L'analisi non restituisce alcuna riga di intestazione - quindi, nella facciata ispezionata non si trovava alcun template {{tl|RigaIntestazione}}.
# Nella pagina che si sta modificando è già presente {{tl|RigaIntestazione}}.
Inoltre, prima di inserire un nuovo template {{tl|RigaIntestazione}}, postOCR verifica - in caso non vi sia ancora alcuna riga di intestazione - la corrispondenza della prima riga del corpo pagina con la riga di intestazione calcolata: se la somiglianza è sufficientemente alta, esso rimuove automaticamente tale riga.