Yearly Archives

11 Articles

Posted by Anna Brandt on

Region grouping

Seit dem Versionsupdate 1.14.0 gibt es eine neue Funktion zur Konfiguration der Layout Analyse. Es geht dabei um die Anordnung der Text Regionen, genannt ‚Region grouping‘. Dabei könnt ihr nun einstellen ob diese um „Bündel“ von Baselines gezogen werden sollen oder ob alle Lines in einer einzigen TR sein sollen.

Bei der zuerst genannten Einstellung kann es schnell passieren, dass am Rand des Images oder auch mittendrin viele kleine TRs auftauchen, auch wenn es eigentlich nur einen Textblock gibt. Dieses Problem kann man in einem weiteren Schritt mit dem Remove small Textregions lösen.

Dagegen sind bei der Einstellung von nur einer Textregion, wirklich alle Baselines in dieser Textregion, auch die, die sonst als Marginalien am Rande stehen und sogar senkrechte BL. Solange die Einstellung ‚Heterogeneous‘ bei ‚Text orientation‘ gewählt ist, erkennt die Layout Analyse auch die senkrechten Linien in derselben TR mit den waagerechten. Es ist zu erkennen, dass die LA normalerweise mehrere TR erkennen würde. Die reading order für die Zeilen wird nämlich weiterhin eingeteilt, als befänden sie sich in eigenen Textregionen. Der Hauptparagraph ist meistens TR 1, deshalb fängt auch die RO dort an. Die anderen Baselines werden hinten angestellt, auch wenn sie seitlich neben dem Haupttext stehen und damit eigentlich mittendrin eingeordnet werden könnten.

Welche Einstellung für euch besser ist, müsst ihr ausprobieren. Bei Seiten, die nur einen Textblock haben, ist die zweite Einstellung natürlich von Vorteil, weil die ganzen kleinen TR nicht auftauchen. Es könnte auch sein, dass man innerhalb eines Dokuments verschiedene Einstellung wählen muss.

Posted by Elisabeth Heigl on

Mehrere Dokumente gleichzeitig bearbeiten

Version 1.15.1

Bislang waren wir es gewöhnt die Layout Analyse und auch die HTR stets für das Dokument auszulösen, in dem wir uns gerade jeweils befanden. Mittlerweile ist es allerdings möglich, beide Schritte für sämtliche bzw. für ausgesuchte Dokumente der Kollektion, in der wir uns gerade jeweils befinden, auszulösen. Wir beschreiben gleich, wie das geht – aber zunächst einmal warum wir uns darüber sehr freuen:

Um die Ergebnisse unserer frisch trainierten Modelle zu überprüfen, haben wir in einer separaten Kollektion Spruchakten-Testsets angelegt. Wie genau und warum, könnt ihr an anderer Stelle nachlesen. Für jedes Dokument, aus dem wir GT ins Training gegeben haben, existiert also in der Testset-Kollektion ein eigenes Testset-Dokument.

Wenn ein neues HTR-Modell fertig trainiert hat und wir ganz neugierig sind, wie es im Vergleich zu den bisherigen Modellen abschneiden wird, lassen wir es über jedes der Testsets laufen und anschließend die CER berechnen. Nach über zwei Jahren Trainingstätigkeit ist unsere Testset-Kollektion mittlerweile ziemlich voll; knapp 70 Testsets befinden sich schon darin.

Stellt euch vor, wie aufwändig es bisher war, jedes Testset einzeln zu öffnen, um jeweils die neue HTR auszulösen. Da musste man auch bei nur 40 Teststes schon sehr neugierig sein. Und stellt euch nun vor, welche Erleichterung es bringt, dass wir die HTR (und auch die LA) mit einem Klick für alle Dokumente gleichzeitig auslösen können. Das dürfte alle freuen, die sehr viele kleine Dokumente, wie z.B. Karteikarten in einer Kollektion bearbeiten.

Und wie geht das nun? Unter den Layout-Analyse-Tools sieht man es eigentlich sofort: In Rot steht da unter „Document Selection“, die neue Auswahlmöglichkeit „Current collection“ mit der sich die gesamte aktuelle Kollektion für den folgenden Schritt auswählen lässt.

