Über Torsten Hiltmann

Torsten Hiltmann is Juniorprofessor for the High and Late Middle Ages and Auxiliary Sciences at the University of Münster. He is interested in new approaches to late medieval and early modern heraldry, the medieval notion of kingship and the methods and technologies of Digital Humanities. On hypotheses.org, he is maintaining, among others, the blog “Heraldica Nova”.

Call for Articles: Themenheft „Digitale Mediävistik“ – Zeitschrift „Das Mittelalter“ des Mediävistenverbandes

Der Mediävistenverband e.V. veröffentlicht seit 1996 die halbjährlich erscheinende Zeitschrift „Das Mittelalter. Perspektiven mediävistischer Forschung“. Für 2019 ist ein Themenheft mit dem Titel „Digitale Mediävistik“ vorgesehen, das gemeinsam von Roman Bleier (Zentrum für Informationsmodellierung, Universität Graz), Franz Fischer (Cologne Center for eHumanities der Universität zu Köln), Torsten Hiltmann (Universität Münster), Gabriel Viehhauser (Universität Stuttgart) und Georg Vogeler (Zentrum für Informationsmodellierung, Universität Graz) herausgegeben wird.

Bewerbungsfrist: 30. November 2017
Autorenkonferenz in Stuttgart: 13./14. September 2018

Elektronische Informationstechnolgien sind dabei, die Arbeitsweisen der mediävistischen Forschung grundlegend und nachhaltig zu verändern. Gerade mediävistische Forschungsprojekte gehören zu den Motoren einer digitalen Durchdringung der geisteswissenschaftlichen Forschung, und dies bereits seit den Tagen des Jesuitenpaters Roberto Busa (1913-2011), dessen Index zu den Werken des Thomas von Aquin als das erste Digital-Humanities-Projekt überhaupt gilt.

Seither sind die Auswirkungen der Digitalisierung auf die Mediävistik einerseits anhand der rasant steigenden digitalen Verfügbarkeit von Quellen und Forschungsergebnissen spürbar. In stetig wachsendem Umfang kann in Form hochaufgelöster Digitalisate, digitaler Archive und Editionen auf Primärquellen zugegriffen werden, und die Palette von digitalen Methoden, die in der mediävistischen Forschung zum Einsatz kommen, reicht von Algorithmus-basierten Analyseverfahren historischer Textcorpora über automatische Bilderkennung, Netzwerkanalyse und geographische Informations-systeme, bis hin zur formalen Erschließung von Daten und Informationen mit Technologien des Semantic Web. Andererseits verändert die Anwendung digitaler Hilfsmittel und Methoden sowohl die Forschungsprozesse als auch die Fragestellungen selbst. Daher gilt es, deren Nutzen und Auswirkungen auf unser Verständnis vom Mittelalter zu beleuchten. Das ist umso dringlicher, als eine inter- und transdisziplinär ausgerichtete digitale Forschungspraxis in allen Bereichen der Mediävistik Einzug hält.

Das Themenheft soll anhand aktueller Forschungsprojekte einen Überblick über die in der mediävistischen Forschung genutzten Methoden der Digital Humanities geben und deren Einsatz in der Praxis diskutieren und bewerten. Es soll damit eine Orientierung auf dem Gebiet der digitalen Mediävistik bieten und zugleich vereinzelte Aktivitäten im deutschsprachigen Raum zusammenführen. Vor allem aber soll es zur Reflexion anregen, welche neuen Erkenntnisse über die Welt des Mittelalters mit Hilfe digitaler Methoden, Werkzeuge und Ressourcen gewonnen werden können.

Die Beiträge können beispielsweise folgende Themenbereiche behandeln:

  • Mediävistik und Computer Vision (Bilderkennung)
  • Mediävistik und Netzwerkanalyse
  • Mediävistik und geographische Informationssysteme
  • Mediävistik und Semantic Web
  • Digitale Erschließung und Präsentation von mediävistischen Daten und Informationen
  • Text-mining und automatische Sprachverarbeitung in der Mediävistik

Zeitplan

30. November 2017 Frist für die Einsendung der Vorschläge
15. Januar 2018 Zusage an die Autoren
1. Juli 2018 Einsenden der ausformulierten und formatierten Beiträge zum Peer Review
13./14. September 2018 Autorenkonferenz in Stuttgart
30. November 2018 Frist für die Abgabe der überarbeiteten Beiträge
Juni 2019 Erscheinen des Themenhefts

 

