Come addestrare e applicare i modelli di riconoscimento del testo scritto a mano in Transkribus eXpert

Come addestrare e applicare i modelli di riconoscimento del testo scritto a mano in Transkribus eXpert

Strumenti Transkribus
Transkribus Expert Client
Ultimo aggiornamento 10 mesi 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 utilizzare Transkribus eXpert per addestrare un modello di riconoscimento del testo scritto a mano (HTR) per riconoscere i documenti. Dopo l'addestramento, il modello vi aiuterà a trascrivere e ricercare automaticamente la vostra collezione.

Introduzione

  • La piattaforma Transkribus permette agli utenti di addestrare un modello di riconoscimento del testo scritto a mano (HTR) per elaborare automaticamente una collezione di documenti. Il modello deve essere addestrato a riconoscere un certo stile di scrittura mostrando immagini di documenti e le loro accurate trascrizioni.
  • Per l'addestramento di un modello sono necessarie tra 5.000 e 15.000 parole (circa 25-75 pagine) di materiale trascritto. Se si lavora con testo stampato piuttosto che scritto a mano, di solito è necessaria una quantità minore di dati di addestramento.
  • Con l'uso di un modello di base la quantità di dati di allenamento richiesti può essere ridotta. Come modello di base puoi usare uno dei modelli pubblicamente disponibili in Transkribus, se ce n'è uno adatto ai tuoi documenti o uno dei tuoi modelli, che hai già addestrato in precedenza. Una panoramica dei modelli pubblici attualmente disponibili può essere trovata qui.

Preparazione

  • Si consiglia di iniziare il processo di formazione con un numero di parole trascritte compreso tra 5.000 e 15.000 (25-75 pagine), a seconda che si tratti di testo stampato o scritto a mano. 
  • Le reti neurali del motore di riconoscimento del testo scritto a mano imparano rapidamente; più dati di addestramento hanno a disposizione, migliori saranno i risultati.
  • I modelli di base possono ridurre la quantità di dati di addestramento necessari. Come modello di base si può utilizzare uno dei modelli disponibili pubblicamente in Transkribus, se ne esiste uno adatto ai propri documenti, oppure uno dei propri modelli. Solo i modelli PyLaia possono essere utilizzati come modelli di base. È possibile trovare una panoramica dei modelli pubblici attualmente disponibili qui.
  • È possibile creare dati di addestramento per HTR in Transkribus caricando immagini e trascrivendo il testo. Per le istruzioni complete, vedere Come trascrivere documenti con Transkribus - Introduzione.

Addestramento

Una volta trascritte tra le 25 e le 75 pagine, è il momento di addestrare il modello di riconoscimento del testo. Fare clic sul pulsante Scheda "Tools". Sotto il "Formazione del modello" fare clic su "Formare un nuovo modello".
Si apre la finestra Model Training. Per impostazione predefinita, è selezionato "PyLaia HTR", il motore che ci interessa, come mostrato nella figura seguente.

Figura 1. Finestra di formazione del modello

Nella sezione superiore è necessario aggiungere i dettagli del modello:

  • Nome del modello (scelto da te)
  • Lingua (dei tuoi documenti)
  • Descrizione (del modello e dei documenti su cui è stato addestrato)

Parametri

I parametri per PyLaia si trovano nella sezione superiore destra della finestra, sotto "Lingua".

Figura 2. Parametri di addestramento di PyLaia HTR

In dettaglio, sono:

Numero massimo di epoche

Il numero di epoche si riferisce al numero di volte in cui i dati di addestramento vengono valutati. È possibile aumentare il numero massimo di epoche, ma bisogna tenere presente che il processo di addestramento richiederà più tempo. Inoltre, si noti che l'addestramento verrà interrotto automaticamente quando il modello non migliorerà più (cioè avrà raggiunto il CER più basso possibile). Per iniziare, è opportuno attenersi all'impostazione predefinita di 250.

Arresto anticipato

