Elisabeth Heigl


Posted by Elisabeth Heigl on

Compare Samples

Release 1.10.1

Das Tool „Compare Samples“ überprüft, wie der Name schon sagt, die Fähigkeiten eines HTR-Modells nicht anhand eines manuell ausgewählten Testsets, sondern auf der Grundlage eines Samples. Wie man solche Samples erstellt, dass sie eine objektive Alternative zu konventionellen Testsets darstellen und warum sie mit wesentlich weniger Aufwand als diese erstellt werden können, haben wir in einem früheren Beitrag erklärt.

„Compare Samples“ sieht zwar aus wie ein Validierungs-Tool, gehört aber eigentlich nicht dazu. Nicht dass man damit ein HTR-Modell nicht validieren könnte, aber dafür ist das Advanced Compare eigentlich besser geeignet. Die eigentliche Funktion von „Sample Compare“ ist, dass es Voraussagen oder Prognosen über den Erfolg eines HTR-Modells auf einem bestimmten Material erstellt.

Ihr erinnert euch vielleicht an den Model Booster. Wenn man für ein geplantes HTR-Training unter den inzwischen zahlreichen verfügbaren Public Models ein geeignetes HTR-Modell sucht, das als Base Model dienen kann, dann bietet es sich an, das zuerst mit „Compare Samples“ auf seine Eignung zu überprüfen.

Um für ein Sample eine solche Voraussage zu erstellen, müsst ihr zuerst die ausgewählten HTR-Modelle über das gesamte Sample laufen lassen (Davor habt ihr natürlich für das Sample schon den GT erstellt). Anschließend öffnet ihr im „Compare Samples“-Tool den Reiter Samples. Darin sind sämtliche Samples deiner aktiven Collection aufgelistet. Ihr wählt das Sample aus, das als Grundlage für die Vorhersage dienen soll. Jetzt könnt ihr in der Mitte das Modell auswählen, dessen Textversion als Referenz für den GT dienen soll. „Compute“ starten und fertig.

Das Tool errechnet euch jetzt Durchschnittswerte für alle Zeilen des Samples mit jeweils einem oberen Durchschnittswert (upper bound), einem unteren (lower bound) und einem Mittelwert. In der Spanne zwischen upper bound und lower bound sollte dann für 95 % eures Materials die Character Error Rate liegen mit der das gewählte HTR-Modell voraussichtlich arbeitet. In unserem Beispiel unten also zwischen 4,7 und 2,9 %.

Ihr könnt auf diese Art beliebig viele Modelle für euer Material vergleichen. Aber das Tool erlaubt auch ein paar andere Dinge. Ihr könnt z.B. sehr gut überprüfen, wie ein HTR-Modell mit oder ohne language model oder dictionary auf eurem Material arbeitet und ob sich also der Einsatz des einen oder anderen lohnt. Das bietet sich natürlich vor allem für die Überprüfung der eigenen Modelle an.

 

Tipps & Tools
Erstellt lieber mehrere kleinere Samples als ein gigantisches Sample für all euer Material. Ihr könnt sie z. B. chronologisch oder nach Schreiberhänden trennen. Das erlaubt euch später eine differenzierte Voraussage für den Einsatz von HTR-Modellen auf eurem gesamten Material oder auf Teilen davon.

Posted by Elisabeth Heigl on

CER? Keine Sorge!

Release 1.10.1

Die Zeichenfehlerquote (Character Error Rate – CER) setzt für eine gegebene Seite die Gesamtzahl aller Zeichen (n) – dazu gehören auch die Leerzeichen – ins Verhältnis zur geringsten Anzahl der Einschübe (i), Änderungen (s) und Streichungen (d) von Zeichen, die nötig sind, um das GT-Ergebnis zu erhalten. Um es noch mathematischer auszudrücken:

CER = [ (i + s + d) / n ]*100