Bitte schicken Sie ihren Vorschlag für einen Beitrag als max. zweiseitigen Abstract bis zum 30. November 2017 an Roman Bleier (roman.bleier[at])uni-graz.at).

Automatische Kollationierung – Zur projektbezogenen Adaption von CollateX für digitale Texteditionen

Code and collate - Workshop Amsterdam (photo: Ellie Bleeker)

Code and collate – Workshop Amsterdam (photo: Ellie Bleeker via Twitter)

Die Erstellung digitaler Editionen ist ein zentraler Arbeitsbereich der Digitalen Geschichtswissenschaften. Die bisher zur Verfügung stehenden Werkzeuge und Arbeitsumgebungen, die ja nicht nur uns Historiker sondern alle textbasierten Wissenschaften betreffen, bleiben dabei aber häufig hinter dem zurück, was man sich hierfür wünscht oder vorstellen kann. Dies gilt auch für das automatische Kollationieren. Doch wie sich auf dem „Code and Collation“ Workshop  gezeigt hat, der vom 2. bis 4. November in Amsterdam stattfand, gibt es hier deutliche Fortschritte zu verzeichnen.

Das Problem – analog

Wenn man an der Edition eines Textes arbeitet, der gleich in mehreren Textzeugnissen überliefert ist, stellt sich immer erst einmal die Frage, welche der Überlieferungen man dem zu erstellenden Editionstext zugrunde legen soll. Mit den Möglichkeiten der digitalen Edition hat sich dieses Problem deutlich vereinfacht. So kann man bei einer digitalen Edition, z.B. unter Verwendung von XML/TEI, mit irgendeinem der Texte beginnen und die anderen Textzeugnisse dann sukzessive einarbeiten. Die Reihenfolge spielt keine Rolle mehr, da bei digitalen Editionen der Prozess der Erstellung des Editionstextes vom Prozess der späteren Darstellung dieses Textes getrennt ist. Erst bei der Veröffentlichung muss man sich tatsächlich entscheiden, welchem der Textzeugnisse man als Basistext den Vorzug gibt, ob man eine synoptische Darstellung präferiert (z.B. mit der Versioning machine), oder ob man dem Leser selbst die Entscheidung überlässt.

Die Probleme – digital

Also alles ganz einfach? Natürlich nicht. Denn wenn man einmal versucht hat – so wie wir in unserem Editionsprojekten zum Obsequientraktat – 36 verschiedene, teils stark voneinander abweichende Textzeugnisse samt Transpositionen, Kontaminationen, Textverlusten usw. in eine Datei zu bringen, der weiß das. Durch die Baumstruktur des XML-Formats geht rasch der Überblick verloren.

Die Alternative wäre daher, die Texte zunächst einmal unabhängig voneinander zu transkribieren und gegebenenfalls bereits zu annotieren. Das heißt, die Textzeugnisse zunächst einmal einzeln vorzubereiten und erst in einem zweiten Schritt im Rahmen einer automatischen (bzw. semi-automatischen) Kollationierung zusammenzuführen.

Was einfach klingt, ist es wie immer nicht. Zwei wesentliche Probleme stellen sich:

  1. Die Kollationierbarkeit der Texte: Die bisher zur Verfügung stehenden Hilfsmittel können nur schwer mit stark abweichenden Graphien umgehen und lassen sich kaum dem eigenen Material anpassen.
  2. Das XML-Format Problem: Will man darüber hinaus statt einfachem plain text bereits annotierte XML Dateien miteinander kollationieren, stößt man rasch an die Grenzen des Möglichen. Denn die Regel der Wohlgeformtheit und die Notwendigkeit der Segmentierung des Textes im Rahmen der Kollationierung schienen einander auszuschließen.

Bis vor kurzem funktionierte das Ganze für unser Projekt auch entsprechend leidlich, stand uns doch nur die Out of the Box – Lösung von CollateX hier zur Verfügung. Aufgrund des wenig zufriedenstellenden Ergebnisses waren wir gezwungen, die Texte erst einmal mit Hilfe einer größeren Konkordanzliste für abweichende Graphien auf eine einheitliche Graphie zu bringen und erst diese dann mit Hilfe von CollateX zu kollationieren. Das noch immer nicht ganz zufriedenstelle Output haben wir daraufhin in eine Excel-Tabelle übertragen und dort weiterbearbeitet, bis hin zum Abgleich mit den jeweiligen Textvorlagen und der Annotierung.

