Dirk Alvermann


Posted by Dirk Alvermann on

Behandlung von Streichungen und Schwärzungen

HTR-Modelle behandeln gestrichenen Text genauso wie jeden anderen. Sie kennen da keinen Unterschied und bieten also immer ein Leseergebnis. Sie sind dabei sogar erstaunlich gut und lesen auch da noch sinnvolle Inhalte heraus, wo ein Transcriber längst aufgegeben hätte.

Das einfache Beispiel zeigt einen auch für das menschliche Auge noch lesbaren gestrichenen Text, den das HTR-Modell fast fehlerfrei gelesen hat. Richtig wäre die Lesung „billig vormeinet habe“.

Weil wir diese Fähigkeit der HTR-Modelle bereits in anderen Projekten kennenlernen durften, haben wir von Anfang an beschlossen, auch Streichungen und Schwärzungen, so gut es eben geht, zu transkribieren um dieses Potential der HTR ebenfalls auszunutzen. Die entsprechenden Passagen werden von uns im Text einfach als text-style „strike through“ getaggt und bleiben so auch für evtl. interne Suchabfragen kenntlich.

Möchte man diesen Aufwand nicht treiben, hat man schlicht die Möglichkeit, an den entsprechenden Textpassagen, die Streichungen oder Schwärzungen enthalten, in das Layout einzugreifen und bspw. die Baselines zu löschen oder entsprechend zu verkürzen. Dann „sieht“ die HTR solche Passagen nicht und kann sie auch nicht erkennen. Das ist aber nicht weniger aufwendig als der von uns gewählte Weg.

Auf keinen Fall sollte man an Streichungen generell mit dem „beliebten“ Ausdruck „[…]“ arbeiten. Die Transkriber wissen zwar was das Auslassungszeichen bedeutet, die HTR lernt hier aber, wenn viele solche Stellen ins Training kommen, etwas völlig Falsches.

Posted by Dirk Alvermann on

Strukturtagging – wofür das noch gut ist (Layout and beyond)

Im einem der letzten Beiträge habt Ihr gelesen, wie bei uns ein Strukturtagging durchführt wird. Wie der gesamte Werkzeugkasten des Strukturtaggings funktioniert, könnt ihr hier nachlesen. In unserem Projekt dient es v.a. dazu, ein angepasstes LA-Modell für die mixed layouts zu erstellen. Aber da steckt noch mehr Potential drin.

Wer kennt das Problem nicht?

Wenn sich auf einer Seite mehrere, sehr unterschiedliche Handschriften befinden, wird es schwierig, gleichmäßig gute HTR-Ergebnisse zu bekommen. Am häufigsten kommt das vor, wenn eine ‚saubere‘ Handschrift von einem weiteren Schreiber in einer Konzeptschrift kommentiert worden ist. Hier seht ihr so ein Beispiel:

Der eigentliche Grund für das Problem ist, dass die HTR bislang ausschließlich auf der Ebene der Seite ausgeführt wird. Das heißt, ich kann die Seite oder Seiten entweder mit dem einen oder dem anderen HTR-Modell lesen lassen, aber nicht mit zwei verschiedenen, die den jeweils vorkommenden Handschriften angepasst wären.

Seit Version 1.10. ist es möglich,  HTR-Modelle auf der Ebene der Textregionen anzuwenden und nicht nur den Seiten zuzuweisen. Dadurch können die Inhalte einzelner spezifischer Textregionen auf einer Seite mit unterschiedlichen HTR-Modellen gelesen werden. Hier spielt das Strukturtagging eine wichtige Rolle, zum Beispiel bei Textregionen, mit vom Haupttext abweichenden Schriften. Diese erhalten einen bestimmten Strukturtag, dem wiederum ein spezielles HTR-Modell zugewiesen wird. Grund genug also, sich mit Strukturtagging auseinander zu setzen.

Posted by Dirk Alvermann on

P2PaLA vs. Standard LA

Release 1.9.1

Im vorigen Post haben wir beschrieben, dass – wenn die Layouts der Dokumente sehr anspruchsvoll sind – die Standard LA in Transkribus nicht immer befriedigende Ergebnisse liefert. Für ein perfektes HTR-Ergebnis braucht man aber eine perfekte LA.

