Category Archives

62 Articles

Posted by Dirk Alvermann on

Automatisch ausgewählte Validierungssets

Über Validierung und die verschiedenen Arten, ein Validierungsset zusammenzustellen, findet ihr in diesem Blog schon einige Beiträge.

Seit der letzten Version von Transkribus (1.12.0) gibt es eine neue Möglichkeit, Validierungssets zu erstellen. Dabei entnimmt Transkribus während der Zusammenstellung des Trainings aus dem Train-Set einen bestimmten Anteil (2%, 5% oder 10%) des Ground Truth und bildet daraus automatisch ein Validierungsset. Dieses Set besteht aus zufällig ausgewählten Seiten.

Gebildet werden diese Validierungssets im Trainings-Tool von Transkribus. Ihr beginnt dafür wie üblich mit der Eingabe der Trainingsparameter für das Modell. Bevor ihr aber den Ground Truth zum Train-Set hinzufügt, wählt ihr den gewünschten Prozentsatz für das Validierungsset aus. Diese Reihenfolge ist wichtig. Bei jedem neuen Dokument, das ihr jetzt dem Train-Set hinzufügt, werden von Transkribus die entsprechenden Seiten für das Validierungsset extrahiert. Das ist auch schon alles.

Das neue Tool eignet sich sehr gut für große Modelle mit entsprechend viel Ground Truth, vor allem, wenn euch die Aufstellung besonderer Validierungssets nicht wichtig ist, oder es euch für repräsentative schwer fällt.

Posted by Dirk Alvermann on

HTR+ oder Pylaia Teil 2

Release 1.12.0

Vor einigen Wochen haben wir über unsere ersten Erfahrungen mit PyLaia beim Training eines generischen Modells (600.000 Wörter GT) berichtet.

Heute wollen wir einen weiteren Versuch machen, PyLaia und HTR+ zu vergleichen. Diesmal steht uns dafür ein größeres Modell (German_Kurrent_17th-18th; 1,8 Mio Wörter GT) zur Verfügung. Das Modell wurde sowohl als PyLaia als auch als HTR+-Modell trainiert, mit identischem Ground Truth und denselben Voraussetzungen (from the scratch).

Unsere Vermutung, dass PyLaia seine Vorzüge gegenüber HTR+ bei größeren generischen Modellen besonders entfalten kann, hat sich hier bestätigt. In dem gezeigten Fall ist PyLaia HTR+ in allen Belangen überlegen. Sowohl mit als auch ohne Language Model hat das PyLaia Modell auf all unseren Testsets um etwa einen Prozentpunkt (in der CER) besser abgeschnitten als HTR+.

In den letzten Wochen hat sich übrigens auch die Performance von PyLaia bei „gebogenen“ Textzeilen deutlich verbessert.

Posted by Dirk Alvermann on

Tag Export II

Im letzten Post haben wir den Nutzen von Tags für die Visualisierung von Ergebnissen anhand der Darstellung von Place-Tags auf einer Karte vorgestellt. Es gibt aber noch andere Möglichkeiten.

Tags können nicht nur separat, wie in Form einer Excel-Tabelle exportiert werden. Einige Tags (place oder person) werden auch in den ALTO-Dateien mit ausgegeben. Diese Dateien sind unter anderem dafür verantwortlich, dass wir in unserem Viewer/Presenter die Treffer der Volltextsuche anzeigen können. Dazu wählt man einfach beim Export der METS-Dateien zusätzlich „Export ALTO (Split lines into words)“.

In unserem Presenter in der Digitalen Bibliothek Mecklenburg-Vorpommern werden die Tags dann als „named entities“ getrennt nach Orten und Personen für das jeweilige Dokument angezeigt. Das ganze ist noch in der Versuchsphase und soll in nächster Zeit so weiterentwickelt werden, dass man über eine tatsächliche Tagcloud direkt auf die entsprechenden Stellen im Dokumente springen kann.

Posted by Dirk Alvermann on

Tag Export I

Wenn man sich einmal die Mühe gemacht hat, ein oder mehrere Dokumente zu taggen, hat man verschiedene Möglichkeiten diesen „Mehrwert“ auch außerhalb von Transkribus zu nutzen. Die Tags lassen sich leicht über das Export-Tool von Transkribus als Excel-Tabelle exportieren.