CollateX in Python individuell den eigenen Projektanforderungen anpassen

Mittlerweile aber wurde die Leistungsfähigkeit von CollateX weiter ausgebaut. Zudem gibt es die Möglichkeit, den in Python geschriebenen Code selbst zu ändern und an die eigenen Anforderungen anzupassen. Wie das geht, wurde auf dem DiXiT-Workshop vom Huygens Institut in Amsterdam vorgestellt. Die Unterlagen für den Workshop mit ausführlichen Anleitungen sind auf GitHub zugänglich.

Die einzelnen Arbeitsschritte

Um den Code seinen eigenen Anforderungen anzupassen, muss man zunächst einmal wissen, wie dieser funktioniert. Also, wie sieht der Kollationierungsprozess konkret aus?

Das Ganze läuft in drei wesentlichen Etappen ab: Tokenisierung, Normalisierung, Kollationierung.

Tokenisierung: nachdem das einzelne Textzeugnis eingelesen wurde, wird der Text in einzelne Abschnitte unterteilt. In der Grundeinstellung geschieht dies nach Wörtern, d.h. Abfolgen von Buchstaben und Zahlen, auf die ein Leerzeichen folgt. Durch die Möglichkeit, direkt mit dem Python Code von CollateX zu arbeiten, kann man diese als Regular expressions (REGEX) formulierte Regel aber umschreiben. So kann man z.B. bei französischen Texten selbst entscheiden, wie man mit Apostrophen umgehen möchte, ob z.B. „d’armes“ als ein Token oder als zwei Token behandelt werden soll, also „d’armes“ oder „d'“ und „armes“. Oder man kann entscheiden, ob Satzzeichen eigene Token darstellen sollen oder nicht, um diese dann entsprechend bei der Kollationierung berücksichtigen zu können.

Normalisierung: hier wird der Text, wie der Name schon sagt, normalisiert. Nur eben nicht, wie bei unserem Workaround, der zu kollationierende Text. Vielmehr werden die einzelnen Token jeweils durch ein Dictionary ersetzt, also eine Verbindung von zwei Werten, die als Key die ursprüngliche Schreibweise des jeweiligen Wortes enthält (im Script der t-Wert) und als Wert die normalisierte Fassung des jeweiligen Wortes (im Script der n-Wert). Für die Kollationierung wird dann nur noch der n-Wert herangezogen, ausgeben läßt sich aber auch der damit verbundene t-Wert. Und auch hier kann man die Regeln für die Normalisierung der Wörter und damit zur Erstellung der n-Werte mit REGEX anpassen. So lassen sich z.B. bestimmte Buchstabenfolgen, deren unterschiedliche Schreibung während der Kollationierung nicht berücksichtigt werden soll, gleichsetzen oder Kürzungen auflösen, wenn diese bei der Kollationierung keine Rolle spielen sollen. Im Rahmen des Workshops haben wir für das Material des Obsequientraktates beispielsweise ein Script erstellt, welches die Wörter im n-Wert aufgrund unserer Konkordanz für abweiche Graphien mit einer vereinheitlichten Schreibung ersetzt, ohne dass dies auf den eigentlichen Textbestand Einfluss hätte (den entsprechenden Code werden wir ebenfalls auf GitHub zur Verfügung stellen).

Kollation mit Hilfe einer Konkordanzliste für abweichende Graphien (vgl. insb. iiij/quatre und cherges/cierges)

Kollation mit CollateX, erweitert um eine eigene Konkordanzliste für abweichende Graphien. An dieser Stelle wurden „iiij“ und „quatre“ zu quatre sowie „cherges“ und „cierges“ zu cierges vereinheitlicht, die sonst als abweichende Textsegmente ausgegeben worden wären.

Kollationierung: aufgrund der n-Werte werden die verschiedenen Textzeugnisse dann verglichen und aneinander ausgerichtet (aligned) bzw. gemappt. Denn zumindest der Dekker-Algorithmus ist auch in der Lage, mit Texttranspositionen umzugehen. Wie das alles genau funktioniert, ist etwas zu komplex, um es hier darzustellen. Grob gesagt aber läuft das so ab, dass die Maschine die Texte linear Token für Token durchgeht und nach Übereinstimmungen sucht. Passen die Token der beiden Textzeugnisse zusammen, werden diese gematcht, dann wird nach dem nächsten Match gesucht (im Idealfall das nächste Wort), usw. Kann keine Entsprechung gefunden werden, bleibt der Platz im anderen Text leer und es wird eine Auslassung angenommen, bis es wieder passt.