Vor allem in den Dokumenten des 16. und frühen 17. Jahrhunderts konnte die CITlab Advanced LA uns nicht überzeugen. Wir hatten von Anfang an nicht erwartet, dass die Standard LA die anspruchsvolleren Layouts (Textregionen) differenziert erkennt. Es war aber die line detection, die am Ende unseren Ansprüchen bei diesen Dokumenten nicht mehr genügen konnte.

Ein Beispiel dafür, wie (im schlimmsten Fall) die line detection der Standard LA auf unserem Material arbeitete, seht ihr hier:


1587, page 41

Dies kann ein Einzelfall sein. Wenn man aber große Mengen von Dokumenten in Transkribus verarbeitet, können solche Fälle häufiger auftreten. Um das Problem richtig bewerten zu können, haben wir daher an zwei Konvoluten unseres Materials eine repräsentative Fehlerstatistik aufgenommen. Es zeigt sich, dass die Standard LA hier mit durchschnittlich 12 Fehlern in der line detection pro Seite arbeitete (siehe Grafik unten, 1598). Das hat natürlich unerwünschte Auswirkungen auf das HTR-Ergebnis, die wir im nächsten Post näher beschreiben.

Posted by Dirk Alvermann on

P2PaLA oder Strukturtraining

Release 1.9.1

Die Page-to-Page-Layoutanalyse (P2PaLA) ist eine Form der Layoutanalyse für die, ähnlich wie bei der HTR, individuelle Modelle trainiert werden können. Diese Modelle können trainiert werden, sodass sie entweder nur Textregionen erkennen oder Textregionen und Baselines – sie erfüllen also dieselben Funktionen, die auch von der Standard Layoutanalyse (CITlab Advanced) ausgeführt werden. Die P2PaLA ist vor allem geeignet wenn ein Dokument viele Seiten mit mixed Layout aufweist. Die Standard Layoutanalyse erkennt in solchen Fällen meist nur eine TR – und das kann im Text zu Problemen bei der Reading Order führen.

Mit Hilfe eines Strukturtrainings kann die Layoutanalyse lernen, wo in etwa oder auch wie viele TRs sie erkennen soll.

Die CITlab Advanced LA hatte bei unserem Material häufig Probleme Textregionen ausreichend differentziert zu erkennen. Daher haben wir in unserem Projekt früh mit der P2PaLA experimentriert. Zunächst probierten wir Strukturmodelle aus, die ausschließlich Textregionen setzten (Haupttext, Marginalien, Fußnoten etc.). In den so erzeugten TRs konnte dann die gewöhnliche Line detection durchgeführt werden. Aber auch hier waren die Ergebnisse für uns nicht immer zufriedenstellend.

Die BLs waren oft zu kurz (am Zeilenanfang oder Zeilenende) oder vielfach zerrissen – auch bei Seiten mit einfachem Layout. Deshalb haben wir auf Grundlage unseres bereits funktionierenden P2PaLA-Modells ein weiteres, mit zusätzlicher Erkennung der BLs, trainiert. Unser neuestes Modell erkennt mittlerweile alle ‚einfachen‘ Seiten fast fehlerlos. Bei Seiten mit sehr differenzierten Layouts müssen die Ergebnisse immer noch korrigiert werden, allerdings mit deutlich geringerem Aufwand als zuvor.

Posted by Dirk Alvermann on

Wörterbücher

Release 1.7.1

HTR benötigt keine Wörterbücher. Dennoch gibt es sie auch hier und sie können wahlweise zugeschaltet werden, wenn man eine Volltexterkennung durchführt.

Bei jedem HTR-Training, kann aus dem GT im Trainingsset ein Wörterbuch generiert werden, in dem auch die Häufigkeit, mit der ein Wort vorkam, hinterlegt ist. Es ist also möglich, ein passendes Wörterbuch für jedes Modell bzw. für die Textart mit der man arbeitet zu erzeugen.

