Come addestrare i modelli PyLaia in Transkribus

Come addestrare i modelli PyLaia in Transkribus

Strumenti Transkribus
Transkribus Expert Client
Ultimo aggiornamento 1 anno fa
Informazioni su Transkribus

Transkribus è una soluzione completa per la digitalizzazione, il riconoscimento del testo tramite IA, la trascrizione e la ricerca di documenti storici. Scopri di più su Transkribus qui

Transkribus è una soluzione completa per la digitalizzazione, il riconoscimento del testo tramite IA, la trascrizione e la ricerca di documenti storici. Scopri di più su Transkribus qui

Sommario

Sommario

Questa guida spiega come usare la funzione di addestramento di PyLaia per addestrare un modello a riconoscere il testo stampato o scritto a mano nei tuoi documenti. Dopo l'addestramento, il modello ti aiuterà a trascrivere e cercare automaticamente la tua collezione. Il workflow per l'addestramento del modello con PyLaia è fondamentalmente lo stesso che con HTR+. Pertanto, questa guida si concentra sui parametri che possono essere impostati durante l'addestramento con PyLaia. Se hai domande più generali sull'addestramento del modello e su come viene fatto in Transkribus, puoi trovare maggiori informazioni qui: Come addestrare e applicare modelli di riconoscimento del testo scritto a mano in Transkribus.

Introduzione

  • La piattaforma Transkribus permette agli utenti di addestrare modelli per elaborare automaticamente una collezione di documenti. PyLaia è un altro motore, che è supportato accanto al motore CITlab-HTR+.
  • I due motori funzionano in modo abbastanza simile e quindi rispettivamente anche i risultati in Character Error Rate (CER) sono simili.
  • Una differenza è che in PyLaia gli utenti possono impostare diversi parametri da soli. La struttura della rete di PyLaia può anche essere cambiata - un parco giochi per le persone che hanno familiarità con l'apprendimento automatico. Le modifiche alla rete neurale possono essere fatte tramite il comando Repository Github.
  • L'HTR+ di solito porta risultati migliori con linee curve o ruotate, ma siamo ottimisti del fatto che PyLaia sarà in grado di tenere presto il passo in questo.
  • Se vuoi usare lo strumento Text to Image, usa HTR+. Per PyLaia non è ancora implementato. Puoi trovare maggiori informazioni su come importare una trascrizione esistente in Transkribus qui: https://readcoop.eu/transkribus/howto/how-to-use-existing-transcriptions-to-train-a-handwritten-text-recognition-model/
  • I documenti che sono stati riconosciuti con un modello PyLaia possono essere cercati con la ricerca Fulltext (Solr) in Transkribus.

Preparazione

  • Si consiglia di iniziare il processo di addestramento con un numero di parole compreso tra 5.000 e 15.000 di materiale trascritto, a seconda se il testo è stampato o scritto a mano. I modelli di base possono ridurre la quantità di dati di addestramento richiesti.
  • Come modello di base puoi usare uno dei tuoi modelli o uno dei modelli pubblicamente disponibili in Transkribus, se ce n'è uno adatto ai tuoi documenti. Per PyLaia solo i modelli PyLaia possono essere usati come modelli di base. Troverai una panoramica dei modelli pubblici attualmente disponibili qui: https://readcoop.eu/transkribus/howto/public-models-in-transkribus/
  • La preparazione dei dati di addestramento segue la stessa procedura dei modelli HTR+. Puoi leggere come si fa qui: Come addestrare e applicare modelli di riconoscimento del testo scritto a mano in Transkribus.

Addestramento

  • Le principali opzioni per l'addestramento di un modello possono essere trovate nella Scheda "Tools" nel "Text recognition" .
  • Come "Method", scegliete "HTR (CITlab HTR+ & PyLaia)".
  • Cliccando il pulsante "Models" puoi vedere quali modelli sono disponibili e su quali documenti sono stati addestrati. Se scegli "PyLaia" in "Technology" verranno mostrati solo i modelli PyLaia.
  • Il pulsante "Train" ti porta alle opzioni per l'addestramento dei modelli.