Il valore 20 significa che se, dopo 20 epoche, il CER del Validation Set non scende, l'addestramento viene interrotto.

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 alla formazione. Se si sceglie questa opzione, le reti neurali impareranno più rapidamente e si risparmierà tempo. Per avere un vantaggio, 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 formazione. È probabile che con un modello di base si migliori anche la qualità dei risultati del 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 "Scegli..." accanto a "Modello di base". È possibile selezionare uno dei modelli pubblici di PyLaia o un proprio modello PyLaia.

Tasso di apprendimento

Il "tasso di apprendimento" definisce l'incremento da un'epoca all'altra, quindi la velocità con cui procede l'addestramento. Con un valore più alto, il CER scenderà più rapidamente. Ma più alto è il valore, più alto è il rischio che vengano trascurati dei dettagli.
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

In alcuni casi la preelaborazione ha richiesto troppo tempo. Se ciò accade, è possibile cambiare il "Tipo di immagine" in "Compresso".

Si può procedere nel modo seguente: avviare l'allenamento con "Originale". Quando l'allenamento è iniziato (stato "In esecuzione"), controllare di tanto in tanto l'avanzamento della preelaborazione con il pulsante "Lavori". Se si blocca, è possibile annullare il lavoro e riavviarlo con l'impostazione "Compresso".

Utilizzare i poligoni di linea esistenti per la formazione

Se si attiva questa opzione, i poligoni di linea non verranno calcolati durante l'addestramento (come avviene per impostazione predefinita), ma verranno utilizzati quelli esistenti. Si riferisce solo a linee, non alle linee di base.
Durante il riconoscimento, quindi, si dovrebbero utilizzare poligoni di linee simili per ottenere le migliori prestazioni del modello addestrato risultante.

Omettere le righe per tag

Con questa opzione, è possibile omettere dall'addestramento le righe contenenti parole etichettate come "lacunose" e/o "poco chiare". Si noti che durante l'addestramento verrà ignorata l'intera riga, non solo la parola non chiara: ciò accade perché l'addestramento avviene a livello di riga.

Testo inverso

Utilizzare questa opzione per invertire il testo durante l'addestramento quando la direzione di scrittura nell'immagine è opposta a quella della trascrizione, ad esempio quando il testo è stato scritto da destra a sinistra e trascritto da sinistra a destra. Si può anche decidere di escludere dall'inversione le cifre o il testo etichettato.

Tag formazione

È possibile addestrare tag e proprietà se sono presenti nella verità di base, in modo che il modello generi automaticamente tag durante il riconoscimento. Questa funzione funziona bene con le abbreviazioni e gli stili di testo e dà i migliori risultati per i tag che si ripetono nello stesso modo (cioè con la stessa parola) molto spesso.

Selezionare "Addestra abbreviazioni con tag" per addestrare le abbreviazioni con tag (tag "Abbrev") e le rispettive proprietà di "espansione" presenti nella verità di base.

Per altri tag, selezionare l'opzione "Addestra tag" e fare clic su "Includi proprietà"; quindi utilizzare il pulsante verde più per inserire l'elenco dei tag da addestrare.

Parametri avanzati

In PyLaia, gli utenti possono impostare autonomamente diversi parametri avanzati. È possibile aprire i parametri avanzati facendo clic sul pulsante "Parametri avanzati" in fondo ai parametri standard.

Figura 3. Parametri avanzati di PyLaia
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 è necessario aumentare i pixel delle immagini, è possibile farlo qui. 100 è un buon valore da scegliere. Attenzione: se il valore è troppo alto, potrebbe verificarsi un "ordine di esaurimento della memoria". È possibile evitare questo errore abbassando il valore della "dimensione del lotto" (in alto a sinistra nella finestra dei parametri avanzati), ad esempio dimezzandolo. Si tenga presente che più basso è questo valore, più lento sarà l'addestramento. Il rallentamento dell'addestramento legato 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. È utile se si teme che alcune parti della linea possano essere tagliate.

Max width: larghezza massima che una linea può raggiungere; il resto verrà tagliato. 6000 (valore predefinito) è già un valore elevato. Se si hanno pagine molto grandi, è possibile 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 spiegati ulteriormente in questa sede.

Parametri di addestramento

Batch size: numero di pagine elaborate contemporaneamente nella GPU. È possibile modificare questo valore inserendo 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".