Insgesamt werden Wörterbücher in Transkribus aber selten benutzt. In unserem Projekt werden sie nur zu Beginn der Arbeit an neuen Modellen eingesetzt. So lange das Modell, das verbessert werden soll noch eine CER von mehr als 8% aufweist, ist nämlich das Korrigieren der von der HTR erkannten Texte sehr aufwendig. Setzt man an dieser Stelle ein Wörterbuch ein, lässt sich die CER manchmal bis auf 5% senken. Hat das Modell bereits eine CER unter 8%, ist der Einsatz von Wörterbüchern kontraproduktiv, weil sich das Leseergebnis dann häufig wieder verschlechtert. Die HTR ersetzt dann manchmal „wider besseres Wissen“ ihr eigenes Leseergebnis gegen eine Empfehlung, die sich aus dem Wörterbuch ergibt.

Wir setzen Wörterbücher nur zur Unterstützung von sehr schwachen Modellen ein. Und wir tun das auch eher, um den Transcriber bei besonders schwierigen Schriften eine Hilfestellung zu geben. So haben wir ein Wörterbuch bei der Erstellung des GT für die wirklich kaum lesbaren Konzeptschriften eingesetzt. Die Ergebnisse mussten natürlich in jedem Fall korrigiert werden. Aber die „Leseempfehlungen“ die aufgrund der HTR mit Wörterbuch entstanden, waren eine gute Hilfe. Sobald unser Modell in der Lage war, auch Konzeptschriften mit unter 8% CER zu erkennen, haben wir auf den Einsatz des Wörterbuches verzichtet.

Posted by Dirk Alvermann on

Sprachen

Release 1.7.1

HTR benötigt keine Wörterbücher und funktioniert auch unabhängig von der Sprache in der ein Text verfasst ist – solange nur das Zeichensystem verwendet wird, auf das das benutzte Modell trainiert ist.

Für die Trainingsstrategie in unserem Projekt bedeutet das, dass wir zwischen lateinischen und deutschen Texten oder niederdeutschen und hochdeutschen Texten bei der Auswahl des Trainingsmaterials nicht unterscheiden. Wir konnten bisher in der Qualität der HTR-Ergebnisse keine gravierenden Unterschiede zwischen Texten in beiden Sprachen feststellen.

Für historische Handschriften aus dem deutschen Sprachraum ist diese Beobachtung wichtig. Denn üblicherweise ändert sich mit der verwendeten Sprache innerhalb eines Dokuments hier auch die Schrift. Die meisten Schreiber des 16. bis 18. Jahrhunderts wechseln, wenn sie vom Deutschen zum Lateinischen übergehen, mitten im Text von der Kurrentschrift zur lateinischne Schreibschrift (Antiqua). Das ist – in den Augen der Maschine – ein anderes Zeichensystem. Anders als bei der OCR, wo die gemischte Verwendung von Fraktur und Antiqua in neuzeitlichen Drucken große Schwierigkeiten bereitet, hat die HTR – sofern sie darauf traniert ist – mit diesem Wechsel kein Problem.

Ein typisches Beispiel aus unserem Material, das hier mit einem Vergleich der Textversionen von HTR-Ergebnis und GT, versehen ist, kann das verdeutlichen. Die Fehlerquote in dem sich sprachlich unterscheidenden Textabschnitten der Seite ist durchaus vergleichbar. Zum Einsatz kam das Modell Spruchakten M 2-8 sowie M 3-1. Während das erstere ein Gesamtmodell ist, ist das zweite für Schriften von 1583 bis 1627 trainiert.

Posted by Dirk Alvermann on

Mixed Layouts

Release 1.7.1

Die CITlab Advanced Layout Analysis kommt mit den meisten „ordentlichen“ Layouts in über 90% der Fälle gut zurecht. Reden wir hier also über die anderen 10%.

Wie man vorgeht, um sich Ärger mit der Reading Order zu ersparen, hatten wir schon besprochen. Aber was passiert, wenn wir es mit wirklich gemischten – verrückten – Layouts zu tun bekommen, z. B. bei Konzepten?

Bei komplizierten Layouts werdet ihr schnell merken, dass die manuell gezogenen TRs sich überlappen. Das ist nicht gut – denn in solchen überlappenden Textregionen funktioniert die automatische Line Detection nicht zuverlässig. Auch dieses Problem lässt sich leicht beheben, denn TRs müssen nicht nur viereckig sein. Sie können als Vielecke (Polygons) gezogen werden und sind dadurch leicht voneinander abzugrenzen.