Figura 1: sezione "Text Recognition" nella scheda "Tools" per accedere all'addestramento di PyLaia

Figura 2: Interfaccia di addestramento

Parametri

I parametri per PyLaia possono essere trovati aprendo la finestra "Train" e poi nella scheda "PyLaia".

Figura 3 Parametri di PyLaia

Numero massimo di epoche

Le epoche seguono la stessa logica dell'HTR+. Per cominciare, ha senso attenersi all'impostazione predefinita di 250. Tieni presente che un numero troppo elevato di epoche rallenterà l'addestramento. 

Arresto anticipato

Il valore di 20 significa che se il CER del Validation Set non scende entro 20 epoche, l'addestramento verrà fermato.

NOTA: importante qui e per gli allenamenti in generale: il Validation Set deve essere variabile e dovrebbe possibilmente contenere tutti i tipi di elementi dei documenti inclusi nel training set. Se il Validation Set non è abbastanza vario, il modello potrebbe fermarsi troppo presto. Pertanto, se il tuo set di validazione è piuttosto piccolo, aumenta il valore di "Early Stopping" per evitare che l'addestramento si fermi prima di aver visto tutti i dati di addestramento. Conclusione di questo: non cercare di risparmiare sul valore del Validation Set.

Modello base

È possibile aggiungere un modello di base all'addestramento. Se scegli questa opzione, le reti neurali impareranno più velocemente e risparmierai tempo. Per avere un beneficio, il modello di base deve essere simile alla scrittura che deve riconoscere. Con l'aiuto di un modello di base è possibile accelerare il processo di addestramento. È probabile che con un modello di base migliori anche la qualità dei risultati di riconoscimento. Tuttavia questo non è sempre garantito e deve essere testato per il caso specifico.

Un grande vantaggio di lavorare con modelli di base è che permettono di iniziare con una quantità minore di pagine di addestramento, il che significa che il carico di lavoro di trascrizione è ridotto.

Per utilizzare un modello di base, è sufficiente scegliere quello desiderato con il pulsante "Choose..." accanto a "Base Model:".

Figura 4: Aggiungere un modello di base

Tasso di apprendimento

Il "Learning Rate" definisce l'incremento da un'epoca all'altra, quindi quanto velocemente procederà l'addestramento. Con un valore più alto, il CER scenderà più velocemente. MA: più alto è il valore, più alto è il rischio che i dettagli vengano tralasciati.

Questo valore si adatta e sarà regolato automaticamente. L'addestramento viene comunque influenzato dal valore con cui è iniziato. Puoi usare l'impostazione predefinita qui.

Tipo di immagine

Abbiamo avuto alcuni casi in cui la pre-elaborazione ha richiesto troppo tempo. Se questo ti succede, puoi cambiare l' "Image Type" in "Compressed".

Puoi procedere nel seguente modo: inizia l'addestramento con "Original". Di tanto in tanto controlla il progresso della pre-elaborazione con il pulsante "Jobs". Nel caso in cui si blocchi, puoi cancellare l'incarico e riavviarlo con l'impostazione "Compressed".

Parametri avanzati

Puoi aprire i parametri avanzati per PyLaia cliccando sul pulsante "Advanced parameters" in fondo ai parametri standard di PyLaia nella scheda "PyLaia".

Figura 5 e 6: Parametri avanzati

Pre-elaborazione

Deslant: scegliere questa opzione con la scrittura corsiva per rendere i caratteri normali. Salta questa opzione con i documenti stampati, perché se i documenti stampati contengono passaggi in corsivo oltre ai normali caratteri di stampa, l'effetto può essere capovolto.

Deslope: permette una maggiore variazione alle baselines, per esempio una maggiore tolleranza per le baselines che non sono esattamente orizzontali, ma inclinate.

