Dieser Beitrag ist im Rahmen meines Reisestipendiums für die DHd 2023 Open Humanities Open Culture vom 13. bis 17. März 2023 entstanden. Ich möchte mich an dieser Stelle herzlich bei der Gerda Henkel Stiftung und den Organisator:innen bedanken, die mir die Teilnahme an der Tagung ermöglicht haben.
1. Einleitung
Den meisten Konferenzen, so auch der Tagung des Verbands Digital Humanities im deutschsprachigen Raum, ist ein Workshopprogramm dem Vortragsprogramm vorangestellt, das sich durch ein weites Format- und Themenspektrum auszeichnet. In diesem Jahr (2023) wurde sich bei der DHd sowohl in Form eines Hackathons und Netzwerktreffens über Data Feminism ausgetauscht, über die ökologischen Aspekte der Arbeit in den DH diskutiert als auch in verschiedenen methoden- bzw. toolfokussierten Workshops in die kürzlich veröffentlichen Python-Packages GitMA (Vauth et al. 2021a) und MONAPipe (Dönicke et al. 2022) eingeführt. Beide Packages wurden im Kontext der Computational Literary Studies (CLS) entwickelt, lassen sich aber auch darüber hinaus in Projekten der DH anwenden: Mit GitMA lassen sich Annotationsprojekte, die mit CATMA (Gius et al. 2022) durchgeführt wurden, mit Hilfe von Python analysieren. In der MONAPipe werden Systeme aus verschiedenen narratologischen Forschungsprojekten zusammengeführt und in einer anpassbaren spacy-Pipeline (Honnibal et al. 2021) über Python ausführbar gemacht.
Im Folgenden geht es um die Erfahrungen aus dem GitMA- und dem MONAPipe-Workshop, angefangen mit einer Beschreibung des Formats, weiter mit einem Überblick über den Inhalt und abschließend mit einem kurzen Fazit.
2. GitMA
Die Voraussetzungen für die Teilnahme an dem GitMA-Workshop bestanden einerseits in der allgemeinen, technischen Kenntnis der Programmiersprache Python, andererseits in der speziellen Kenntnis des Annotationstools CATMA und damit einhergehend auch in der Kenntnis der verschiedenen Aspekte der Methode des Annotierens. Diese beinhalten z.B.:
- Die Voraussetzungen: Es werden klar definierte Annotationskategorien und -einheiten benötigt.
- Die Praxis selbst: Die Kategorien werden Annotationsrichtlininen folgend an den Untersuchungsgegenstand (in diesem Fall Text) angelegt und durch Markierung gekennzeichnet. Es sollte dabei bestenfalls mehrere Annotator:innen geben, deren Annotationen verglichen werden können.
- Die Anwendungsszenarien: In den CLS zum Beispiel für die Bearbeitung von narratologischen Fragestellungen.
Der Aufbau des Workshops bestand in einem Wechselspiel aus theoretischem Input verschiedener Länge sowie dem Vorführen der Tools CATMA und GitMA und praktischen Einheiten, in denen wir, die Teilnehmenden, mit Hilfe von zur Verfügung gestellten Jupyter Notebooks GitMA ausprobieren und auch auf unseren eigenen Annotationsprojekten ausführen konnten. Die Notebooks wurden über einen Docker-Container bereitgestellt. So können wir auf Grund der lokalen Ausführung auch nach dem Workshop noch mit den Materialien weiterarbeiten.
Angefangen wurde der Workshop mit einem Schnelldurchlauf durch CATMA, in dem gezeigt wurde, was CATMA, als ein für traditionell geisteswissenschaftlich arbeitende Nutzer:innen ausgelegtes Tool, leisten kann und wo eine Weiterverarbeitung der Annotationen mit anderen Tools wie GitMA notwendig wird. So ist es mit CATMA möglich, zusätzlich zur Kernfunktionalität der manuellen Annotationen, einen Text halbautomatisch zu annotieren und einfache Visualisierungen zu erstellen. Für komplexere Visualisierungen und für den Vergleich von mehreren Annotationen desselben Text mit denselben Kategorien müssen die annotierten Daten außerhalb von CATMA weiterverarbeitet werden.
Dort setzt GitMA an, ein Python-Package mit dem die Annotationen, die im Hintergrund zeichengenau in einem GitLab Repository gespeichert sind, geladen und untersucht werden können. GitMA bietet Methoden zur – teilweise visuellen – Exploration der geladenen Projekte (siehe Abb. 1), zur Erstellung der finalen Gold-Annotationen und zum Vergleich von mehreren Annotationen mit Hilfe verschiedener Inter-Annotator-Agreement (IAA) Metriken (siehe Abb. 2).[1]
Der Vergleich von Annotationen wurde in einem besonders ausführlichen, theoretischen Input besprochen, da das IAA je nach Annotationsaufgabe unterschiedlich berechnet werden kann, es verschiedene Formen des Disagreements gibt, die wiederum verschiedenen zu interpretieren sind. In diesem Input wurde, aufbauend auf den Erfahrungen der Workshop-Gebenden, besonders betont, dass sowohl für die Anwendung als auch für die Interpretation der statistisch teils sehr komplexen Metriken (wie Gamma (Mathet et al. 2015)) ein gewisses Methodenverständnis notwendig ist, da ansonsten schnell plausibel klingende, aber dennoch falsche Schlüsse aus den vorliegenden Ergebnissen und Visualisierungen gezogen werden können. Deswegen sollte dieses Thema in den Diskussionen der Foschungscommunity noch mehr Platz einnehmen.
Im Zuge der Einführung in GitMA wurde auch auf die Motivation aus der GitMA entstanden ist – das Tool wurde im Rahmen der Dissertation von Vauth (2023) programmiert – und wo es schon Anwendung gefunden hat (z.B. im EvENT-Projekt) verwiesen, was zur Folge hat, dass es vorrangig für bestimmte Anwendungsfälle (wie dem Berechnen von IAA-Metriken) erstellt und erweitert wurde. So wurde sowohl die Struktur als auch die Auswahl der integrierten Funktionen gut nachvollziehbar.
Sowohl in den theoretischen als auch in den praktischen Abschnitten des Workshops wurden wir dazu ermutigt, Fragen zu stellen und diese auch in größerer Runde zu diskutieren. So hat sich in diesem synchronen Format ein angenehmes Hin und Her ergeben, das besonders durch den Austausch der Erfahrungen der Workshop-Gebenden, aber auch der Teilnehmenden gewinnbringend war. Die Workshop-Gebenden haben zudem immer wieder betont, dass sie CATMA und GitMA nicht nur entwickeln, sondern auch supporten und ein großes Interesse an der Weiterentwicklung der Tools haben, die auf die Bedarfe der Community abgestimmt sein soll. So wurde betont, dass User:innen durch ihre Tool-Erfahrungen und ihre Tool-Kritik zu Mitwirkenden werden und zur Verbesserung der Tools beitragen können.
3. MONAPipe
Für den MONAPipe-Workshop gab es nur die allgemeine, technische Voraussetzung der Programmierkenntnisse mit der Sprache Python. Der Workshop war bis auf eine Präsentation zu Beginn des Workshops ausschließlich praktisch ausgelegt. In der einführenden Präsentation wurden verschiedene Analyseschritte aufgezeigt, die auf (literarischen) Texten ausgeführt werden können, von der Vorverarbeitung durch Lemmatisierung und POS-Tagging bis hin zur komplexeren Annotation von z.B. Koreferenzen. Da die Schritte teilweise aufeinander aufbauen, z.B. wird bei der Dependenzannotation mit den POS-Tags aus einem vorherigen Schritt gearbeitet, werden diese in Natural Language Processing (NLP) Tasks oft in einer Pipeline nacheinander verschaltet, so auch in der Python Library spacy, die sowohl in der Industrie als auch in der Forschung viel Anwendung findet. Die Pipelines, die in spacy implementiert sind, sind leicht benutzbar und anpassbar. In dem MONA-Projekt wurde sich dies zu Nutze gemacht: Die spacy-Standard-Pipeline wurde um Modelle, die im Rahmen verschiedener CLS-Projekte entstanden sind, erweitert, so z.B. einem Modell zur Event-Classification (Vauth et al. 2021b) (siehe Abb. 3). Die erweiterte Pipeline wurde mit dem Namen MONAPipe (Modes of Narration and Attribution Pipeline) als Python-Package veröffentlicht.
In MONAPipe wurde über eine Sammlung an Jupyter Notebooks eingeführt. Die Notebooks wurden auf einem JupyterHub der Universität Göttingen ausgeführt, was eine lokale Installation umgeht, allerdings den Nachteil mit sich bringt, dass die Notebooks nur im Rahmen des Workshops auf dieser Instanz ausführbar waren. In den Notebooks wurden wir sowohl theoretisch als auch praktisch an immer komplexer werdende Aufgaben herangeführt. Angefangen wurde mit einer Einführung in spacy-Workflows und spacy-Objekte, darauf aufbauend wurden die MONAPipe-Komponenten vorgestellt, die einen Überblick über state-of-the-art Modelle der CLS geben (z.B. Sentiment Analysis oder Redewiedergabeerkennung, siehe Abb. 4).
Abschließend konnten eigene Forschungsfragen entwickelt werden, deren Bearbeitung durch die Möglichkeit, Ergebnisse verschiedener Komponenten zu korrelieren, vereinfacht wird. Darüber hinaus konnten wir an einer eigenen MONAPipe-Komponente arbeiten, etwa zur Identifikation eines Ich- oder Er-Erzählers. Die Aufgaben bestanden meist nicht nur aus dem Kennenlernen und dem Anwenden einer Methode, sondern waren gerahmt durch kleinere Forschungsfragen oder dem Vergleich zweier Ansätze, z.B. die regelbasierte und die Machine Learning-basierte Erkennung von wörtlicher Rede. So wurde ein guter Einblick in Anwendungsfälle gewährt und der technisch-fokussierte Workshop hat immer wieder einen thematischen Bogen gespannt.
Der große praktische Teil wurde durch das Team des MONA-Projekts sehr gut begleitet: Wir konnten in Einzelgesprächen sowohl Fragen technischer Natur stellen, als auch Ergebnisse oder konzeptionelle Fragen diskutieren. Durch die Struktur des Workshops wurde auch der Austausch mit den Nachbar:innen gefördert, was zu einer sehr angenehmen Arbeitsatmosphäre geführt hat.
4. Fazit
Alles in allem waren die Workshops sehr gut dazu geeignet, Tools kennenzulernen und haben zusätzlich methodisch als auch thematisch neue Türen geöffnet, in Hinblick auf den Aufbau von Annotationsprojekten, den Vergleich von Annotationen, das Zerlegen von Forschungsfragen und das Bearbeiten von Forschungsfragen mit existierenden NLP- bzw. CLS-Modellen. Vor allem das In-Kontakt-Treten mit den Workshop-Teams und die Möglichkeit aus ihren Erfahrungen zu lernen, hat die Workshops sehr wertvoll gemacht.
Bibliographie
Dönicke, Tillmann, Florian Barth, Hanna Varachkina & Caroline Sporleder (2022). MONAPipe: Modes of Narration and Attribution Pipeline for German Computational Literary Studies and Language Analysis in spaCy. In: Proceedings of the 18th Conference on Natural Language Processing (KONVENS 2022). URL: https://aclanthology.org/2022.konvens-1.2/ [Zugriff: 12.06.2023].
Mathet, Yann, Antoine Widlöcher & Jean-Philippe Métivier (2015): The unified and holistic method gamma (γ) for inter-annotator agreement measure and alignment. In: Computational Linguistics 41.3: S. 437-479. DOI: 10.1162/COLI_a_00227.
Gius, Evelyn, Jan Christoph Meister, Malte Meister, Marco Petris, Christian Bruck, Janina Jacke, Mareike Schumacher, Dominik Gerstorfer, Marie Flüh & Jan Horstmann (2022): CATMA 6 (Version 6.5). Zenodo. DOI: 10.5281/zenodo.1470118.
Honnibal, Matthew, Ines Montani, Sofie Van Landeghem und Adriane Boyd (2020): spaCy: Industrial-strength Natural Language Processing in Python. DOI: https://doi.org/10.5281/zenodo.7970450
Schumacher, Mareike und Michael Vauth (2022): „CATMA-Annotationen auswerten, Gold Standard erstellen und Inter-Annotator-Agreement berechnen mit GitMA“. In: forTEXT. Literatur digital erforschen. URL: https://fortext.net/routinen/lerneinheiten/catma-annotationen-auswerten-gold-standard-erstellen-und-inter-annotator [Zugriff: 12. Juni 2023].
Vauth, Michael, Hans Ole Hatzel und Evelyn Gius (2021a): forTEXT/catma_gitlab: 1.0.0. Zenodo. DOI: https://zenodo.org/record/6330464.
Vauth, Michael, Hans Ole Hatzel, Evelyn Gius und Chris Biemann (2021b): Automated Event Annotation in Literary Texts. In: Computational Humanities Research Conference (CHR 2021). URL: http://ceur-ws.org/Vol-2989/short_paper18.pdf [Zugriff: 12.06.2023].
Vauth, Michael (2023): Zum Nutzen einer digitalen Narratologie der Binnenerzählung. Eine digitale Narratologie der Binnenerzählung: Untersuchungen zu den Dramen und Novellen Heinrich von Kleists. Berlin, Heidelberg: Springer. URL: https://link.springer.com/chapter/10.1007/978-3-662-67036-1_8 [Zugriff: 24.06.2023]