Bisher wurden dabei immer nur die gesamten Token abgeglichen, was bei abweichenden Graphien zu stark verschobenen Ergebnissen führte. Schließlich wurden ja immer nur eindeutige Matches akzeptiert. Doch bietet CollateX jetzt ein neues Feature: Near-Matching. Mit diesem Feature (als Argument zur collate Funktion) wird nicht mehr nur die Ähnlichkeit der Texte berechnet, sondern auch der einzelnen Token. Das heißt, die Maschine kann beim Abgleich der Token erkennen, dass „doivent“ und „doibvent“ das gleiche Wort mit einer leicht veränderten Orthographie wiedergeben und behandelt diese entsprechend anders als zwei völlig voneinander abweichende Token wie z.B. „doivent“ und „d’armes“. Das bringt natürlich einen erheblichen Rechenaufwand mit sich. Zudem kann man die ausgebenen Texte bisher noch nicht segmentieren, also die in den verschiedenen Kopien identischen Textteile zu größeren Segmenten zusammenfassen. Dennoch funktioniert das Feature hervorragend. Ein wesentliches Problem unseres Editionsvorhabens, das uns zuvor viel Arbeit gekostet hat, wäre damit gelöst.

Das XML-Problem

Bleibt noch die Frage der Kollationierung von Texten, die bereits annotiert als XML-Dateien vorliegen. CollateX und insbesondere David J. Birnbaum arbeiten daran, haben aber noch keine fertige Lösung für das Problem. Schließlich ist das Problem doch komplexer, geht es doch nicht nur um die einfache Kollationierung der Texte und ihrer Tags sondern auch um eine unterschiedliche Behandlung der einzelnen Tags. So sollte der Prozess unterscheiden können zwischen Elementen, die auch bei der Kollationierung eine Rolle spielen sollen (z.B. Tags zum Layout wie Zeilen- und Seitenwechsel, was besonders für literarische Texte interessant sein kann, aber auch Korrekturen oder Kürzungen) und solchen, die das Programm einfach nur durchschleifen soll.

Eine mögliche Lösung für das XML-Problem könnte hier aber auch von anderer Seite kommen. Nach eigener Aussage verfügt das schwedischen eXistdb-Projekt über eine funktionierende Lösung, die bisher aber noch nicht released wurde. Bei Bedarf kann man aber sicher schon einmal anfragen.

Die ausführlichen Unterlagen des im Rahmen des EU-finanzierten DiXit Projektes von Ellie Bleeker und Elena Spadini organisierten Workshops samt entsprechender Anleitungen und Code-Beispiele sind wie gesagt auf GitHub verfügbar (hier).

Das alles ersetzt natürlich noch lange nicht ein entsprechendes Working Environment für digitale Texteditionen, welches den Workflow bis hin zu einer Visualisierung der Ergebnisse intutitv und adaptiv abbildet, so wie man sich das wünschen würde. Aber es ist doch ein weiteres, wesentliches Puzzleteil hin zu einer leistungsfähigeren und adaptiveren digitalen Editorik.

Interoperationalität und semantisches Web für Mediävisten. Bericht zur Training School “Transmission of texts. New tools, new approaches” am IRHT Paris (31. März – 4. April 2014)

Training School am IRHT (Foto: Hanno Wijsman)

Training School am IRHT (Foto: Hanno Wijsman)

Anfang April konnte ich an einem gemeinsam von der COST Action „Medioevo Europeo“, dem Institut de Recherche d’Histoire de Textes (IRHT) und dem Projekt Biblissima organisierten Digital Humanities-Seminar teilnehmen. Unter dem Titel “Transmission of texts. New tools, new approaches”(mehr Infos: hier) standen dabei vor allem Fragen der Interoperationalität und das semantische Web im Vordergrund. Anhand konkreter Praxisbeispiele wurden hier neue Ansätze und Tools vorgestellt, die sich teilweise noch in der Entwicklung befinden, die aber zugleich auf sehr viel hoffen lassen. Damit verbunden war eine ebenfalls sehr praxisorientierte Einführung in TEI-XML und RDF. Weiterlesen