Es reicht hier allerdings nicht aus, einfach nur „Current Selection“ zu markieren und dann die LA auszulösen; ihr müsst vorher über „Choose docs…“ immer erst in die Auswahl hineingehen. Entweder bestätigt ihr dort einfach nur die Vorauswahl (alle docs der collection) oder ihr wählt gezielt einzelne doc aus.

Für die HTR erscheint die gleiche Auswahlmöglichkeit erst im Auswahlfenster zur „Text Recognition“. Auch hier könnt ihr dann für den folgenden Schritt die „Current collection“ auswählen. Und auch hier müsst ihr über „choose docs….“ die Auswahl noch einmal bestätigen.

Posted by Dirk Alvermann on

Einzelne Zeilen vom Training ausschließen

Manch einer wird das aus der Praxis kennen: ihr seid gerade dabei eine besonders schwierige Seite in Transkribus abzuschreiben und könnt beim besten Willen nicht alles entziffern. Was macht man da? Wenn die Seite so auf den Edit Status „Ground Truth“ gesetzt wird, dann geht die Transkription mit samt den offensichtlichen Fehlern (oder dem was ihr nicht lesen konntet) ins Training. Das ist nicht gewollt. Aber einfach „wegwerfen“ wollt ihr die Seite auch nicht.

Wir haben schon in einem anderen Beitrag über die Verwendung von Tags berichtet. Wir benutzen im Projekt in solchen Fällen von Beginn an das „unclear“-tag. Andere benutzen für solche Leseprobleme auch gerne das Tag „gap“.

Das erweist sich jetzt als großer Vorteil. Denn seit einigen Monaten gibt es im Trainings-Tool von Transkribus die Funktion „omit lines bei tag“.

Das Tool sorgt dafür, dass auf allen Seiten, die in das Trainings- oder Validaton-Set genommen werden, autormatisch die Zeilen, die ein Tag „unclear“ oder „gap“ aufweisen, nicht mit in das Training einbezogen werden. Das heißt, man kann jetzt selbst Seiten, die nicht perfekt transkribiert sind, bei denen aber die Stellen, die man nicht entziffern konnte, entsprechend durch Tags markiert sind, bedenkenlos mittrainieren.

Posted by Anna Brandt on

Undo Job

Version 1.14.0

Bereits seit Version 1.12. gibt es ein praktisches Hilfsmittel um Flüchtigkeitsfehler wieder „auszubügeln“. Es ist bestimmt schon manchem passiert, dass er einen großen Job in einem Dokument gestartet hatte und dann feststellt, dass die Parameter falsch eingestellt waren oder man diesen Job überhaupt nicht ausführen wollte. Das kann eine Layout Analyse sein oder eine HTR mit dem falschen Modell. Um solche Fehler schnel und unkompliziert zu beheben, besonders wenn sie mehrere Seiten betreffen, wurde im Fenster mit der Jobliste die Funktion (Button) ‚Undo Job‘ eingeführt. Mit diesem könnt ihr einen ganzen Job, der falsch gelaufen ist, löschen.

Wenn zum Beispiel eine Layout Analyse, weil man vergessen hat den Hacken auf ‚Current Page‘ zu setzen, auf Seiten gelaufen ist, die bereits fertig waren (ein Fehler der öfter vorkommt). Dann müsst ihr nicht mehr auf jede der Seiten einzeln gehen und die falsche Version löschen, sondern könnt mit dieser Funktion einfach den ganzen Job ungeschehen machen.

Dies funktioniert allerdings nur, wenn der Job die letzte Version die ihr auf den Seiten erzeugt habt. Wenn eine andere Version die letzte ist, dann zeigt Transkribus das an und der Job wird auf dieser Seite nicht gelöscht. Auf den Seiten, auf denen der Job die letzte Version ist schon. Das heißt ihr könnt auch zuerst weiter arbeiten und einfach später die durch den falschen Job erzeugte Version auf den Seiten auf denen er nicht laufen sollte (z.B. GT) löschen lassen, während er auf den weiter bearbeiteten Seiten bleibt.