Das bedeutet, dass auch sämtliche Kleinigkeiten statistisch vollwertige Fehler sind. Jedes fehlende Komma, ein u statt eines v, ein zusätzliches Leerzeichen oder auch ein Groß- statt eines Kleinbuchstaben fließen als „ganzer Fehler“ in die CER mit ein. Dabei stören die Kleinigkeiten weder beim Lesen und Verstehen des Textes, noch hindern sie die Suchmaschine am Finden eines Begriffs.

Schaue deshalb nicht nur auf die Zahlen sondern immer mal wieder auch in den Textvergleich. Dein Modell ist in der Regel besser, als es die CER und erst recht die WER suggerieren.

Zur Veranschaulichung haben wir das mal an einem Beispiel durchgerechnet:

Posted by Elisabeth Heigl on

Advanced Compare

Release 1.10.1

Im Gegensatz zur Visualisierung der Fehler über das Tool „Compare Text Versions“ gibt uns der gewöhnliche „Compare“ die gleichen Validierungsergebnisse als Zahlenwerte.

Hier erhalten wir neben der Wortfehlerquote auch die etwas aussagekräftigere Zeichenfehlerquote (CER). Außerdem können wir im „Advanced Compare“ diese Ergebnisse für das gesamte Dokument oder für bestimmte Seiten darin berechnen lassen – immer vorausgesetzt, dass die ausgewählten Seiten über eine GT Version verfügen. Denn beim Advanced Compare ist automatisch der GT als Referenz eingestellt.

Wähle also das zu validierende Modell als Hypothese aus und starte die Berechnung. Das Ergebnis gibt dir nicht nur den Durchschnittswert für das gesamte Dokument, sondern auch die entsprechenden Werte für jede einzelne Seite an. Und das macht den Advanced Compare zum wichtigsten Validierungstool in der systematischen Analyse bei der Entwicklung von Modellen.

In unserem recht komplexen Modelltraining für die Spruchakten (über 1000 Schreiberhänden aus über 150 Jahren) haben wir mit gesonderten kleinen Testsets gearbeitet an denen wir unsere neuen Modelle über das Advanced Compare immer wieder testen und die Ergebnisse genau analysieren konnten. So ließen sich nicht nur durchschnittliche Verbesserungen oder auch Verschlechterungen detailliert nachvollziehen. Wir konnten auch besondere Ausreißer, wie z.B. einzelne Konzeptschriften oder besonders „verschmierte“ ausmachen, die das sonst gute Gesamtergebnis verschlechterten. Darüber hinaus konnten wir aus diesem Zahlenmaterial viele Grafiken erstellen, die uns und euch bestimmte Phänomene und Entwicklungen veranschaulichen und dadurch verständlicher machen.

 

Tipps & Tools
Die Validierungsergebnisse des Advanced Compare kannst du dir auch als Excelltabelle auf deinen Rechner herunterladen. Dazu kannst du unter der Ergebnisdarstellung einen Ordner auswählen, in den das Dokument gespeichert werden soll. Klicke dann auf den Button „Download XLS“. Drücke nicht einfach Enter – sonst musst du wieder von vorne anfangen.

Posted by Elisabeth Heigl on

Der Textvergleich – Compare Text Versions

Release 1.10.1

Ein neues HTR-Modell ist über eine Seite gelaufen und du willst einen ersten Überblick haben, wie das Modell gelesen hat? Setze in den Tools, unter Compute Accuracy die entsprechenden Referenz (GT) und Hypothese (HTR Text) ein und schaue dir den Text Compare an:

Dieses Tool visualisiert den Vergleich der HTR mit der GT-Version direkt im Text. Ein Wort mit einem Fehler erscheint rot markiert und gestrichen, in grün steht dahinter die korrekte Version aus dem GT. Der Text Compare bildet die Wortfehlerquote (WER) ab. Es erlaubt uns aber vor allem schnell zu erkennen welche Fehler genau gemacht wurden. So können wir beispielsweise auch nachvollziehen, dass es sich bei vielen der Fehler tatsächlich um Kleinigkeiten handelt, die beim Lesen und der Wortsuche eigentlich nicht weiter stören. In unserem Beispiel hier sehen wir eine WER von 15%.

Posted by Elisabeth Heigl on