Von hier aus stehen Euch viele Möglichkeiten offen. Wir hatten unser „Tagging-Experiment“ durchgeführt, um zu erfahren, ob das ein guter Weg wäre, um die geographische Verteilung unserer Dokumente zu visualisieren und zugleich über eine Karte den Zugriff auf die digitalisierten Dokumente im Presenter zu ermöglichen.

Unterm Strich sind wir mit dem Ergebnis des Versuches zufrieden. Man kann bestimmte Jahre oder Zeiträume auswählen, nach Orten suchen und über die Punkte auf der Karte zu den Dokumenten gelangen. Hier könnt Ihr euch ansehen, was dabei herausgekommen ist.

Letztendlich hat sich der Aufwand für diese Art der Weiterverwendung des Taggings aber als so hoch erwiesen, dass wir ihn im Rahmen dieses Projektes nicht leisten können. Aber es gibt noch andere Möglichkeiten Tags im Export zu nutzen, über die wir im nächsten Post schreiben.

Posted by Dirk Alvermann on

HTR+ oder Pylaia

Version 1.12.0

Wie ihr sicher schon gesehen habt, gibt es seit dem vergangenen Sommer neben HTR+ eine zweite Technologie für die Handschriftentexterkennung in Transkribus verfügbar – PyLaia.

Wir haben in den vergangenen Wochen mit PyLaia-Modellen experimentiert und möchten hier einige erste Erfahrungen und Eindrücke zu den Unterschieden von HTR+ und PyLaia dokumentieren. Heißt billiger auch schlechter? – Definitiv nein! Hinsichtlich der Accuracy Rate kann PyLaia es ohne weiteres mit HTR+ aufnehmen. Es ist oft sogar etwas besser. Die folgende Grafik vergleicht ein HTR+ und ein PyLaia-Modell, die mit identischem Ground Truth (ca. 600.000 Wörter) unter denselben Voraussetzungen (from the scratch) trainiert wurden. Verglichen wird die Perfomance mit und ohne Language Model.

Der vielleicht auffälligste Unterschied ist, dass die Ergebnisse von PyLaia-Modellen sich mit dem Einsatz eines Language Models nicht ganz so stark verbessern lassen, wie das bei HTR+ der Fall ist. Das ist nicht unbedingt ein Nachteil, sondern spricht eigentlich eher für eine hohe Grundverlässlichkeit dieser Modelle. Anders ausgedrückt: PyLaia braucht nicht unbedingt ein Language Model um sehr gute Ergebnisse zu erzielen.

Es gibt auch ein Gebiet, auf dem PyLaia schlechter abschneidet, als HTR+. PyLaia hat größere Schwierigkeiten „gebogene“ Zeilen korrekt zu lesen. Bei senkrechten Textzeilen ist das Ergebnis sogar noch schlechter.

Im Training ist PyLaia etwas langsamer als HTR+, das heißt, das Training dauert länger. Auf der anderen Seite ist PyLaia sehr viel schneller im „Antritt“. Es benötigt verhältnismäßig wenige Trainingsdurchgänge, um gute Ergebnisse zu erzielen. In den beiden Lernkurven kann man das recht gut erkennen.

Unsere Beobachtungen sind natürlich nicht erschöpfend. Sie beziehen sich bisher nur auf generische Modelle, die mit einem hohen Einsatz von Ground Truth trainiert wurden. Wir haben insgesamt den Eindruck, das PyLaia bei solchen großen generischen Modellen seine Vorzüge voll ausspielen kann.

Posted by Dirk Alvermann on

Wie man PyLaia-Modelle trainiert

Release 1.12.0

Seit der Version 1.12.0 ist es möglich in Transkribus neben den bewährten HTR+ Modellen auch PyLaia Modelle zu trainieren. Wir haben in den letzten Monaten damit einige Erfahrungen gesammelt und sind von der Performance der Modelle recht beeindruckt.

PyLaia Modell können wie HTR oder HTR+ Modelle über das übliche Trainings-Tool trainiert werden. Es gibt aber einige Unterschiede.