La struttura della rete di PyLaia può anche essere modificata - un campo di gioco per chi ha familiarità con l'apprendimento automatico. Le modifiche alla rete neurale possono essere effettuate tramite il comando Repository Github.

Training Set

Successivamente, è necessario selezionare le pagine che si desidera includere nel set di dati di addestramento.
Per aggiungere tutte le pagine del documento al Training Set, fare clic sulla cartella e fare clic su "+Training". Per aggiungere una sequenza specifica di pagine del documento al set di formazione, fare doppio clic sulla cartella, fare clic sulla prima pagina che si desidera includere, tenere premuto il tasto "Maiusc" sulla tastiera e fare clic sull'ultima pagina. Quindi fare clic su "+Formazione". Per aggiungere singole pagine del documento al set di addestramento, fare doppio clic sulla cartella, tenere premuto il tasto "CTRL" sulla tastiera e selezionare le pagine che si desidera utilizzare come dati di addestramento. Quindi fare clic su "+Formazione".

Le pagine che hai selezionato appariranno nello spazio "Training Set".

Figura 4. Set di formazione

Set di convalida

Durante il processo di formazione, un set di pagine di convalida viene messo da parte e non viene utilizzato per addestrare l'HTR. Queste pagine di prova saranno utilizzate per valutare l'accuratezza del modello.

Si consiglia di utilizzare un set di convalida pari a circa 10% del set di addestramento. Le pagine del set di convalida devono essere rappresentative dei documenti della raccolta e comprendere tutti gli esempi. Per aggiungere pagine al set di convalida, seguire la stessa procedura descritta sopra, ma fare clic sul pulsante "+Validazione".

È anche possibile assegnare automaticamente 2%, 5% o 10% del Training Set al Validation Set. Selezionare le pagine da aggiungere al Training Set, contrassegnare la percentuale che si desidera assegnare al Validation Set e fare clic sul pulsante "+Training".

Figura 5. Set di convalida della selezione automatica

Per rimuovere le pagine dal "Set di allenamento" o dal "Set di convalida", fare clic sulla pagina e poi sul pulsante con la croce rossa.

Figura 6. Rimuovere le pagine dal set di addestramento/validazione

Quindi, avviare l'addestramento facendo clic sul pulsante "Addestra".

È possibile seguire l'avanzamento della formazione facendo clic sul pulsante "Lavori" nella scheda "Server". Il completamento di ogni epoca sarà indicato nella descrizione del lavoro e si riceverà un'e-mail al termine del processo di formazione.
L'addestramento di un modello di riconoscimento del testo richiede da alcune ore a diversi giorni, a seconda del traffico del server. Nella finestra "Lavori" è possibile controllare la propria posizione nella coda (cioè il numero di addestramenti che precedono il proprio). È possibile eseguire altri lavori in Transkribus o chiudere la piattaforma durante il processo di formazione. Se lo stato del lavoro è "creato" o "in corso", non iniziate una nuova formazione, ma abbiate pazienza e aspettate.

Figura 8. Controllare l'avanzamento della formazione con il pulsante "Lavori".

Dopo l'addestramento

Una volta terminato l'addestramento del modello, questo sarà disponibile nella collezione. Per accedervi, fare clic sul pulsante "Visualizza modelli" nella scheda "Strumenti".

Si aprirà la seguente finestra, in cui si potranno vedere tutti i modelli pubblici e i modelli addestrati:

Figura 9. Finestra dei modelli

Sul lato sinistro della finestra è possibile vedere una panoramica dei modelli disponibili. In alto a destra vengono mostrati i dettagli del modello selezionato e, in basso a destra, la curva di apprendimento del modello. Ulteriori informazioni su queste statistiche sono disponibili di seguito.

Statistiche

Il grafico della "curva di apprendimento" indica l'accuratezza del modello.

Figura 10. Curva di apprendimento del modello

Come si può vedere nella Figura 10, l'asse y è definito come "Precisione in CER". "CER" sta per Tasso di errore dei caratteri, cioè la percentuale di caratteri trascritti in modo errato dal modello di riconoscimento del testo.
"Precisione in CER" è indicato come percentuale sull'asse delle ordinate. La curva partirà sempre da 100% e scenderà man mano che l'addestramento procede e il modello migliora.

