Anna Brandt


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 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 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 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.

Posted by Anna Brandt on

Transkribieren ohne Layoutanalyse?

Release 1.10.1

Wir haben in vorherigen Posts immer wieder betont wie wichtig die LA ist. Ohne sie hat ein HTR-Modell, und mag es noch so gut sein, keine Chance einen Text vernünftig zu transkribieren. Die Schritte von automatischer LA (oder einem P2PaLA-Model) und HTR löst man normalerweise getrennt voneinander aus. Jetzt ist uns aufgefallen, dass wenn ein HTR-Modell über eine komplett neue bzw. unbearbeitete Seite läuft, das Programm selbstständig eine LA ausführt.

Diese LA läuft mit den Default-Einstellungen von CITLab-Advanced LA. Dies bedeutet bei den reinen Seiten weniger Linien zu mergen und es werden zum Teil mehr als eine Textregion erkannt.

Es bedeutet jedoch auch, dass nur horizontale Schrift erkannt wird. Dasselbe Problem war bei uns auch bei unseren P2PaLA-Modellen aufgefallen. Alles was schräg steht oder gar vertikal kann so nicht erkannt werden. Dafür muss die LA manuell ausgelöst werden, mit der Einstellung ‚Text Orientation‘ auf ‚Heterogeneous‘.

Die HTR Ergebnisse sind bei dieser Methode interessanterweise besser als bei einer HTR die über eine korrigierte Layoutanalyse gelaufen ist. Wir haben dazu an bei einigen Seiten die CER ausgerechnet.

Damit ist diese Methode eine sehr gute Alternative, vor allem bei Seiten mit unkompliziertem Layout. Man spart Zeit, da man nur einen Vorgang auslösen muss und hat am Ende ein besseres Ergebnis.

Posted by Anna Brandt on

Tools im Layout-Reiter

Release 1.10.

Der Layout-Reiter hat zwei weitere Tools, auf die wir in unserem letzten Post noch nicht eingegangen sind. Sie sind vor allem bei der Layoutkorrektur sehr nützlich und ersparen lästige Kleinarbeit.

Das erste ist dazu da, um die Reading Order zu korrigieren. Wenn eine oder mehrere Textregions ausgewählt sind, werden durch dieses Tool Baselines („children of the selected element“) automatisch nach ihrer Position im Koordinatensystem der Seite geordnet. Also Baseline 1 beginnt links oben und von da weiterzählend bis rechts unten. In dem unten stehenden Beispiel wurde eine TR in mehrere zerschnitten, dabei ist aber die RO der Marginalien durcheinander gekommen. Das Tool erspart in so einem Fall die Arbeit, jede BL einzeln umbenennen zu müssen.

Das zweite Tool („assign child shapes“) hilft die BL der richtigen TR zuzuordnen. Dies kann nach dem Schneiden von Textregionen oder auch bei Baselines, die sich durch mehrere TRs ziehen, notwendig werden. Die BLs müssen dann einzeln im Layout-Reiter markiert und dort in die richtige TR geschoben werden. Alternativ markiert man die TR, in die die BL gehören und startet das Tool. Die Reading Order sollte anschließend noch einmal überprüft werden.

Posted by Anna Brandt on

P2PaLA – line detection und HTR

Release 1.9.1

Wie bereits in unserem vorherigen Post erwähnt, ist uns im Laufe unseres Projekts aufgefallen, dass die CITLabAdvanced-LA das Layout in unserem Material nicht optimal erkennt. Das geschieht nicht nur auf den optisch ’schlimmen‘ Seiten mit mixed Layouts, sondern auch bei einfachen Layouts; auf Seiten, die nur ein Textfeld benötigen, keine Notizen am Rand, großartige Streichungen im Text oder ähnliches aufweisen. Hier erkennt die automatische LA die TRs richtig, die Baselines sind jedoch meistens fehlerhaft.

Das ist nicht nur für die spätere Anzeige des Volltextes schlecht, die dadurch zum Teil verwirrend oder für den Leser unverständlich wird. Eine unzureichende LA beeinflusst auch das Ergebnis der HTR. Egal wie gut euer HTR-Modell auch ist: wenn die LA nicht eine adäquate Qualität bietet, ist das ein Problem.

Da die HTR nicht die einzelnen Zeichen liest, sondern zeilenbasiert arbeitet und Muster erkennen soll, kommen bei Zeilen, deren Anfang oder Ende von der line detection nicht richtig erkannt wurden (in denen also Buchstaben oder Wörter nicht von der LA erkannt wurden) oft falsche Ergebnisse heraus. Das hat zum Teil dramatische Auswirkungen auf die Accuracy Rate einer Seite oder eines ganzen Dokuments, wie unser Beispiel zeigt.


1587, page 41

Aus diesem Grund haben wir ein P2PaLA-Modell trainiert, welches auch BL erkennt. Das war sehr hilfreich. Es lassen sich für diese Modelle keine automatischen Statistiken wie für die CER errechnen, aber von der Ansicht her scheint es auf ‚reinen‘ Seiten fast fehlerfrei zu arbeiten. Außerdem ist der Schritt des Postprocessings in vielen Fällen nicht mehr nötig.

Das Trainigsmaterial wird ähnlich erstellt wie bei Modellen die nur TRs erkennen sollen. Man kann auch das dort verwendet Material quasi erweitern und erneut nutzen. Die einzelnen Baselines müssen für die Strukturanalyse nicht manuell getaggt werden, auch wenn das Modell es später tut, um sie den getaggten TRs zuzuordnen. Wir haben mit Unterstützung des Transkribus Teams und einem Trainingsmaterial von 2500 Seiten ein Strukturmodell trainieren können, das wir heute anstelle der Standard LA einsetzen.