Wie bei einem normalen HTR+ Modell müsst Ihr den Namen des Modells, eine Beschreibung und die Sprachen für die das Modell eingesetzt werden kann, angeben. Anders als beim Training von HTR+ Modellen ist die Anzahl der Iterationen (epochs) auf 250 beschränkt. Damit kommt man aber nach unseren Erfahrungen sehr gut zurecht. Man kann auch PyLaia Modelle mit base models trainieren, also längere aufeinander aufbauende Trainingsserien konzipieren. Im Unterschied zum üblichen Training gibt es bei PyLaia eine Einstellung „Early Stopping“. Sie legt fest, wann das Training beendet werden kann, sofern ein gutes Ergebnis erreicht wird. Diesen Wert solltet Ihr zu Beginn eurer Trainingsversuche immer auf dieselbe Anzahl von Iterationen einstellen, die Ihr für das gesamte Training gewählt habt. Wenn Ihr also mit 250 epochs trainiert, sollte der Wert bei „Early Stopping“ genauso hoch sein. Andernfalls riskiert ihr, dass das Training zu früh beendet wird.

Der wichtigste Unterschied ist jedoch, dass im PyLaia Training ausgewählt werden kann, ob Ihr mit den Original-Images oder mit komprimierten Images trainieren möchtet. Hier lautet die Empfehlung ganz klar: trainiert mit komprimierten Images. Das PyLaia Training mit Original-Images kann im schlimmsten Fall (bei entsprechend großer Menge von GT) Wochen dauern. Mit komprimierten Images ist auch ein PyLaia Training innerhalb weniger Stunden oder Tage (wenn ihr bspw. mit etwa 500.000 Wörtern trainiert) beendet.

Tips & Tools
Für ausführlichere Informationen, besonders zur Einstellung spezifischer Trainingsparameter empfehlen wir euch das Tutorial von Annemieke Romein und die Richtlinien der READ Coop.

Posted by Anna Brandt on

Suchen und Bearbeiten von Tags

Release 1.11.0

Wenn man große Mengen von historischem Text taggt, wie wir das mit den Orts- und Personennamen probeweise versucht haben, hat man über kurz oder lang ein Problem: die Schreibweisen variieren sehr stark – oder mit anderen Worten, die Tag Values sind nicht identisch.

Nemen wir die Orte und daraus ein einfaches Beispiel. Als „Rosdogk“, „Rosstok“, „Rosdock“ oder noch anders wird immer derselbe Ort bezeichnet – die Hansestadt Rostock. Um das kenntlich zu machen, benutzt man die Properties. Wenn man das aber über mehr als zehtausend Seiten mit hunderten oder tausenden Orten (wir haben bei unserem Versuch ca. 15.000 Tags für Orte gesetzt) macht, verliert man leicht den Überblick. Und außerdem dauert das Taggen deutlich länger, wenn man zugleich Properties vergibt.

Glücklicherweise gibt es dafür eine Alternative. Man kann nämlich in den Tags suchen und zwar nicht nur im Dokument, das man gerade bearbeitet, sondern in der gesamten Collection. Dazu muss man im Menü einfach das „Fernglas“ auswählen, ähnlich als wenn man eine Volltextsuche oder KWS starten würde, nur dass man nun das Untermenü „Tags“ wählt.

Hier kann man den Suchbereich (Collection, Document, Seite) auswählen und auch auf welcher Ebene gesucht werden soll (Line oder Word). Dann muss man natürlich noch den entsprechenden Tag auswählen und wenn man die Suche einschränken  vmöchte den das getaggte Wort angeben. Die Suchergebnisse lassen sich auch sortieren. Auf diese Weise finden wir schnell alle „Rostocks“ in unserer Kollektion und können in den Properties die gewünschten Zusatzinformationen eintragen, etwa den heutigen Namen, die Geodaten und ähnliches. Diese „Eigenschaften“ kann man dann allen ausgewählten getaggten Worten zuweisen. Auf diese Art lassen sich Tagging und Anreicherung der Daten voneinander trennen und effizient durchführen.

Dasselbe geht natürlich mit solchen Tags wie „Person“ oder auch „Abbrev“ (dort würde man in den Properties bspw. die Auflösung/Expansion hintelegen).

Posted by Dirk Alvermann on

Taggen im Text

Wie alles andere, kann man auch das tagging auf sehr unterschiedlichen Niveaus und mit unterschiedlichen Ansprüchen in seine Arbeit integrieren. In Transkribus steht eine große Anzahl Tags für die unterschiedlichsten Anwendungsfälle zur Verfügung, von denen einige hier beschrieben sind.