Möglichkeiten der Validierung

Release 1.10.1

Es gibt mehrere Möglichkeiten für die Validierung unserer HTR-Ergebnisse in Transkribus: drei Compare tools können die Genauigkeit eines Modells auf unterschiedliche Weise berechnen bzw. darstellen. In allen Fällen vergleichen wir die Hypothese (HTR-Version) eines Textes mit einer entsprechenden Referenz (korrekte Version, also GT) des gleichen Textes.

 

Das erste und unmittelbarste Tool ist der Textvergleich „Compare Text Versions“. Er visualisiert die Unterschiede für die jeweils geöffnete Seite im Text selbst. Hier können wir also genau nachvollziehen, an welchen Stellen die HTR welche Fehler gemacht hat.

Der normale „Compare“ gibt uns diese Validierungsergebnisse in Zahlenwerten. Er berechnet u.a. die durchschnittliche Wortfehlerquote (WER), die Zeichenfehlerquote (CER) sowie die jeweiligen Genauigkeitsraten. (Wenn jemand weiß, was es mit den Bag Tokens auf sich hat, darf er/sie uns gerne dazu einen Kommentar schreiben). Im „Compare“ haben wir außerdem die Möglichkeit denAdvanced Compare“ auszulösen, mit dem wir die entsprechenden Berechnungen für das gesamte Dokument oder auch nur für bestimmte Seiten ausführen lassen können.

Das Vergleichsinstrument „Compare Sample“ haben wir an anderer Stelle schon einmal vorgestellt, um zu zeigen wie Test Samples erstellt werden können. Der Sample Compare stellt dann nämlich eine Prognose an, wie ein Modell potentiell auf einem so erstellten Validierungssample lesen wird.

Posted by Elisabeth Heigl on

Language Models

Release 1.10.1

Wir haben in einem früheren Beitrag über die Verwendung von Wörterbüchern gesprochen und dabei erwähnt, dass – je besser ein HTR-Modell ist (CER besser als 7%) – der Nutzen eines Wörterbuches für das HTR-Ergebnis geringer wird.

Anders ist das beim Einsatz von Language Models, die seit Dezember 2019 in Transkribus verfügbar sind. Wie Wörterbücher werden auch Language Models bei jedem HTR-Training aus dem dort genutzten Ground Truth generiert. Anders als Wörterbücher zielen Language Models aber nicht auf die Identifizierung einzelner Wörter. Sie ermitteln stattdessen die Wahrscheinlichkeit für eine Wortfolge oder die regelmäßige Kombination von Wörtern und Ausdrücken in einem bestimmten Kontext.

Anders als bei Wörterbüchern führt der Einsatz von Language Models immer zu wesentlich besseren HTR-Ergebnissen. In unseren Tests verbesserte sich die durchschnittliche CER im Vergleich zum HTR-Ergebnis ohne Language Model bis zu 1 % – und zwar durchweg, auf allen Testsets.

Tipps & Tools: Das Language Model kann bei der Konfiguration der HTR ausgewählt werden. Anders als bei Wörterbüchern sind Language Models und HTR-Modell nicht frei kombinierbar. Es wird immer das zum HTR-Modell generierte Language Model genutzt.

Posted by Elisabeth Heigl on

Testsamples – die unparteiische Alternative

Wenn eine Projektkonzeption es nicht zulässt, den Aufbau von Testsets strategisch zu planen und zu organisieren, dann gibt es eine einfache Alternative: automatisch erstellte Samples. Sie stellen auch eine gute Ergänzung zu den von uns manuell erstellten Testsets dar, denn hier entscheiden nicht wir, sondern die Maschine, welches Material in das Testset kommt und welches nicht. Das läuft darauf hinaus, dass Transkribus einzelne Zeilen aus einer Menge von Seiten auswählt, die ihr natürlich zuvor zur Verfügung gestellt habt. Es handelt sich also um eine mehr oder weniger zufällige Auswahl. Das lohnt sich bei Projekten, die über sehr viel Material verfügen – also auch bei unserem.