Tips & Tools
1) Auch wenn der Job auf allen Seiten gelöscht wurde verschwindet er nicht aus der Liste der ausgeführten Jobs. Also immer nochmal ein/zwei Seiten kontrollieren, damit ihr sicher seit.
2) Es funktioniert nur, wenn ihr in dem Dokument seit, in dem der Job ausgeführt wurde.

Posted by Dirk Alvermann on

Automatisches Verbinden zu kurzer Zeilen

Diese Tool ist – wie „Remove small text lines”- mit der Verion 1.12.0 von Transkribus ausgeliefert worden. Die Idee dahinter ist vielversprechend.

Vielleicht hattet ihr schon einmal Probleme mit „zerrissenen“ Zeilen bei der automatischen Line detection (Citlab Advanced Layout Analyse). Wir haben in einem früheren Beitrag darüber berichtet, wie nervig dieses Problem sein kann.

Die Erwartungen an solch ein Tool waren daher bei uns natürlich hoch. Nach kurzer Zeit haben wir aber erkannt, dass seine Verwendung etwas Übung braucht und dass es nicht problemlos überall eingesetzt werden kann.

Hier zeigen wir ein einfaches Beispiel:

Auf der Seite wurden von der Citlab Advanced Layout Analyse fünf „überflüssige“ Textregionen erkannt und ebenso viele „zerrissene“ Baselines. In einem solchen Fall solltet ihr zuerst mit „remove small text regions“ die überflüssigen Textregionen entfernen und erst dann das automatische merge-tool starten.

Tips & Tools
Vorsicht bei komplizierten Layouts. Ihr müsst das Ergebnis von „merge small text lines“ immer überprüfen, weil öfter auch Baselines zusammengefügt werden, die nicht zusammengehören (aus Zeilen mit anderer Reading Order).

Posted by Dirk Alvermann on

Zu kurze Textzeilen automatisch Entfernen

Release 1.12.0

Viele von euch kennen sicher das Tool „Remove small text regions“, das es seit gut einem Jahr bei Transkribus gibt. Jetzt kommt sein kleiner Bruder „Remove small text lines“. Endlich – ein Tool das viele Anwender sich lange gewünscht haben.

Bei der Citlab Advanced Layout Analyse (auch auf völlig „normalen“ Seiten) kommt es immer wieder vor, das Textregionen oder Baselines erkannt werden, wo wir sie nicht brauchen oder wollen.

Häufig werden in verzierten Initialen oder auch zwischen den einzelnen Zeilen „Mini-Baselines“ erkannt. Das HTR-Modell kann damit natürlich später bei der Texterkennung nichts anfangen und im Transkript stehen dann „leere“ Zeilen. Mit diesem Tool könnt ihr dies Baselines leicht und automatisch Löschen

Versucht es selbst einmal. Wir haben die besten Erfahrungen damit gemacht, wenn wir den Schwellenwert auf 0,05 einstellen.

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

Neues Public Modell – German Kurrent 17th-18th

Heute dürfen wir unser zweites öffentlich zugängliches HTR-Modell vorstellen.

„German_Kurrent_17th-18th“ ist ein HTR-Modell für Kurrentschriften des 17. und 18. Jahrhunderts. Für dieses Modell ist Ground Truth aus unseren verschiedenen größeren und kleineren Projekten der letzten vier Jahre verwendet worden.

Es handelt sich um ein generische Modell, das Material von ca. 2000 individuellen Schreiberhänden umfasst. Der Ground Truth stammt zu etwa 35% aus Handschriften des 17. Jahrhunderts und zu 50% aus solchen des 18. Jahrhunderts. Die übrigen 15% verteilen sich auf die Jahrzehnte davor und danach. Die für das Training ausgewählten Unterlagen bestehen hauptsächlich aus amtlichen Protokollen und juristischen Schriftstücken, aber auch aus Privaten Aufzeichnungen und Briefen der Zeit. Daneben wurden auch wenige zeitgenössische Drucksachen (Fraktur), die hin und wieder in den Akten vorkommen, für das Training verwendet. Die Sprache der verwendeten Texte ist überwiegend Deutsch und Latein. Daneben wurden auch einige niederdeutsche und französische Texte verwendet.

Viel Spaß beim ausprobieren. Nutzt gerne die Kommentarfunktion um uns wissen zu lassen, wie das Modell bei euch funktioniert.