Wir haben uns für einen Versuch mit lediglich zwei tags, nämlich „person“ und „place“ entschieden, um später eben über diese Tags einen systematischen Zugriff auf die entsprechenden Textstellen zu ermöglichen.

Transkribus übernimmt beim taggen automatisch den Begriff, der unter dem cursor steht als value“ oder „label“ für den konkreten Fall. Wenn ich also, wie im Beispiel unten „Wolgast“ markiere und als „place“ tagge, dann sind schon zwei wesentliche Informationen festgehalten. Genauso verhält es sich mit dem Personennamen etwas weiter unten.

Transkribus bietet die Möglichkeit, jedes getaggte Element mit properties zu versehen, also bpw. den historischen Ortsnamen in der modernen Schreibweise wiederzugeben oder dem Personennamen eine gnd-Nummer zuzuordnen. Man kann auch weitere Properties erzeugen, meinetwegen Geodaten für Orte etc.

Angesichts der Textmenge, die wir verarbeiten, haben wir uns dafür entschieden, unseren Tags keine Properties zuzuweisen. Ledigklich die Ortsnamen werden, so gut es geht, identifiziert. Angestrebt ist dabei, dass wir bei der Präsentation im Viewer der Digitalen Biblitothek M-V die tag-values getrennt nach Personen und Orten neben dem jeweiligen Dokument anzeigen lassen können und dem Benutzer so eine systematische Navigation im Dokument ermöglichen.

Posted by Anna Brandt on

Taggen im WebUI

Für Aufgaben wie das Taggen von bereits transkribieren Dokumenten eignet sich das WebUI, welches besonders für Crowd-Sourcing-Projekte ausgelegt ist, sehr gut.

Das Taggen im WebUI funktioniert etwas anders als im Expert Client. Es gibt andere Tools und Einstellungen.

Wenn Ihr eure Collection und das Document im WebUI ausgewählt habt und etwas taggen wollt, müsst ihr bei der Seite die Ihr bearbeiten wollt „Annotation“ auswählen und nicht „plain Text“. Beide Modi sind ähnlich aufgebaut, außer dass in Annotation zusätzlich getaggt werden kann. Dafür müsst ihr wieder ganz normal die Worte markieren und mit Rechtsklick den entsprechenden Tag auswählen. Speichert immer wenn ihr die Seite verlasst, selbst wenn ihr auf der entsprechenden Seite in den Layout-Modus wechselt. Das Programm fragt nicht extra nach, wie es das im Expert Client tut und ohne speichern sind eure bereits gesetzten Tags verloren.

Alle Tags erscheinen links neben dem Textfeld, wenn man auf dem entsprechenden Wort ist. Dort werden ebenfalls die im Expert Client gesetzten Tags angezeigt. Der ganze Annotation-Modus ist im Moment noch in der Beta Version.

Posted by Anna Brandt on

Werkzeuge zum Taggen

Release 1.11.0

In einem früheren Post hatten wir schon über unsere Erfahrungen mit dem Strukturtagging geschrieben und den dazu gehörigen Tools beschrieben. Für die meisten Nutzer (z. B. in Editionsprojekten und ähnlichem) ist aber das Anreichern von Texten mit zusätzlichen inhaltlichen Informationen noch wichtiger. Um eine Transkription mit inhaltlichen Auszeichnungen (Tags) zu versehen benutzt man in Transkribus die Tagging-Tools im Reiter „Metadata“/“Textual“.

Hier werden sowohl die verfügbaren Tags angezeigt, als auch die, die bereits auf den Text der Seite angewandt wurden. Mit dem Button Customize kann man genauso wie beim Strukturtagging selber Tags erstellen oder Shortcuts zu bestehende Tags hinzufügen. Die Shortcuts machen das spätere taggen im Transkript deutlich leichter und schneller. Will man auf Shortcuts verzichten, muss man die entsprechenden Wörter markieren und im Text (nicht im Image) mit einem Rechtsklick das gewünschte Tag auswählen. Natürlich kann ein Wort mehrfach getaggt werden.

Diese Tags sind nicht zu verwechseln mit den sogenannten TextStyles (zum Beispiel durchgestrichene oder hoch gesetzte Worte). Diese sind nicht unter den Tags zugänglich sondern über die Toolbar am unteren Rand des Textfensters.