Arbeitsablauf

Das Projekt entstand in Zusammenarbeit mit Auftraggeber Andreas Gottsmann, den drei ÖAW-Mitarbeitern Daniel Schopper, Stephan Kurz und Peter Andorfer, Lektorin Sabine Kofler sowie Martin Kroißenbrunner, der die digitale Edition federführend entwickelte. Die Kommunikation erfolgte neben E-Mail und Instant Messenger durch mehrere Treffen an der ÖAW in Wien.

Da die Erstellung digitaler Editionen einem ständigen Wandel unterliegt, der mit häufigen Anpassungen der Arbeitsmittel einhergeht, werden immer wieder kleine Änderungen vorgenommen, ohne dass diese anders als durch die Benutzung selbst dokumentiert werden. Eine Darstellung des Arbeitsablaufs kann daher nur eine Momentaufnahme sein, auch wenn wir bemüht sind, sie aktuell zu halten und auch Veränderungen im Zeitverlauf zu dokumentieren.

Transkription

Der erste Schritt war die Umwandlung des Ausgangsmaterials (Bände 2 und 3: physische Bücher, Bände 4 und 5: PDF-Dateien) in computerlesbaren Text. Da Band 1 bereits vor Beginn des offiziellen Projekts transkribiert und kontrolliert worden war, war dieser Schritt nur für die restlichen vier Bände erforderlich. Am Ende dieses Schrittes standen die korrigierten Transkriptionen aller Bände für den Export auf Transkribus bereit.

Bände 2 und 3

Für die Transkription der Bände 2 und 3 wurde Transkribus eingesetzt. Transkribus ist eine in Innsbruck entwickelte Plattform zur automatischen Texterkennung nicht nur von gedruckten Texten, wie in diesem Fall, sondern auch von Handschriften. Nach dem Hochladen der Faksimiles wurde wie folgt vorgegangen:

  1. Layout der Seiten erfassen: Ziel dieses Schrittes war es, einerseits die Grundlinien bzw. »baselines« der Zeilen und andererseits die Seitenelemente (Seitenzahlen, Überschriften, Absätze, …) mittels »text regions« zu erfassen. Ersteres dient als Ausgangsbasis für die automatische Texterkennung, Letzteres zur Strukturierung der Transkription. Mehrere von Transkribus zur Verfügung gestellte Layout-Analyse-Engines wurden getestet und die geeignetste eingesetzt. Das Ergebnis wurde anschließend überprüft und gegebenenfalls korrigiert.
  2. Textbereiche annotieren: Ziel dieses Schrittes war es, die Textregionen zu benennen. Die untenstehende Tabelle zeigt, welche Bezeichnungen verwendet wurden. P2PaLA ist ein Layout-Analysewerkzeug, das Strukturtypen auf Regionsebene und Grundlinien einer Seite auf der Basis von vortrainierten Modellen erkennt und diesen Schritt erheblich erleichterte. Auch hier wurde das Ergebnis kontrolliert und gegebenenfalls korrigiert.
  3. Texterkennung: Die Erstellung einer Transkription des Faksimiles war das Ziel dieses Schrittes. Da die von Transkribus zur Verfügung gestellten Modelle nicht mit Hochstellungen umgehen konnten, wurden eigene Modelle trainiert. Dazu wurden etwa 75 Seiten eigenhändig transkribiert. Die Modelle lieferten Transkriptionen mit durchschnittlich 1-2 Fehlern pro Seite. Diese wurden dankenswerterweise von Frau Sabine Kofler korrigiert.

Die Bände 1-3 wurden als PAGE XML-Dateien exportiert. Dabei wurden pro Band Dateien generiert für die Einleitung und jenen Abschnitt, der die Briefe beinhaltet.

Bände 4 und 5

Die Bände 4 und 5 wurden vom Verlag der Österreichischen Akademie der Wissenschaften als PDF-Dateien übermittelt. Da es sich um textbasierte PDF-Dateien handelt, konnte der Text aus diesen extrahiert werden. Um den Workflow, der für die Bände 1 bis 3 vorgesehen war, zu übernehmen, entschied man sich, auch für diese Bände PAGE XML-Dateien zu erstellen. Dabei wurde ähnlich vorgegangen wie bei den Bänden 2 und 3. Nach dem Hochladen der Faksimiles wurden folgende Schritte unternommen:

  1. Layout der Seiten erfassen: siehe oben
  2. Textbereiche annotieren: siehe oben
  3. Text einfügen: Im Transkribus-Desktop-Client besteht die Möglichkeit, Faksimiles auf Basis von Grundlinien mit vorhandenen Transkriptionen zu synchronisieren. Dazu muss für jedes Faksimile eine TXT-Datei zur Verfügung stehen. Zu diesem Zweck wurde der Text aus den PDF-Dateien extrahiert und mittels eines Python-Skripts pro Seite eine TXT-Datei erstellt. Diese TXT-Dateien dienen dann als Grundlage für die Synchronisation.

Anschließend wurden wieder PAGE XML-Dateien exportiert.

Erstellung der TEI-Dokumente

Hauptbestandteile eines TEI-Dokuments sind das teiHeader- und das text-Element. Im Folgenden wird darauf eingegangen, wie beide Teile zustande kamen und wie sie zusammengesetzt wurden.

teiHeader

Um den teiHeader zu erstellen bediente man sich Goobi und Python.

Goobi

Goobi ist eine Open Source Software-Suite, die für die Digitalisierung und Verwaltung von Kulturgut entwickelt wurde. Nach dem Einlesen der Faksimiles wurde jeder Brief als eigenes Strukturelement in der Webanwendung erfasst und mit Normdaten zu den an der Korrespondenz beteiligten Personen und Orten angereichert. Das Ergebnis sind METS-Dateien.