Stretch: questa opzione è per la scrittura stretta al fine di estenderla.

Enhance: una finestra che va oltre le linee di base per ottimizzare i passaggi che sono difficili da leggere. Questo è utile se hai del "rumore" nel documento.  

Enhance window size: questa funzione si riferisce all'opzione appena spiegata e quindi deve essere impostata solo se si desidera utilizzare "Enhance". Questa impostazione definisce la dimensione della finestra.

Sauvola enhancement parameter: si prega di attenersi all'impostazione predefinita qui.

Altezza della linea: valore in pixel; se hai bisogno di aumentare i pixel delle immagini puoi farlo qui. 100 è un buon valore da scegliere. Attenzione: se il valore è troppo alto potrebbe portare all' errore "esaurimento della memoria". Puoi aggirare questo errore abbassando il valore della "batch size" (in alto a sinistra nella finestra dei parametri avanzati), per esempio della metà. Tieni presente che più basso è questo valore, più lento sarà l'addestramento. Il rallentamento dell'addestramento relativo alla dimensione del batch dovrebbe essere migliorato con la nuova versione di PyLaia, che imposterà automaticamente la dimensione del batch.

Altezza x della linea: questa impostazione si applica ai discendenti e agli ascendenti. Se metti questo valore, il parametro "Altezza della linea" verrà ignorato.

Per favore, non cambiare i seguenti parametri:

Moment normalization

Features parallelogram

Features surrounding polygon

Features surrounding polygon dilate

Left/right padding: 10 (predefinito) significa che verranno aggiunti 10 pixel. Questo è utile se hai timore che parti della linea possano essere tagliate.

Max width: massimo di larghezza che una linea può raggiungere, il resto sarà tagliato. 6000 (default) è già un valore alto. Se hai pagine molto grandi, puoi aumentare ulteriormente questo valore.

Parametri del modello

Per tutti coloro che hanno familiarità con l'apprendimento automatico e la modifica delle reti neurali. Pertanto, questi parametri non vengono ulteriormente spiegati qui.

Parametri di addestramento

Batch size: numero di pagine che vengono elaborate contemporaneamente nella GPU. Potete cambiare questo valore mettendo un altro numero.

Use_distorsions Trueil Training Set viene esteso artificialmente per aumentare la variazione del set e in questo modo rendere il modello più robusto. Se stai lavorando con una scrittura uniforme e con buone scansioni, non hai bisogno di questa opzione. Per disattivarla, scrivi "False" invece di "True".

Misurare e capire i risultati

Il set di convalida verrà salvato nella collezione da cui è stato fatto l'addestramento, che è anche il luogo in cui viene svolto il riconoscimento. Dopo il riconoscimento automatico, puoi misurare la precisione del tuo modello con la funzione "Compute Accuracy", che puoi trovare nella scheda "Tools".

Il tuo risultato

  • Non appena l'addestramento è finito, è possibile applicare il modello a qualsiasi altro documento storico con una scrittura simile. Un modello linguistico (paragonabile a un dizionario) può essere aggiunto anche al processo di riconoscimento.
  • Puoi condividere il tuo modello con altre persone che possono trarne beneficio.
  • È possibile ripetere il processo di addestramento con più dati per generare risultati più efficienti.
  • I risultati dipenderanno da quanto è simile e quanto è chiara la scrittura nel documento storico.
  • Il team di Transkribus sta lavorando ad un algoritmo che renderà possibile la trascrizione automatica di qualsiasi tipo di documento, senza la necessità di preparare dati di addestramento. La tecnologia sta imparando da tutti i dati di addestramento elaborati in Transkribus.
  • Quindi più dati elaboriamo, più la tecnologia diventerà efficiente. Addestra il tuo modello e fai parte di questo sviluppo!

Crediti

Vorremmo ringraziare i molti utenti che con il loro feedback hanno contribuito a migliorare il software Transkribus.