Wie man PyLaia-Modelle in Transkribus trainiert

Wie man PyLaia-Modelle in Transkribus trainiert

Transkribus Werkzeuge
Transkribus Expert Client
Letzte Aktualisierung Vor 1 Jahr
Über Transkribus

Transkribus ist eine umfassende Lösung für die Digitalisierung, KI-gestützte Texterkennung, Transkription und Suche von historischen Dokumenten. Erfahren Sie mehr über Transkribus hier erläutert

Transkribus ist eine umfassende Lösung für die Digitalisierung, KI-gestützte Texterkennung, Transkription und Suche von historischen Dokumenten. Erfahren Sie mehr über Transkribus hier erläutert

Inhaltsverzeichnis

Inhaltsverzeichnis

Diese Anleitung erklärt, wie Sie die PyLaia-Trainingsfunktion verwenden, um ein Modell zu trainieren, das gedruckten oder handgeschriebenen Text in Ihren Dokumenten erkennt. Nach dem Training wird das Modell Ihnen helfen, Ihre Sammlung automatisch zu transkribieren und zu durchsuchen. Der Arbeitsablauf für das Modelltraining mit PyLaia ist grundsätzlich derselbe wie mit HTR+. Daher konzentriert sich diese Anleitung auf die Parameter, die beim PyLaia-Training eingestellt werden können. Wenn Sie allgemeinere Fragen zum Modelltraining haben und wie es in Transkribus abläuft, finden Sie hier weitere Informationen: Trainieren und Anwenden von Modellen zur Erkennung von handgeschriebenem Text in Transkribus.

Einführung

  • Die Transkribus-Plattform ermöglicht es Benutzern, Modelle zu trainieren, um eine Sammlung von Dokumenten automatisch zu verarbeiten. PyLaia ist eine weitere Engine, die neben der CITlab-HTR+ Engine unterstützt wird.
  • Die beiden Engines arbeiten recht ähnlich und so sind auch die Ergebnisse in der Regel in der Zeichenfehlerrate (CER).
  • Ein Unterschied ist, dass in PyLaia die Benutzer verschiedene Parameter selbst einstellen können. Auch die Netzstruktur von PyLaia kann verändert werden - eine Spielwiese für Leute, die mit maschinellem Lernen vertraut sind. Modifikationen am neuronalen Netz sind Möglich durch das Github-Repository.
  • Die HTR+ wird in der Regel bessere Ergebnisse bei gekrümmten oder gedrehten Linien bringen, aber wir sind optimistisch, dass PyLaia hier bald mithalten kann.
  • Wenn Sie das Text-zu-Bild-Tool verwenden möchten, verwenden Sie bitte HTR+. Für PyLaia ist es noch nicht implementiert. Weitere Informationen, wie Sie bestehende Transkriptionen in Transkribus importieren können, finden Sie hier: https://readcoop.eu/transkribus/howto/how-to-use-existing-transcriptions-to-train-a-handwritten-text-recognition-model/
  • Dokumente, die mit einem PyLaia-Modell erkannt wurden, können mit der Volltextsuche (Solr) in Transkribus durchsucht werden.

Vorbereitung

  • Wir empfehlen, den Trainingsprozess mit 5.000 bis 15.000 Wörtern transkribierten Materials zu beginnen, je nachdem, ob es sich um gedruckten oder handschriftlichen Text handelt. 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 für Ihre Dokumente gibt oder eines Ihrer Modelle. Für PyLaia können nur PyLaia-Modelle als Basismodell verwendet werden. Eine Übersicht über die derzeit verfügbaren öffentlichen Modelle finden Sie hier: https://readcoop.eu/transkribus/howto/public-models-in-transkribus/
  • Die Aufbereitung der Trainingsdaten erfolgt nach dem gleichen Verfahren wie bei den HTR+-Modellen. Wie es gemacht wird, können Sie hier nachlesen: Trainieren und Anwenden von Modellen zur Erkennung von handgeschriebenem Text in Transkribus.

Training

  • Die wichtigsten Optionen für das Training eines Modells finden Sie in der Registerkarte "Tools" im "Text Recognition" Abschnitt.
  • Unter "Method"wählen Sie bitte "HTR (CITlab HTR+ & PyLaia)".
  • Durch Anklicken der Schaltfläche "Models" können Sie sehen, welche Modelle verfügbar sind und auf welchen Dokumenten sie trainiert wurden. Wenn Sie bei "Technologie" "PyLaia" wählen, werden nur PyLaia-Modelle angezeigt.
  • Mit der "Train"- Schaltfläche gelangen Sie zu den Optionen für das Training von Modellen.