Es ist sinnvoll, dass ihr diese vielen Textregionen mit strukturellen Tags verseht, um sie besser auseinanderhalten zu können und um sie bei der späteren Weiterverarbeitung evtl. bestimmten Verarbeitungsroutinen zuzuweisen. Das ist ein kleiner Aufwand mit großem Nutzen, denn das Strukturtagging ist nicht aufwendiger, als das Tagging im Kontext.

Tipps & Tools
Eine echte Herausforderung kann hier die automatische Line Detection sein. Abschnitte, bei denen Ihr schon (mit ein wenig Erfahrung) vorhersehen könnt, dass das nichts wird, bearbeitet ihr am besten manuell. Bei der automatischen Line Detection sollte CITlab Advanced so konfiguriert werden, dass die Default Einstellung gegen „Heterogeneous“ getauscht wird. Die LA wird jetzt sowohl waagerechte als auch senkrechte oder schiefe und schräge Zeilen berücksichtigen. Das dauert zwar etwas länger, aber dafür ist das Ergebnis auch besser.

Sollten solche komplizierten Layouts ein durchgängiges Merkmal eures Materials sein, dann lohnt es sich ein P2PaLA-Training zu konzipieren. Damit schafft ihr Euch ein eigenes Layout-Analyse-Modell, das für die spezifischen Herausforderungen eures Materials zugeschnitten ist. Für ein solches Training ist das Strukturtagging übrigens die Grundvoraussetzung.

Posted by Dirk Alvermann on

Die ersten Bände mit Entscheidungen des Wismarer Tribunals online

In den letzten Wochen konnten wir die ersten Aktenbände mit den Relationen der Assessoren des Hohen königlichen Tribunals zu Wismar – des Oberapellationsgerichts der deutschen Territorien der Krone Schwedens – zur Verfügung stellen. Als Assessoren wurden die Richter am Tribunal bezeichnet. Seit dem Großen Nordischen Krieg gab es anstelle von früher acht nur noch vier von ihnen. Der Vizepräsident teilte ihnen die Fälle zu, zu denen sie sich eine juristische Meinung bilden sollten. Wie am Reichskammergericht wurden zu jedem Fall Referenten und Koreferenten bestimmt, die ihre Meinung schriftlich ausformulierten und mit ihren Kollegen diskutierten. Stimmten die Voten der beiden Richter überein und wurden sie vom Vizepräsidenten bestätigt, der alle Relationen überprüfen musste, wurde in der Gerichtssitzung nur noch formal der Konsens der verbliebenen Kollegen eingeholt. Lag der Fall komplizierter, äußerten alle Assessoren ihre Meinung zum Urteil. Diese Urteilsbegründungen sind in der Sammlung der sogenannten „Relationes“ niedergelegt.

 

Diese Relationen sind für die Rechtsgeschichte eine erstrangige Quelle, da sie zunächst in einer Erzählung den Hergang des Konflikts referieren, um dann ein Urteil vorzuschlagen. Wir können hier sowohl die Rechtsgrundlagen in den Begründungen als auch den Alltag der Menschen in den Erzählungen nachvollziehen.

 

Die Texterkennung wurde mit einem Modell realisiert, das auf die Handschriften von neun verschiedenen Richtern des königlichen Tribunals trainiert wurde. Das Trainingsset umfasste 600.000 Wörter. Entsprechend gut ist die Accuracy-Rate der Handschriftentexterkennung, die in diesem Fall bei etwa 99% liegt.

Die Ergebnisse können hier betrachtet werden. Wie man in unseren Dokumenten navigiert und wie die Volltextsuche funktioniert, ist hier erklärt.

Wer waren die Richter?

