In diesem Leitfaden wird erklärt, wie Sie mit Transkribus eXpert ein Handwritten Text Recognition (HTR)-Modell trainieren können, um Ihre Dokumente zu erkennen. Nach dem Training wird das Modell Ihnen helfen, Ihre Sammlung automatisch zu transkribieren und zu durchsuchen.
Einführung
- Die Transkribus-Plattform ermöglicht es Anwendern, ein Handwritten Text Recognition (HTR) Modell zu trainieren, um eine Sammlung von Dokumenten automatisch zu verarbeiten. Das Modell muss darauf trainiert werden, einen bestimmten Schreibstil zu erkennen, indem ihm Bilder von Dokumenten und deren genaue Transkriptionen gezeigt werden.
- Für das Training eines Modells werden zwischen 5.000 und 15.000 Wörter (ca. 25-75 Seiten) an transkribiertem Material benötigt. Wenn Sie nicht mit handschriftlichem, sondern mit gedrucktem Text arbeiten, ist in der Regel eine kleinere Menge an Trainingsdaten erforderlich.
- Durch die Verwendung eines Basismodells kann die Menge der benötigten Trainingsdaten reduziert werden. Als Basismodell können Sie entweder eines der öffentlich verfügbaren Modelle in Transkribus verwenden, wenn es ein passendes für Ihre Dokumente gibt, oder eines Ihrer eigenen Modelle, das Sie bereits zuvor trainiert haben. Eine Übersicht über die derzeit verfügbaren öffentlichen Modelle finden Sie hier erläutert.
Vorbereitung
- Wir empfehlen, den Trainingsprozess mit 5.000 bis 15.000 Wörtern transkribiertem Material (25-75 Seiten) zu beginnen, je nachdem, ob es sich um gedruckten oder handschriftlichen Text handelt.
- Die neuronalen Netze der Handschrifterkennungs-Engine lernen schnell; je mehr Trainingsdaten sie haben, desto besser werden die Ergebnisse.
- Basismodelle können die Menge der benötigten Trainingsdaten reduzieren. Als Basismodell können Sie entweder eines der öffentlich verfügbaren Modelle in Transkribus verwenden, wenn es ein passendes Modell für Ihre Dokumente gibt, oder eines Ihrer Modelle. Als Basismodell können nur PyLaia-Modelle verwendet werden. Eine Übersicht über die derzeit verfügbaren öffentlichen Modelle finden Sie hier hier erläutert.
- Sie können Trainingsdaten für HTR in Transkribus erstellen, indem Sie Bilder hochladen und Text transkribieren. Eine vollständige Anleitung finden Sie unter Wie man Dokumente mit Transkribus transkribiert - Einführung.
Training
Sobald Sie zwischen 25 und 75 Seiten transkribiert haben, ist es an der Zeit, das Texterkennungsmodell zu trainieren. Klicken Sie auf das Registerkarte "Tools". Unter dem "Modellausbildung" Abschnitt, klicken Sie auf "Ein neues Modell ausbilden".
Das Fenster Modelltraining wird geöffnet. Standardmäßig ist "PyLaia HTR", die Maschine, an der wir interessiert sind, ausgewählt, wie in der Abbildung unten gezeigt.
Im oberen Bereich müssen Sie Details zu Ihrem Modell hinzufügen:
- Modellname (von Ihnen gewählt)
- Sprache (Ihrer Dokumente)
- Beschreibung (Ihres Modells und der Dokumente, auf denen es trainiert wird)
Parameter
Die Parameter für PyLaia finden Sie im oberen rechten Teil des Fensters unter "Sprache".
Im Einzelnen sind dies:
Max-Anzahl der Epochen
Die Anzahl der Epochen gibt an, wie oft die Trainingsdaten ausgewertet werden. Sie können die maximale Anzahl der Epochen erhöhen, sollten sich aber bewusst sein, dass der Trainingsprozess dann länger dauert. Beachten Sie außerdem, dass das Training automatisch gestoppt wird, wenn sich das Modell nicht mehr verbessert (d. h. wenn es den niedrigstmöglichen CER erreicht hat). Für den Anfang ist es sinnvoll, bei der Standardeinstellung von 250 zu bleiben.
Vorzeitiges Anhalten
Der Wert 20 bedeutet, dass das Training abgebrochen wird, wenn nach 20 Epochen der CER des Validation Set nicht sinkt.
HINWEIS: Wichtig hier und für Trainings im Allgemeinen: Das Validation Set muss variabel sein und sollte möglichst alle Elementtypen der im Trainingsset enthaltenen Dokumente enthalten. Wenn es keine oder nur wenig Variation im Validation Set gibt, stoppt das Modell möglicherweise zu früh. Wenn Ihr Validation Set also eher klein ist, erhöhen Sie bitte den "Early Stopping"-Wert, um zu vermeiden, dass das Training stoppt, bevor es alle Trainingsdaten gesehen hat. Fazit daraus: Sparen Sie nicht am Validation Set.
Basismodell
Es ist möglich, ein Basismodell zu Ihrem Training hinzuzufügen. Wenn Sie diese Option wählen, lernen die neuronalen Netze schneller und Sie sparen Zeit. Um einen Nutzen zu haben, muss das Basismodell der Schrift, die es erkennen soll, ähnlich sein. Mit Hilfe eines Basismodells lässt sich der Trainingsprozess beschleunigen. Wahrscheinlich werden Sie auch die Qualität Ihrer Erkennungsergebnisse mit einem Basismodell verbessern. Dies ist jedoch nicht immer garantiert und muss im Einzelfall getestet werden.
Ein großer Vorteil der Arbeit mit Basismodellen ist, dass sie es ermöglichen, mit einer geringeren Anzahl von Trainingsseiten zu beginnen, was bedeutet, dass der Transkriptionsaufwand reduziert wird.
Um ein Basismodell zu verwenden, müssen Sie einfach das gewünschte Modell über die Schaltfläche "Auswählen..." neben "Basismodell" auswählen. Sie können eines der öffentlichen PyLaia-Modelle oder ein eigenes PyLaia-Modell auswählen.
Lernrate
Die "Lernrate" definiert die Zunahme von einer Epoche zur nächsten, also wie schnell das Training voranschreitet. Je höher der Wert, desto schneller sinkt der CER. Aber je höher der Wert, desto größer ist das Risiko, dass Details übersehen werden.
Dieser Wert ist adaptiv und wird automatisch angepasst. Das Training wird jedoch durch den Wert, mit dem es gestartet wird, beeinflusst. Sie können hier mit der Standardeinstellung arbeiten.
Bild Typ
Es gab einige Fälle, in denen die Vorverarbeitung zu viel Zeit in Anspruch nahm. Sollte dies bei Ihnen der Fall sein, können Sie den "Bildtyp" auf "Komprimiert" umstellen.
Sie können auf folgende Weise vorgehen: Starten Sie das Training mit "Original". Wenn das Training begonnen hat ("Running"-Status), überprüfen Sie von Zeit zu Zeit den Fortschritt der Vorverarbeitung mit der "Jobs"-Schaltfläche. Sollte er stecken bleiben, können Sie den Job abbrechen und mit der Einstellung "Komprimiert" neu starten.
Vorhandene Linienpolygone für die Ausbildung verwenden
Wenn Sie diese Option aktivieren, werden während des Trainings keine Linienpolygone berechnet (wie es standardmäßig geschieht), sondern die vorhandenen verwendet. Sie bezieht sich nur auf Zeilenund nicht auf die Grundlinien.
Bei der Erkennung sollten daher ähnliche Linienpolygone verwendet werden, um die beste Leistung des trainierten Modells zu erzielen.
Zeilen nach Tag auslassen
Mit dieser Option können Sie Zeilen, die als "Lücke" und/oder "unklar" gekennzeichnete Wörter enthalten, vom Training ausschließen. Bitte beachten Sie, dass die gesamte Zeile beim Training ignoriert wird, nicht nur das unklare Wort: Dies geschieht, weil das Training auf Zeilenebene stattfindet.
Umgekehrter Text
Verwenden Sie diese Option, um Text während des Trainings umzukehren, wenn die Schreibrichtung im Bild der Transkription entgegengesetzt ist, z. B. wenn der Text von rechts nach links geschrieben und von links nach rechts transkribiert wurde. Sie können auch entscheiden, ob Ziffern oder markierter Text von der Umkehrung ausgeschlossen werden sollen.
Ausbildung Tags
Es ist möglich, Tags und Eigenschaften zu trainieren, wenn sie in der Grundwahrheit vorhanden sind, so dass das Modell während der Erkennung automatisch Tags erzeugt. Diese Funktion funktioniert gut mit Abkürzungen und Textstilen und bringt die besten Ergebnisse für Tags, die sich auf die gleiche Art und Weise wiederholen (d.h. das gleiche Wort), sehr oft.
Wählen Sie "Abkürzungen mit Tags trainieren", um die getaggten Abkürzungen (Tag "Abbrev") und die entsprechenden "Expansions"-Eigenschaften zu trainieren, die in Ihrer Ground Truth vorhanden sind.
Für andere Tags wählen Sie die Option "Tags trainieren" und klicken Sie auf "Eigenschaften einbeziehen"; verwenden Sie dann die grüne Plus-Schaltfläche, um die Liste der Tags einzugeben, die trainiert werden sollen.
Erweiterte Parameter
In PyLaia können Benutzer mehrere erweiterte Parameter selbst einstellen. Sie können die erweiterten Parameter öffnen, indem Sie auf die Schaltfläche "Erweiterte Parameter" am unteren Rand der Standardparameter klicken.
Vorverarbeitung
Deslant: wählen Sie diese Option bei kursiver Schrift, um sie zu begradigen. Lassen Sie diese Option bei gedruckten Dokumenten weg, denn wenn gedruckte Dokumente neben den normalen Druckzeichen auch kursive Passagen enthalten, kann der Effekt auf den Kopf gestellt werden.
Deslope: erlaubt mehr Variation an den Grundlinien, z.B. mehr Toleranz bei Grundlinien, die nicht exakt horizontal, sondern schräg verlaufen.
Stretch: diese Option ist für schmales Schreiben, um es zu dekomprimieren.
Enhance: das ist ein Fenster, das über die Grundlinien geht, um schwer lesbare Passagen zu optimieren. Dies ist nützlich, wenn Sie "Rauschen" im Dokument haben.
Enhance window size: diese Einstellung bezieht sich auf die soeben erläuterte Option und muss daher nur gesetzt werden, wenn Sie "Enhance" verwenden möchten. Diese Einstellung definiert die Größe des Fensters.
Sauvola enhancement parameter: Bitte bleiben Sie hier bei der Standardeinstellung.
Zeilenhöhe: Wert in Pixel; wenn Sie die Pixelzahl der Bilder erhöhen müssen, können Sie dies hier tun. 100 ist ein guter Wert, den Sie wählen sollten. Achtung: Wenn der Wert zu hoch ist, kann dies zu einem "out of memory order" führen. Diesen Fehler können Sie wiederum umgehen, indem Sie den Wert der "Stapelgröße" (oben links im Fenster "Erweiterte Parameter") verringern, z. B. um die Hälfte. Bitte beachten Sie, dass das Training umso langsamer wird, je niedriger dieser Wert ist. Die Verlangsamung des Trainings in Abhängigkeit von der Stapelgröße sollte mit der neuen Version von PyLaia verbessert werden, die die Stapelgröße automatisch festlegt.
Line x-height: diese Einstellung gilt für die Unterlängen und Oberlängen. Wenn Sie diesen Wert setzen, wird der Parameter "Linienhöhe" ignoriert.
Bitte ändern Sie die folgenden Parameter nicht:
Moment normalization
Features parallelogram
Features surrounding polygon
Features surrounding polygon dilate
Left/right padding: 10 (Standard) bedeutet, dass 10 Pixel hinzugefügt werden. Dies ist nützlich, wenn Sie befürchten, dass Teile der Zeile abgeschnitten werden könnten.
Max width: maximale Breite, die eine Zeile erreichen kann; der Rest wird abgeschnitten. 6000 (Standard) ist bereits ein hoher Wert. Wenn Sie große Seiten haben, können Sie diesen Wert weiter erhöhen.
Modell-Parameter
Für alle, die mit maschinellem Lernen und der Modifikation von neuronalen Netzen vertraut sind. Daher werden diese Parameter hier nicht weiter erläutert.
Trainingsparameter
Batch sizeAnzahl der Seiten, die auf der GPU gleichzeitig verarbeitet werden. Sie können diesen Wert ändern, indem Sie eine andere Zahl eingeben.
Use_distortions True: Der Trainingssatz wird künstlich erweitert, um die Variation des Trainingssatzes zu erhöhen und so das Modell robuster zu machen. Wenn Sie mit gleichmäßiger Schrift und guten Scans arbeiten, benötigen Sie diese Option nicht. Um sie zu deaktivieren, schreiben Sie bitte "False" anstelle von "True".
Die Netzstruktur von PyLaia kann auch verändert werden - eine Spielwiese für Leute, die mit maschinellem Lernen vertraut sind. Modifikationen am neuronalen Netz können über die Github-Repository.
Trainingsset
Als nächstes müssen Sie die Seiten auswählen, die Sie in Ihren Trainingsdatensatz aufnehmen möchten.
Um alle Seiten Ihres Dokuments zum Trainingsset hinzuzufügen, klicken Sie auf den Ordner und dann auf "+Training". Um eine bestimmte Reihenfolge von Seiten aus Ihrem Dokument zum Trainingsset hinzuzufügen, doppelklicken Sie auf den Ordner, klicken Sie auf die erste Seite, die Sie hinzufügen möchten, halten Sie die Umschalttaste auf Ihrer Tastatur gedrückt und klicken Sie dann auf die letzte Seite. Klicken Sie dann auf "+Training". Um einzelne Seiten aus Ihrem Dokument zum Trainingsset hinzuzufügen, doppelklicken Sie auf den Ordner, halten Sie die "CTRL"-Taste auf Ihrer Tastatur gedrückt und wählen Sie die Seiten aus, die Sie als Trainingsdaten verwenden möchten. Klicken Sie dann auf "+Training".
Die von Ihnen ausgewählten Seiten werden im Bereich "Training Set" angezeigt.
Validierungsset
Während des Trainingsprozesses wird ein Validierungssatz von Seiten beiseite gelegt und nicht für das Training des HTR verwendet. Diese Testseiten werden dann verwendet, um die Genauigkeit Ihres Modells zu bewerten.
Wir empfehlen, dass Ihr Validierungsset etwa 10% des Trainingssets beträgt. Die Seiten in Ihrem Validierungsset sollten repräsentativ für die Dokumente in Ihrer Sammlung sein und alle Beispiele umfassen. Um dem Validation Set Seiten hinzuzufügen, folgen Sie dem gleichen Prozess wie oben, klicken aber auf die Schaltfläche "+Validation".
Sie können auch 2%, 5% oder 10% des Trainingssets automatisch dem Validierungsset zuordnen. Wählen Sie die Seiten aus, die Sie dem Trainingsset hinzufügen möchten, markieren Sie den Prozentsatz, den Sie dem Validierungsset zuweisen möchten, und klicken Sie auf die Schaltfläche "+Training".
Um Seiten aus dem "Training Set" oder "Validation Set" zu entfernen, klicken Sie auf die Seite und dann auf die Schaltfläche mit dem roten Kreuz.
Starten Sie dann das Training, indem Sie auf die Schaltfläche "Trainieren" klicken.
Sie können den Fortschritt des Trainings verfolgen, indem Sie auf die Schaltfläche "Jobs" in der Registerkarte "Server" klicken. Der Abschluss jeder Epoche wird in der Beschreibung des Jobs angezeigt, und Sie erhalten eine E-Mail, wenn der Trainingsprozess abgeschlossen ist.
Das Training eines Texterkennungsmodells dauert je nach Auslastung des Servers zwischen einigen Stunden und mehreren Tagen. Im Fenster "Jobs" können Sie Ihre Position in der Warteschlange überprüfen (d.h. die Anzahl der Trainings, die vor Ihnen liegen). Sie können andere Aufträge in Transkribus ausführen oder die Plattform während des Trainings schließen. Wenn der Job-Status auf "erstellt" oder "läuft" steht, starten Sie bitte keine neue Schulung, sondern warten Sie einfach ab.
Nach dem Training
Nachdem das Training Ihres Modells abgeschlossen ist, wird es in Ihrer Sammlung verfügbar sein. Um darauf zuzugreifen, klicken Sie auf die Schaltfläche "Modelle anzeigen" auf der Registerkarte "Werkzeuge".
Es öffnet sich das folgende Fenster, in dem Sie alle öffentlichen Modelle und die von Ihnen trainierten Modelle sehen können:
Auf der linken Seite des Fensters sehen Sie eine Übersicht über die verfügbaren Modelle. Rechts oben werden die Details des ausgewählten Modells angezeigt und rechts unten die Lernkurve Ihres Modells. Weitere Informationen zu diesen Statistiken finden Sie weiter unten.
Statistik
Das Diagramm "Lernkurve" gibt Aufschluss über die Genauigkeit Ihres Modells.
Wie Sie in Abbildung 10 sehen können, ist die y-Achse als "Genauigkeit in CER" definiert. "CER" steht für Zeichenfehlerrate, d.h. der Prozentsatz der Zeichen, die vom Texterkennungsmodell falsch transkribiert wurden.
“Genauigkeit in CER" wird als Prozentsatz auf der y-Achse angezeigt. Die Kurve beginnt immer bei 100% und sinkt mit dem Fortschreiten des Trainings und der Verbesserung des Modells.
Die x-Achse ist definiert als "Epochen". Während des Trainingsprozesses nimmt Transkribus nach jeder Epoche eine Auswertung vor. In Abbildung 10 wurde das "Training Set" in 106 Epochen unterteilt. Wenn Sie ein Modell trainieren, können Sie angeben, in wie viele "Epochen" das "Training Set" unterteilt werden soll. Je mehr Epochen es gibt, desto länger wird das Training dauern.
Die Grafik zeigt zwei Linien, eine in blau und eine in rot. Die blaue Linie stellt den Fortschritt des Trainings dar. Die rote Linie stellt den Fortschritt der Auswertungen auf dem Validation Set dar. Zunächst trainiert sich das Programm selbst auf dem Trainingsset, dann testet es sich selbst auf Seiten im Validierungsset.
Unterhalb des Diagramms werden zwei Prozentwerte in Bezug auf den CER für den Trainingssatz und den Validierungssatz angezeigt. In Abbildung 10 zeigt das Modell eine CER von 4,10% für den Trainingssatz und 5,60% für den Validierungssatz.
Der Wert für den Validierungssatz ist der wichtigste, da er zeigt, wie das Textmodell auf Seiten abschneidet, auf denen es nicht trainiert wurde. Ergebnisse mit einem CER von 10% oder darunter können als sehr effizient für die automatische Transkription angesehen werden.
Ergebnisse mit einer CER von 20-30% sind ausreichend, um mit leistungsstarken Suchwerkzeugen wie Smart Search zu arbeiten. Weitere Einzelheiten finden Sie in unserem Dokumente suchen mit Smart Seach.
Text-Erkennung
Jetzt, wo Sie Ihr Modell haben, können Sie es verwenden, um automatisch Transkripte der Dokumente in Ihrer Collection zu erzeugen.
Zuerst laden Sie Ihre Dokumente an Transkribus. Zweitens, segmentieren Sie Ihre Dokumente in Textbereiche, Linien und Grundlinien. Für weitere Informationen über Hochladen und Segmentieren, lesen Sie bitte Wie man Dokumente mit Transkribus transkribiert - Einführung.
Um auf Ihr Modell zuzugreifen, klicken Sie auf die Registerkarte "Werkzeuge" und gehen Sie zum Abschnitt "Texterkennung". Klicken Sie auf "Ausführen" und dann auf "HTR-Modell auswählen". Klicken Sie auf "HTR-Modell auswählen", um Ihr HTR-Modell aus der Liste der verfügbaren Modelle (Ihre Modelle und die öffentlichen Modelle) auszuwählen, und klicken Sie auf OK. Wählen Sie aus, ob Sie ein HTR-Transkript von einer Seite oder von mehreren Seiten erstellen möchten. Klicken Sie auf "Ausführen", um den Texterkennungsprozess zu starten.
Sobald die Erkennung abgeschlossen ist, wird die automatische Transkription im Texteditor-Feld angezeigt.
Sprachmodelle
Sprachmodelle werden automatisch während des Trainings des HTR-Modells erstellt und können dem Erkennungsprozess hinzugefügt werden. Die Wirkung von Sprachmodellen muss im Einzelfall getestet werden: In vielen Fällen können sie die Erkennung verbessern, aber bisher haben wir auch Fälle gesehen, in denen sie dies nicht tun.
Bei der Auswahl des HTR-Modells finden Sie oben rechts die Option "Sprachmodell". Klicken Sie auf das Dropdown-Menü und wählen Sie "Sprachmodell aus Trainingsdaten".
Ein Modell teilen
Sie können Ihr HTR-Modell mit anderen Sammlungen in Transkribus teilen, unabhängig davon, ob diese Ihnen oder anderen Benutzern gehören. Wenn Sie Ihr Modell mit einer anderen Sammlung teilen wollen, müssen Sie Zugang zu dieser Sammlung haben (d.h. Sie haben die Sammlung erstellt oder sie wurde Ihnen zur Verfügung gestellt).
Klicken Sie im Fenster "Modelle anzeigen" mit der rechten Maustaste auf den Namen Ihres Modells. Wählen Sie dann "Modell freigeben...".
Es öffnet sich ein Fenster, in dem Sie mit einem Klick auf die grüne Plus-Schaltfläche die Sammlung(en) hinzufügen können, für die Sie das Modell freigeben möchten.
Ergebnisse
- Sobald das Training abgeschlossen ist, können Sie Ihr Modell an jedem anderen historischen Dokument mit ähnlicher Schrift ausprobieren.
- Sie können Ihr Modell mit anderen Personen teilen, die ebenfalls davon profitieren können.
- Sie können den Trainingsprozess mit mehr Daten wiederholen, um effizientere Ergebnisse zu erzielen.
- Sie können die Genauigkeit Ihres Modells mit dem "Funktion "Berechnen der Genauigkeit.
- Die Ergebnisse der HTR hängen davon ab, wie ähnlich und wie eindeutig die Schrift im historischen Dokument ist.
Danksagung
Wir möchten uns bei den vielen Anwender*innen bedanken, die mit ihrem Feedback zur Verbesserung der Transkribus-Software beigetragen haben.