Wir verwenden Samples als Gegenprobe zu unseren planmäßig manuell erstellten Testsets und weil Samples den statistischen Verfahren der Stichprobenerhebung vergleichbar sind, die die DFG in ihren Praxisregeln auch für die Überprüfung der Qualität der OCR empfiehlt.

Da HTR (anders als OCR) zeilenbasiert arbeitet, wandeln wir die Empfehlung der DFG etwas ab. Ich erkläre das am konkreten Beispiel: Für unser Modell Spruchakten_M-3K sollte eine Überprüfung der erzielten Lesegenauigkeit vorgenommen werden. Für unser Sample wurde zunächst eine Stichprobe von 600 Seiten gezogen, verteilt über den Gesamtzeitraum, für den das Modell arbeitet (1583-1627) und ausschließlich aus untrainiertem Material. Dafür wurde jede 20. Seite des Datensets ausgewählt. Bezogen auf das gesamte für diesen Zeitraum zur Verfügung stehende Material von 16.500 Seiten repräsentiert dieses Subset ca. 3,7%. All das geschieht auf dem eigenen Netzlaufwerk. Nachdem dieses Subset in Transkribus hochgeladen und mit der CITlab Advanced LA verarbeitet wurde (16.747 lines wurden insgesamt erkannt), ließen wir Transkribus ein Sample daraus erstellen. Es enthält 900 per Zufallsgenerator ausgewählte Zeilen. Das sind also ca. 5% des Subsets. Dieses Sample wurde nun mit GT versehen und als Testset zur Überprüfung des Modells genutzt.

Und so geht das in der Praxis: Im Menü „Tools“ wird die Funktion „Sample Compare“ aufgerufen. Unser Subset wird in der Collection ausgewählt und mit dem Button „add to sample“ zum Sample Set hinzugefügt. Dabei geben wir auch die Anzahl der Zeilen an, die Transkribus aus dem Subset auswählen soll an. Wir wählen hier mindestens so viele Zeilen, wie Seiten im Subset vorhanden sind, so dass rechnerisch auf jede Seite eine Testzeile kommt. In unserem Fall haben wir uns für den Faktor 1,5 entschieden, um sicher zu gehen. Das Programm wählt die Zeilen nun eigenständig aus und stellt daraus ein Sample zusammen, das als neues Dokument gespeichert wird. Dieses Dokument enthält keine pages, sondern ausschließlich Zeilen. Die müssen nun – wie gewohnt – transkribiert und so GT erzeugt werden. Anschließend kann jedes beliebige Modell über die Compare-Funktion an diesem Testset ausprobiert werden.

Posted by Elisabeth Heigl on

Auflösung

Ein technischer Parameter, der zu Beginn des Scanprozesses einheitlich festgelegt werden muss, ist die Auflösung der Digitalisate, d.h. wie viele Bildpunkte/dots per inch (dpi) das gescannte Bild aufweist.

Die DFG-Praxisregeln zur Digitalisierung empfehlen allgemein 300 dpi (S. 15). Für „Textdokumente mit dem kleinsten signifikanten Zeichen“ von bis zu 1,5 mm kann jedoch eine Auflösung von 400 dpi gewählt werden (S. 22). Tatsächlich können bei den Handschriften – insbesondere den Konzeptschriften – der frühen Neuzeit kleinste Zeichenbestandteile unterschiedliche Lesarten zur Folge haben und sollten also möglichst eindeutig zu erkennen sein. Wir haben uns daher für 400 dpi entschieden.

Neben den Vorteilen für das Entziffern der Schriften muss aber gleichzeitig auch das deutlich größere Speicherformat der 400er (rund 40.000 KB/img.) gegenüber den 300er (rund 30.000 KB/img.) Dateien bedacht und eingeplant werden!

Die gewählte dpi-Zahl hat darüber hinaus auch Auswirkungen auf den Prozess der automatischen Handschriftenerkennung. Unterschiedliche Auflösungen bringen unterschiedliche Ergebnisse der Layout Analyse und der HTR mit sich. Zur Überprüfung dieser These haben wir etwas willkürlich drei Seiten aus einer Spruchakte von 1618 ausgewählt, diese jeweils in 150, 200, 300 und 400 dpi gescannt, sämtliche Seiten in Transkribus bearbeitet und folgende CERs ermittelt:

Seite/dpi 150 200 300 400
2 3,99 3,5 3,63 3,14
5 2,1 2,37 2,45 2,11
9 6,73 6,81 6,52 6,37

Grob gesagt bedeutet eine geringere Auflösung also eine Verschlechterung der CER – wenn auch im Rahmen von unter einem Prozent.

Ehrlich gesagt, hinken solche Vergleiche der HTR-Ergebnisse aber. Schon die Grundlage der HTR – die Layout Analyse – kommt nämlich bei unterschiedlichen Auflösungen zu latent unterschiedlichen Ergebnissen die im Resultat dann die HTR-Ergebnisse (scheinbar gröbere Analysen erzielen schlechtere HTR-Ergebnisse) aber auch die GT-Produktion selbst beeinflusst (z.B. bei abgeschnittenen Wortbestandteilen).

In unserem Beispiel seht ihr dasselbe image in unterschiedlicher Auflösung. Hier verändert sich das Ergebnis der CITlab Advanced LA mit fortschreitend erhöhter Auflösung. Das initiale „V“ der ersten Zeile wird bei höherer Auflösung nicht mehr erkannt, während Zeile 10 bei höherer Auflösung zunehmend „auseinandergerissen wird“. Mit zunehmender Auflösung wird die LA sensibler – das kann Vor- und Nachteile zugleich haben.

Wichtig ist daher in erster Linie eine für das gesamte Projekt einheitliche dpi-Zahl, damit die durchschnittlichen CER-Werte sowie das gesamte statistische Material belastbar bleiben.

Posted by Elisabeth Heigl on

Abbreviaturen

Release 1.9.1

Mittelalterliche und frühneuzeitliche Handschriften weisen in der Regel Abbreviaturen auf, also Abkürzungen in jeglicher Form. Das können sowohl Kontraktionen (Auslassung im Wort) und Suspensionen (Auslassung am Wortende) sein als auch die unterschiedlichsten Sonderzeichen. Sobald wir also alte Handschriften transkribieren wollen, müssen wir uns überlegen, wie wir die Abbreviaturen wiedergeben möchten: Geben wir alles so wieder, wie es im Text erscheint, oder lösen wir alles auf – oder passen wir uns den Kapazitäten der HTR an?

Für den Umgang mit Abbreviaturen in Transkribus gibt es grob gesehen drei verschiedene Möglichkeiten:

– Ihr könnt versuchen Abbreviaturzeichen als Unicode-Zeichen wiederzugeben. Viele der in lateinischen und deutschen Handschriften des 15. und 16. Jahrhunderts gebräuchlichen Abbreviaturzeichen findet ihr im Unicode block „Latin Extended-D“. Solche Unicode-Lösungen für Sonderzeichen in mittelalterlichen lateinischen Texten findet ihr bei der Medieval Unicode Font Initiative. Ob und wann dieser Weg sinnvoll ist, muss man aufgrund der Ziele des eigenen Projektes entscheiden. Auf jeden Fall ist dieser Weg recht aufwendig.

– Wenn ihr nicht mit Unicode-Zeichen arbeiten möchtet, könntet ihr auch den im Abbreviaturzeichen erkannten „Grundbuchstaben“ aus dem regulären Alphabet nutzen. Das wäre dann praktische wie eine litterale Transskription. So ein „Platzhalter“ kann dann mit einem textual tag versehen werden, der das Wort als Abbreviatur auszeichnet („abbrev“). Die Auflösung der so getaggten Abbreviatur kann dem tag als Eigenschaft unter „expansion“ eingegeben werden.

Die Auflösung der Abbreviatur wird also Bestandteil der Metadaten. Dieser Weg bietet die meisten Möglichkeiten für die Nachnutzung des Materials. Aber auch er ist mühsam, denn es muss wirklich jede Abbreviatur getaggt werden.