L'asse x è definita come "Epoche". Durante il processo di addestramento, Transkribus effettua una valutazione dopo ogni epoca. Nella Figura 10, il "Training Set" è stato suddiviso in 106 epoche. Quando si addestra un modello, è possibile indicare in quante "epoche" deve essere suddiviso il "Training Set". Più sono le epoche, più lungo sarà l'addestramento.

Lo strumento Il grafico mostra due linee, una in blu e una in rosso. Il linea blu rappresenta il progresso dell'addestramento. La linea rossa rappresenta l'andamento delle valutazioni sull'insieme di validazione. Per prima cosa il programma si addestra sul Training Set, poi svolgerà la verifica sulle pagine del Set di convalida.

Sotto il grafico sono riportati due valori percentuali relativi al CER per il Training Set e il Validation Set. Nella Figura 10, il modello ha un CER di 4,10% sul Training Set e di 5,60% sul Validation Set.

Il valore per il set di convalida è il più significativo, poiché mostra come il modello di testo si comporta su pagine su cui non è stato addestrato. I risultati con un CER di 10% o inferiore possono essere considerati molto efficienti per la trascrizione automatica.

I risultati con un CER di 20-30% sono sufficienti per lavorare con strumenti di ricerca potenti come Smart Search. Per maggiori dettagli, consultare il nostro Come cercare documenti con Smart Seach.

Riconoscimento del testo

Ora che hai il tuo modello, puoi usarlo per generare automaticamente le trascrizioni dei documenti della tua collezione.

In primo luogo, carica i vostri documenti a Transkribus. Secondo, segmenta i documenti in regioni di testo, linee e linee di base. Per ulteriori informazioni su come caricare segmentare, si prega di consultare Come trascrivere documenti con Transkribus - Introduzione.

Per accedere al modello, fare clic sulla scheda "Strumenti" e passare alla sezione "Riconoscimento testo". Fare clic su "Esegui", quindi su "Scegli modello HTR". Fare clic su "Seleziona modello HTR" per scegliere il proprio modello HTR dall'elenco dei modelli disponibili (i propri modelli e quelli pubblici) e fare clic su OK. Selezionare se si desidera generare una trascrizione HTR di una pagina o di più pagine. Premere "Esegui" per avviare il processo di riconoscimento del testo.

Una volta terminato il riconoscimento, la trascrizione automatica apparirà nel campo dell'editor di testo.

Modelli di lingua

I modelli linguistici vengono creati automaticamente durante l'addestramento del modello HTR e possono essere aggiunti al processo di riconoscimento. L'effetto dei modelli linguistici deve essere testato nel singolo caso: in molti casi, sono in grado di migliorare il riconoscimento, ma finora abbiamo visto anche casi in cui non lo fanno.

Quando si seleziona il modello HTR, è possibile trovare l'opzione del modello linguistico in alto a destra. Fare clic sul menu a discesa e scegliere "Modello linguistico dai dati di allenamento".

Figura 11. Modelli linguistici

Condividere un modello

Potete condividere il vostro modello HTR con altre raccolte in Transkribus, sia che siano di vostra proprietà che di altri utenti. Se volete condividere il vostro modello con un'altra raccolta, dovete avere accesso a quella raccolta (cioè avete creato la raccolta o vi è stata condivisa).

Nella finestra "Visualizza modelli", fare clic con il tasto destro del mouse sul nome del modello. Quindi selezionare "Condividi modello...".
Si aprirà una finestra e, facendo clic sul pulsante verde più, si potranno aggiungere le collezioni a cui si desidera condividere il modello.

Il tuo risultato

  • Non appena l'addestramento è finito, puoi provare il tuo modello su qualsiasi altro documento storico con una scrittura simile.
  • 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.
  • È possibile misurare l'accuratezza del modello con la funzione "Funzione "Calcolo della precisione.
  • I risultati dell'HTR dipenderanno da quanto è simile e quanto è chiara la scrittura nel documento storico.

Crediti

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