Posted by Anna Brandt on

P2PaLA – Postprocessing

Release 1.9.1

Gerade am Anfang der Entwicklung eines Strukturmodells kam es bei uns vor, dass das Modell einfach jede Unregelmäßigkeit im Layout als eigene TR erkennen wollte. Das führt zu übermäßig – und überflüssig – vielen Textregions. Viele dieser TRs waren außerdem extrem klein.

Je mehr Trainingsmaterial man investiert, desto geringer wird dieses Problem. Bei uns verschwanden diese Mini-TRs, die überall auf der Seite zu finden waren, nachdem wir unser Modell mit etwa 1000 Seiten trainiert hatten. Bis dahin stören sie aber, denn sie alle von Hand zu entfernen ist mühsam.

Um diese Arbeit zu vermindern, habt ihr zwei Möglichkeiten. Einmal könnt ihr beim Start der P2PaLA schon festlegen, wie groß die kleinste TR sein darf. Dafür müsst ihr den entsprechenden Wert im „P2PaLA structure analysis tool“ vor dem Start des Jobs auswählen („Min area“).

Sollte diese Möglichkeit nicht den gewünschten Erfolg bringen, gibt es auf der linken Toolbar unter dem Punkt „other segmentation tools“ die Option „remove small textregions“. In dem geöffneten Fenster kann man die Seiten, auf denen der Filter laufen soll, einstellen und auch die Größe der zu entfernenden TRs. Die Größe wird hier in „Prozent des bestehenden Images“ gerechnet. Und hier lässt sich der Wert auch feiner kalibrieren als bei der oben genannten Möglichkeit. Wenn das Material, wie in unserem Fall, oftmals kleine Notizen oder auch nur einzelne Wörter in eigenen Textregions aufweist, dann sollte immer der kleinste oder zweitkleinste Wert gewählt werden. Wir verwenden in der Regel eine „Threshold percentage“ von 0,005.

Selbst mit einem guten Strukturmodell kann es immer noch möglich sein, dass einzelne TRs manuell verschmolzen, geteilt oder entfernt werden müssen – aber in einem deutlich geringeren Maße, als das bei der Standard LA notwendig wäre.

Tipps & Tools
Wichtig: Wenn man sicher sein will, dass man nicht zu viele TRs beseitigt, kann man mit einem „dry run“ starten. Dann wird zunächst die Anzahl der potentiell zu entfernenden TRs aufgelistet. Sobald man den Haken aus dem Kästchen entfernt, werden die betroffenen TRs beim Filtern unmittelbar gelöscht.

Posted by Anna Brandt on

P2PaLA – Training für Textregions

Release 1.9.1

An einer anderen Stelle dieses Blogs findet ihr Hinweise und Tipps zum Strukturtagging. Diese Art des Taggings kann für vieles gut sein – hier soll es um seinen Nutzen für eine verbesserte Layout Analyse gehen. Denn das Strukturtagging ist ein wichtiger Teil beim Training P2PaLA-Modelle.

Bei unseren Mixed Layouts musste die Standard LA einfach versagen. Für eine manuelle Erstellung des Layouts war das Material zu umfangreich. Also entschieden wir uns, es mit der P2PaLA zu versuchen. Dazu haben wir Trainingsmaterial erstellt, für das wir möglichst typische ’schwierige‘ Seiten aus unserem Material ausgewählt haben. Das waren Seiten, die neben dem eigentlichen Haupttext außerdem noch Randbemerkungen, Nachsätze und ähnliches enthielten.

 


coll: UAG Strukturtagging, doc. UAG 1618-1, image 12

Beim Trainingsmaterial sind nur die richtig gezogenen und getaggten Textregions wichtig. Line detection oder HTR interessieren an diesem Punkt noch nicht. Es können also auch bereits vollständig bearbeitete Seiten ins Training aufgenommen werden. Wenn man neue Seiten nimmt, auf denen nur die TR gezogen und getaggt werden muss, geht es allerdings schneller. So können in einer Stunde schon mal achtzig bis hundert Seiten für ein Training vorbereitet werden. 

Während wir bei unserem ersten Modell sieben unterschiedliche Strukturtypen getaggt hatten, haben wir die Zahl später auf fünf reduziert. Eine zu starke Differenzierung der Strukturtypen wirkt sich nach unserer Erfahrung eher negativ auf das Training aus.

Natürlich hängt der Erfolg des Trainings auch von der Menge des Trainingsmaterials ab, das man investiert. Nach unseren Erfahrungen (und bezogen auf unser Material) kann man mit 200 Seiten einen guten Anfang machen, mit 600 Seiten erhält man ein Modell mit dem man schon arbeiten kann, ab 2000 Seiten ist es sehr zuverlässig.

Tipps & Tools
Wenn man das Material für ein Strukturtraining erstellt ist es anfangs schwierig sich bewusst zu machen, dass es hier nicht um Inhalte geht. Das heißt egal welcher Inhalt dort steht, die TR in der Mitte ist immer der Paragraph. Auch wenn in der Mitte nur eine Notiz steht und das Konzept darunter viel länger ist und inhaltlich viel bedeutender. Nur so können im Training wirklich die nötigen Muster erkannt werden.