– Oder ihr löst die Abbreviaturen einfach auf. Wenn man – wie wir – große Mengen Volltext durchsuchbar bereitstellen möchte, macht eine konsequente Auflösung der Abbreviaturen Sinn, weil sie die Suche erleichtert. Wer sucht schon nach „pfessores“ statt nach „professores“?

Wir haben die Erfahrung gemacht, dass die HTR mit Abbreviaturen recht gut umgehen kann. Sowohl die klassischen lateinischen und deutschen Abbreviaturen, als auch Währungszeichen oder andere Sonderzeichen. Daher lösen wir die meisten Abbreviaturen schon während der Transskription auf und benutzen sie als Bestandteil des Ground Truth im HTR-Training.

Die von uns trainierten Modell haben einige Abbreviaturen sehr gut erlernt. Die in den Handschriften häufig verwendeten Verkürzungen, wie die auslaufende en-Endung können von einem HTR-Modell aufgelöst werden, wenn es ihm konsequent beigebracht wurde.

Komplexere Abbreviaturen – vor allem die Kontraktionen – bereiten der HTR dagegen Schwierigkeiten. In unserem Projekt haben wir uns daher dafür entschieden, solche Abbreviaturen nur literal wiederzugeben.

Welche Abbreviaturen uns in unserem Material aus dem 16. Bis 18. Jahrhunderts begegnen und wie wir (und später die HTR-Modelle) sie auflösen, seht ihr in unserer Abbreviaturensammlung, die von uns – work in progress! – stets erweitert wird.

Posted by Elisabeth Heigl on

Gesamtmodell oder Spezialmodell

Ist dir in dem Diagramm zur Modellentwicklung aufgefallen, dass die Zeichenfehlerquote (CER) des letzten Modells wieder etwas schlechter wurde? Und das, obwohl wir den GT-Input deutlich gesteigert hatten? Wir hatten rund 43.000 mehr Wörter im Training aber eine Verschlechterung der durchschnittlichen CER von 2,79 auf 3,43 %. Erklären konnten wir uns das nicht so richtig.

An dieser Stelle kamen wir mit immer mehr GT doch nicht so richtig weiter. Wir mussten also unsere Trainings-Strategie ändern. Bisher hatten wir Gesamtmodelle trainiert, mit Schriften aus einem Gesamtzeitraum von 70 Jahren und von über 500 Schreibern.

Unser erster Verdacht fiel auf die Konzeptschriften, von denen wir schon wussten, dass die Maschine (LA und HTR) – wie wir auch – damit ihre Probleme hat. Beim nächsten Training schlossen wir deshalb diese Konzeptschriften aus und trainierten also nur mit „sauberen“ Kanzleischriften. Eine auffällige Verbesserung brachte das aber nicht: die Test Set-CER sank von 3,43 auf gerade einmal 3,31 %.

Im den darauf folgenden Trainings setzten wir dann zusätzlich auf eine chronologische Sequenzierung der Modelle. Wir teilten unser Material und erstellten zwei verschiedene Modelle: Spruchakten_M_3-1 (Spruchakten 1583-1627) und Spruchakten_M_4-1 (Spruchakten 1627-1653).

Mit den neuen Spezialmodellen erreichten wir tatsächlich wieder eine Verbesserung der HTR – wo das Gesamtmodell nicht mehr ausgereicht hatte. In den Testsets wiesen jetzt etliche Seiten eine Fehlerquote von unter 2 % auf. Im Fall des M_4-1er Modells blieben viele Seiten-CERs unter 1 % und zwei Seiten sogar fehlerfrei mit 0 %.

Ob ein Gesamt- oder Spezialmodell weiterhilft und die besseren Ergebnisse bringt, hängt natürlich sehr vom Umfang und der Zusammenstellung des Materials ab. Am Anfang, wenn du noch „Masse machen“ willst (viel hilft viel) lohnt sich ein Gesamtmodell. Wenn das aber an seine Grenzen kommt, solltest du die HTR nicht weiter „überfordern“ sondern stattdessen deine Modelle spezialisieren.