Abbildung 1: "Text Recognition"-Abschnitt im "Tools"-Reiter zum Zugriff auf das PyLaia -Training

Abbildung 2: Trainier-Interface

Parameter

Die Parameter für PyLaia finden Sie, indem Sie das "Train"-Fenster und dann die "PyLaia"-Registerkarte öffnen.

Abbildung 3 PyLaia-Parameter

Max-Anzahl der Epochen

Die Epochen folgen der gleichen Logik wie beim HTR+. Für den Anfang ist es sinnvoll, bei der Standardeinstellung von 250 zu bleiben. Bitte beachten Sie, dass eine zu hohe Anzahl von Epochen das Training verlangsamt. 

Vorzeitiges Anhalten

Der Wert 20 bedeutet, dass das Training gestoppt wird, wenn der CER des Validation Set nicht innerhalb von 20 Epochen 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 ist es möglich, den Trainingsprozess zu beschleunigen. Wahrscheinlich werden Sie mit einem Basismodell auch die Qualität Ihrer Erkennungsergebnisse 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 mit der Schaltfläche "Choose..." neben "Base Model:" auswählen.

Abbildung 4: Hinzufügen eines Basismodells

Lernrate

Die "Learning Rate" definiert die Schrittweite von einer Epoche zur nächsten, also wie schnell das Training abläuft. Mit einem höheren Wert wird der CER schneller abnehmen. ABER: je höher der Wert, desto höher 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

Wir hatten einige Fälle, bei denen die Vorverarbeitung zu viel Zeit in Anspruch nahm. Wenn dies bei Ihnen der Fall ist, können Sie den "Image Type" auf "Compressed" umstellen.

Sie können auf folgende Weise vorgehen: Starten Sie das Training mit "Original". Kontrollieren Sie ab und zu den Fortschritt der Vorverarbeitung mit der "Jobs"-Schaltfläche. Sollte er stecken bleiben, können Sie den Job abbrechen und mit der Einstellung "Compressed" neu starten.

Erweiterte Parameter

Sie können die erweiterten Parameter für PyLaia öffnen, indem Sie auf die Schaltfläche "Advanced parameters" am unteren Rand der Standard-PyLaia-Parameter innerhalb der "PyLaia"-Registerkarte klicken.

Abbildung 5 und 6: Erweiterte Parameter

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.

Wert in Pixel; wenn Sie die Pixel der Bilder erhöhen müssen, können Sie dies hier tun. 100 ist ein guter Wert, den Sie anstreben sollten. Achtung: wenn der Wert zu hoch ist, kann es zu einem "out of memory order" führen. Diesen Fehler können Sie wiederum umgehen, indem Sie den Wert der "batch size" (oben links im Fenster "advanced parameters") z.B. um die Hälfte herabsetzen. 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 soll mit der neuen Version von PyLaia verbessert werden, die die Stapelgröße automatisch setzt.

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 Linie 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 einmal in der GPU 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".

Ergebnisse messen und verstehen

Das Validierungsset wird in der Sammlung gespeichert, aus der das Training durchgeführt wurde, dort wird auch die Erkennung durchgeführt. Nach der automatischen Erkennung können Sie die Genauigkeit Ihres Modells mit der Funktion "Compute Accuracy" messen, die Sie im Reiter "Tools" finden.

Ergebnisse

  • Sobald das Training abgeschlossen ist, können Sie Ihr Modell auf jedem anderen historischen Dokument mit ähnlicher Schrift ausführen. Ein Sprachmodell (vergleichbar mit einem Wörterbuch) kann dem Erkennungsprozess ebenfalls hinzugefügt werden.
  • 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.
  • Die Ergebnisse hängen davon ab, wie ähnlich und wie deutlich die Schrift im historischen Dokument ist.
  • Das Transkribus-Team arbeitet an einem Algorithmus, der es ermöglichen wird, jede Art von Dokument automatisch zu transkribieren, ohne dass Trainingsdaten vorbereitet werden müssen. Die Technologie lernt aus allen in Transkribus verarbeiteten Trainingsdaten.
  • Je mehr Daten wir also verarbeiten, desto effizienter wird die Technologie. Trainieren Sie Ihr eigenes Modell und seien Sie ein Teil davon!

Danksagung

Wir möchten uns bei den vielen Anwender*innen bedanken, die mit ihrem Feedback zur Verbesserung der Transkribus-Software beigetragen haben.