In der zweiten Hälfte des 18. Jahrhunderts fand ein gewisser Generationswechsel unter den Richtern statt. Am Ende der 1750er / zu Beginn der 1760er Jahre wurde Recht Tribunal gesprochen durch: Hermann Heinrich von Engelbrecht (1709-1760), seit 1745 als Assessor, seit 1750 als Vizepräsident, Bogislaw Friedrich Liebeherr (1695-1761), seit 1736 als Assessor, Anton Christoph Gröning (1695-1773). seit 1749 als Assessor, Christoph Erhard von Corswanten (um 1708-1777), seit 1751 Assessor, seit 1761 Vizepräsident, Carl Hinrich Möller (1709-1759), seit 1751 als Assessor, Joachim Friedrich Stemwede (um 1720-1787), seit 1760 als Assessor, Johann Franz von Boltenstern (1700-1763), seit 1762 als Assessor, Johann Gustrav Friedrich von Engelbrechten  (1733-1806), zwischen 1762 und 1775 als Assessor und Augustin von Balthasar (1701-1786), seit 1763 als Assessor, seit 1778 als Vizepräsident.

Posted by Dirk Alvermann on

Transkribus in Chicago

Beim diesjährigen Treffen der ‚Social Scienes History Association‘ (SSHA) in Chicago wird auch Transkribus vorgestellt. Günter Mühlberger wird in seinem Beitrag nicht nur die Möglichkeiten von Transkribus aufzeigen, sondern stellt auch erste Ergebnisse und Erfahrungen aus der Verarbeitung der Katasterprotokolle des Tiroler Landesarchivs und  unserem Digitalisierungsprojekt vor. Besondere Aufmerksamkeit wird er dabei auf das Training von HTR-Modellen und die Möglichkeiten des Keyword Spotting richten. Der Vortrag findet am 21.11. ab 11:00 unter dem Titel: ‚Handwritten Text Recognition and Keyword Spotting as Research Tools for Social Science and History‘ in der Session 31 (Emerging Methods: Computation/Spatial Econometrics) statt.

Posted by Dirk Alvermann on

Warum Testsets wichtig sind und wie man sie anlegt, #2

Release 1.7.1

Wie geht man nun praktisch vor, um Testsets anzulegen?

Da kann letztlich jeder seinen eigenen Weg finden. In unserem Projekt werden die Seiten für die Testsets bereits während der Erstellung des GT ausgewählt. Sie erhalten einen besonderen edit status (Final) und werden später in separaten Dokumenten zusammengefasst. So ist gesichert, dass sie nicht aus Versehen ins Training geraten. Immer wenn neuer GT für das künftige Training erstellt wird, wird also auch zugleich das Material für das Testset erweitert. Beide Sets wachsen also „organisch“ und proportional.

Für das systematische Training erstellen wir mehrere Documents, die wir als „Testsets“ bezeichnen und die jeweils auf eine Spruchakte (einen Jahrgang) bezogen sind. Zum Beispiel erstellen wir für das Document der Spruchakte 1594 also ein „Testset 1594“. Hierein legen wir repräsentativ ausgewählte Images, die möglichst die Schreibervielfalt abbilden sollen. Im „Mutter-Dokument“ markieren wir die für das Testset ausgewählten Seiten als „Final“, um sicher zu gehen, dass sie dort auch weiterhin nicht bearbeitet werden. Wir haben nicht für jedes Jahr ein eigenes Testet erstellt, sondern sind in Abhängigkeit des Materials in Fünfjahresschritten vorgegangen.

Da ein Modell häufig über viele Durchgänge trainiert wird, hat dieses Vorgehen auch den Vorteil, dass das Testset immer repräsentativ bleibt. Die CERs der unterschiedlichen Versionen eines Modells lassen sich also stets vergleichen und in der Entwicklung beobachten, weil der Test immer auf demselben (oder erweiterten) Set ausgeführt wird. So ist es leichter die Fortschritte eines Modells zu beurteilen und die weitere Trainingsstrategie sinnvoll anzupassen.

Im Übrigen wird in Transkribus nach jedem Training das dafür verwendete Testset in der betroffenen Kollektion selbständig gespeichert. Man kann also immer wieder darauf zurückgreifen.

Es gibt auch die Möglichkeit, ein Testset erst kurz vor der Durchführung des Trainigs auszuwählen und einfach aus dem Trainingsmaterial einzelne Seiten der Dokumente dem Testset zuzuordnen. Das mag für den Einzelfall eine schnelle und pragmatische Lösung sein, ist für den planmäßigen Aufbau mächtiger Modelle aber nicht geeignet.