Python

Zur Erstellung der teiHeader-Elemente wurden zwei Python-Skripte benötigt.

Das erste Skript nutzte die von Goobi exportierten METS-Dateien als Input. Das Ergebnis waren fünf XML-Dokumente (eines pro Band) mit je einem Root-Element, das für jeden Brief ein correspDesc-Element enthielt.

Für jeden Band wurde eine Vorlage für den teiHeader erstellt, die Informationen zu titleStmt, publicationStmt und sourceDesc beinhaltete. Ein weiteres Python-Skript kombinierte diese teiHeader-Vorlage für jeden Brief mit dem entsprechenden correspDesc-Element. Das Ergebnis war ein XML/TEI-Dokument pro Band, mit einem Root-Element, das für jeden Brief ein TEI-Element enthielt. Jedes TEI-Element beinhaltete einen nahezu vollständigen teiHeader (abgesehen vom Regest und der Archivsignatur, die im Nachhinein hinzugefügt wurden) sowie ein leeres text-Element.

text

Für die Erstellung des text-Elements wurde das XSLT-Stylesheet "page2tei-0.xsl" und wiederum Python verwendet.

page2tei-0.xsl

Mithilfe des auf GitHub gehosteten XSLT-Stylesheets page2tei-0.xsl von Dario Kampkaspar wurden die zehn PAGE XML-Dateien, die als Export aus Transkribus vorlagen (pro Band je eine für die Einleitung und eine für den Briefteil), in TEI/XML-Dateien transformiert. Dabei wurden auf Grundlage der in Transkribus definierten Strukturtypbezeichnungen TEI-konforme Elemente erzeugt.

Python

Die mit dem genannten Stylesheet konvertierten Dateien stellten jedoch noch keine vollständig TEI-konformen Dokumente dar. Obwohl jeder Brief nun als eigenständiges TEI-Dokument mit Elementen wie head, p und note vorliegt, sind weitere Anpassungen erforderlich, um korrekte TEI-Dokumente zu erhalten. So muss beispielsweise der Fußnotenapparat in ein In-Text-Zitationssystem umgewandelt werden. Außerdem müssen durch Seitenumbrüche unterbrochene Paragraphen (dargestellt als p für den ursprünglichen Paragraphen, pb für den Seitenumbruch und ab[@type="paragraph-continued"] für die Fortsetzung) wieder zusammengesetzt und die bereits erstellten teiHeader hinzugefügt werden.

Hierfür wurde Python verwendet. Nach dessen Ausführung erhielt man für jeden Band ein TEI/XML-Dokument mit einem Root-Element, das für jeden Brief ein TEI-Element beinhaltete. Dieses enthielt einen teilweise leeren teiHeader (Regest und Archivsignatur wurden von der Transkription in den teiHeader übernommen) und ein korrekt ausgefülltes text-Element.

Die folgende Tabelle zeigt für jeden Schritt die Bezeichnung des jeweiligen Seitenelements. Unter „Transkribus“ ist die Strukturtypbezeichnung in Transkribus angegeben (wie im Schritt „Textbereiche annotieren“ erwähnt), „page2tei-0.xsl“ bezieht sich auf die Elementbezeichnung im Output von „page2tei-0.xsl“, und „Zielstruktur“ gibt die Bezeichnung im finalen TEI-Element an.

Seitenelement Transkribus page2tei-0.xsl Zielstruktur
Diese Elemente sind in allen Bänden vorhanden
Seitennummer page-number //fw[@type="page-number"] //pb[@xml:id]
Briefnummer letter-number //ab[@type="letter-number"] //TEI[@xml:id] | //head[@n]
Briefkopf heading //head //head[@n]
Regest editors-note //ab[@type="editors-note"] //abstract/p
Regest-Fortsetz. editors-note-continued //ab[@type="editors-note-continued"] //abstract/p
Quellenangabe msIdentifier //ab[@type="msIdentifier"] //msIdentifier/collection
Paragraph paragraph //p //body/div/p
Paragraph-Fortsetz. paragraph-continued //ab[@type="paragraph-continued"] //body/div/p
Fußnotenapparat footnote //note[@n="[footnote reference]"] //note[@xml:id and @type="footnote"]
Fußnotenapparat-Fortsetz. footnote-continued //note[@n="[footnote-continued reference]"] //note[@xml:id and @type="footnote"]
Diese Elemente sind zusätzlich in den Bänden 4 und 5 vorhanden
Verweis auf gedruckte Ausgaben des Briefes druck //ab[@type="druck"] //sourceDesc/bibl[@type="druck"]
Verweis auf Beilage beilage //ab[@type="beilage"] //sourceDesc/bibl[@type="beilage"]
Diese Elemente sind zusätzlich im Band 5 vorhanden
Verweis auf externes Regest regest //ab[@type="regest"] //sourceDesc/bibl[@type="regest"]
Textkritischer Apparat sigla-footnote //ab[@type="sigla-footnote"] //note[@xml:id and @type="siglum"]

Nachdem teiHeader und text für jeden Brief vorhanden gewesen sind, wurden die beiden Teile mit einem weiteren Python-Skript zusammengefügt, womit die Erstellung der TEI-Dokumente abgeschlossen war.

Static Site generieren mit DSE-Static-Cookiecutter

Nach der Erstellung der XML/TEI-Dateien, die auf dieser Website darstellt werden, wurden XSLT-Dateien erzeugt, um mittels einer ant build.xml-Datei HTML-Seiten zu generieren. Dieser Schritt basiert auf dem Static Site Generator DSE-Static-Cookiecutter.