Digital Humanities

Machine Learning: Was man beim Erstellen von Trainingsdaten (für die Literaturwissenschaft) beachten sollte

Machine Learning klingt nach einer verheißungsvollen neuen Welt für die Literaturwissenschaften. Was wir alles in unsere Computer hineinschieben können, um dann nur noch konsistente Daten interpretieren zu müssen… Wenn man dann allerdings anfängt, sich so richtig damit zu beschäftigen und die Verfahren anzuwenden, merkt man schnell: Da ist noch nicht viel literaturwissenschaftlich konsistent. Das Problem ist, dass es noch viel zu wenig Trainingsmaterial gibt, um unseren Computern das literaturwissenschaftliche Lesen beizubringen. Also müssen wir selber Trainingsdaten erstellen. Aber wie müssen die aussehen? Dazu habe ich ein paar Tests gemacht, deren Ergebnisse ich heute mit euch teilen möchte.

Was sind Trainingsdaten

Der Begriff Trainingsdaten klingt trocken, klinisch und irgendwie nicht geisteswissenschaftlich. Außerdem ist er mehr als nur ein wenig irre führend, denn er hört sich doch so an, als gäbe es irgendwo lauter Daten, die man nur noch abgreifen müsste. Nun, das täuscht. Trainingsdaten für Machine Learning sind, vereinfacht ausgedrückt, Beispiele, anhand derer ein Algorithmus lernen kann, eine bestimmte Datenkategorie zu erkennen. Da ist es schon wieder dieses Wort “Daten”, das im Prinzip immer noch im Unklaren lässt, worüber ich hier spreche. Also, ein Beispiel: In meiner Doktorarbeit untersuche ich ja die literarische Kategorie des Raumes. Dafür trainiere ich ein Machine-Learning-Tool so, dass es (hoffentlich) Raumausdrücke automatisch erkennt. Meine Trainingsdaten sind also literarische Texte, in denen ich Raumausdrücke markiert habe. Diese Beispiele kann der Algorithmus des Tools vergleichen und daraus lernen, was ich unter Raumausdrücken in literarischen Texten verstehe.

Wie kann ich selbst Trainingsdaten erstellen?

Nun, wenn du diesen Blog häufiger liest, ist dir bestimmt schon klar, dass ich mich nicht mit Büchern und Textmarkern hinsetze, um Raumausdrücke in literarischen Texten zu markieren. Trotzdem fragst du dich vielleicht, wie genau meine Trainingsdaten denn nun aussehen. Und hier wird es etwas knifflig. Denn das genaue Format der Daten hängt von dem Tool ab, dass du nutzen möchtest. Gemeinsamer Nenner ist erstmal nur, dass sie digital vorliegen müssen.
Das heißt, wenn du selbst ein Trainingskorpus für ein Machine-Learning-Tool erstellen willst, musst du erst einmal herausfinden, welches Format dieses Tool braucht. Viele Tools, die ich kenne, brauchen reine Textformate wie txt oder csv. Manche können auch xml verarbeiten. Sehr gängig ist in den Digital Humanities das TEI-xml-Format, eine standardisierte Variante von xml, die zulässt, dass viele Metadaten und damit Zusatzinformationen in der Textdatei gespeichert werden können, ohne das das Tool diese zum Primärtext zählt.

Kategorien annotieren

Wenn du Texte hast, die im richtigen Format sind, um als Trainingsdaten für dein Tool zu fungieren, so geht es daran, die Kategorien, die der Algorithmus lernen soll, im Text zu markieren. Bleiben wir beim Beispiel meines Doktorarbeitsthemas, der Kategorie Raum. Ich muss also jeden Raumausdruck im Text als solchen kennzeichnen. Das macht man meistens in Form eines sogenannten Inline-Markups. Man fügt dabei in den Text kurze sogenannte xml-Tags ein, die zeigen, wo ein Raumausdruck beginnt und wo er endet. Es kann auch sein, dass ein Tool Trainingsdaten nur in Form von Tabellen auswerten kann. Das ist z.B. beim Stanford-Named-Entity-Recognizer ​(Finkel, Grenager and Manning, 2005)​ so, einem Tool, das ich außerordentlich gern nutze und das nicht nur für meine Dorktorarbeit, sondern auch im m*w-Projekt, von dem ich hier ja schon öfter berichtet habe.

Trainingsdaten in die richtige Form bringen

Für dieses Tool wandle ich meine Trainingstexte erst in Ein-Wort-Listen um und dann in eine Tabelle, in der in der linken Spalte diese Liste steht und in der Rechten in jeder Zeile, also hinter jedem Wort, ein O. Das steht für Other und muss natürlich an den Stellen durch Bezeichnungen meiner Kategorien ersetzt werden, an denen Raumausdrücke stehen. Oder im m*w-Projekt, in dem wir ja Genderstereotype untersuchen, an den Stellen, an denen weibliche, männliche oder genderneutrale Figurenbezeichnungen auftauchen ​(Schumacher, 2020)​.

Machine Learning verspricht eine schöne neue Welt für die Literaturwissenschaften, aber wie genau müssen Traingsdaten zusammengesetzt sein, damit du sie literaturwissenschaftlich einsetzen kannst? #Literaturwissenschaft #DigitalHumanities #Bildung #Technik

Was muss ich bei der Zusammenstellung von Trainingsdaten beachten?

Je nachdem welches Ziel du ins Auge gefasst hast, können deine Trainingsdaten recht unterschiedlich aussehen. Wenn du z.B. bei der Analyse eines sehr umfangreichen Romans einfach etwas Zeit sparen möchtest, indem du Figuren automatisch annotieren lässt, so kann es reichen das erste Kapitel dieses Romans als Trainigsdaten aufzubereiten. Da Trainingstext und Analyse-Gegenstand sehr, sehr ähnlich sind (gleicher Schriftsteller, gleicher Roman, nur unterschiedliche Passagen im Text) kann ein Machine-Learning-Tool damit schon ganz gute Ergebnisse erzielen.

Nehmen wir aber an, du möchtest mit Hilfe von Machine Learning ein generisches Tool trainieren, dass du auf ganz unterschiedliche Texte anwenden kannst, so wird es für den Algorithmus natürlich etwas schwieriger. Ein Schriftsteller kann in einem Text andere Raumausdrücke nutzen als im ersten. Andere Schriftsteller stellen diese Kategorie vielleicht ganz anders dar. Und in anderen Jahrhunderten gab es wohl möglich nicht nur andere Schreibweisen für dieselben Raumausdrücke, sondern vielleicht auch ganz andere Wendungen, die doch auch zur Darstellung von Raum genutzt wurden. Die Lösung für solch komplexe Anwendungsfälle sind große Trainingskorpora, die aus mehreren Texten unterschiedlicher Autoren zusammengeschnitten sind.

Größe des Trainingskorpus

Die Größe deines Trainingskorpus kann tatsächlich entscheidend sein. Je komplexer die Kategorien, die du automatisch erkennen lassen möchtest, desto größer sollte das Trainingskorpus sein. Zum Glück gibt es bereits ein paar Forscher, die sich mit der Domänenadaption von Machine-Learning-Verfahren beschäftigen. Das heißt sie testen, was man tun muss, um mit den ursprünglich in anderen Disziplinen, wie z.B. der Computerlinguistik entwickelten Tools literaturwissenschaftlich arbeiten zu können. Jannidis et al. haben für die automatische Erkennung von Figurennamen in Erzähltexten z.B. festgestellt, dass ein Trainingskorpus von 30.000-40.000 Tokens ein guter Ausgangspunkt ist (Jannidis ​et al.​, 2015). Von hier aus kann man die Trainingsdaten dann nach und nach vergrößern (vgl. ebd.). Mit Tokens sind in diesem Fall Wörter im Fließtext gemeint, also Wörter, die auch mehr als ein Mal genannt werden können. Wenn ich ein Machine-Learning-Tool trainiere, fange ich darum immer mit einem Trainingskorpus dieser Größe an und erweitere es dann Stück für Stück.

Jannidis et al. haben in ihren Tests die Trainingkorpora aus relativ kurzen Textabschnitten zusammen gestellt. Diese wurden zufällig aus einer beliebigen Stelle der verwendeten Erzähltexte ausgewählt. Dieses Verfahren habe ich für meine Zwecke ebenfalls ausprobiert, musste aber feststellen, dass es sich für meine Kategorien weniger bewährt.

Ganz konkret bedeutet das, dass ich für meine Ortskategorie z.B. zunächst einmal ein Trainingskorpus aus 15 Erzähltexten zusammen gestellt habe. Um auf 40.000 Tokens zu kommen, habe ich aus jedem Text eine Passage von 2666 Wörtern herauskopiert. Mal vom Anfang, mal aus der Mitte, mal vom Ende – ganz zufällig. Die Ergebnisse rissen mich noch nicht vom Hocker, also habe ich etwas anderes probiert. Da ich vermutet habe, dass Raumausdrücke in einem Erzähltext am Anfang besonders häufig sind, habe ich getestet, was passiert, wenn ich längere Anfangspassagen zusammensetze. Ich habe die Anzahl der Texte auf 10 reduziert und von jedem Text 4000 Tokens genommen. Siehe da, das Ergebnis war für meine Kategorien deutlich besser.

Wie heterogen darf mein Trainingskorpus sein?

Eine andere Frage, die ich mir selbst gestellt habe, als ich anfing, Machine-Learning-Verfahren für die Literaturwissenschaft zu nutzen war, wie stark sich die Texte im Trainingskorpus eigentlich von den Texten, die man untersuchen möchte, unterscheiden dürfen. Dass die meisten Tools, so wie man sie auf gängigen Plattformen findet, nicht optimal sind, um sie auf literarische Texte anzuwenden, wusste ich. Auch, dass das daran liegt, dass sie hauptsächlich mit Trainingsdaten trainiert wurden, die aus Sachtexten (genauer Zeitungsartikeln) zusammengestellt wurden. Dass diese Tools gut funktionieren können, wenn man sie mit Auszügen aus dem untersuchten Text trainiert, habe ich schon erwähnt. Aber wie gut muss das Trainigskorpus nun zu den untersuchten Texten passen, wenn diese sich grundsätzlich von denen im Trainingskorpus unterscheiden? Diese Frage ist vor allem wichtig, wenn man ein Tool trainieren möchte, dass auch von anderen in der literaturwissenschaftlichen Community genutzt werden kann.

Genderzuschreibungen – eine Kategorie, die heterogene Trainingsdaten erlaubt

Nun, die Antwort darauf ist wieder einmal: Das kommt drauf an, was du untersuchen möchtest. Im m*w-Projekt, in dem ich mit meiner Kollegin ein Named-Entity-Recognition-Modell trainiere, das männliche, weibliche und neutrale Figurenbezeichnungen erkennen kann, hat sich gezeigt, dass das Trainingskorpus ruhig breit sein darf. Für unser Kernkorpus, das aus Novellen des deutschen Novellenschatzes besteht, habe ich einmal ein Trainingskorpus getestet, dass aus anderen Novellen dieser Sammlung, also kurzen Erzähltexten aus dem 19. Jahrhundert, zusammen gestellt war (insgesamt ca. 80.000 Tokens). Dann habe ich ein gleich großes Trainingskorpus erstellt, dass aus längeren Erzähltexten, meist Romanen, des 18. und 19. Jahrhunderts zusammengesetzt war. Mit beiden erzielte ich bei 5 Test-Texten etwa gleich gute Ergebnisse (nur bei einem Test-Test gab es eine Abweichung von 4% zu Gunsten des Novellen-Trainingskorpus.

Raum – eine Kategorie, die homogene Trainingskorpora braucht

Mit meinen Orts-Kategorien sah das etwas anders aus. Hier habe ich ein Trainingskorpus erstellt, das aus längeren Erzähltexten aus dem 18. Jahrhundert bestand und eines aus gleich vielen Texten desselben Genres aus dem 19. Jahrhundert (beide mit etwa 40.000 Tokens). Für Schillers Geisterseher funktionierten die Trainingsdaten aus den Texten des 18. Jahrhunderts deutlich besser. Für die Novelle „der graue John“ aus dem 19. Jahrhundert passte das andere Trainingskorpus besser. Für die Raumkategorie, die bei mir übrigens insgesamt 5 Unterkategorien hat und darum recht komplex ist, sind Trainingskorpora, die zum Untersuchungsgegenstand passen also besser. Das heißt, wenn du dich daran setzt, ebenfalls Machine-Learning-Verfahren für dich zu nutzen, lohnt es sich auf jeden Fall ein paar Tests zu machen, um herauszufinden, wie heterogen deine Trainingsdaten sein dürfen.

Was sind fuzzy Trainingsdaten?

Neben Größe und Zusammenstellung der Trainingsdaten lauert bei der Verwendung von Machine-Learning-Verfahren in der Literaturwissenschaft noch ein Fallstrick, die sogenannten „fuzzy“ Daten. Und obwohl ich selbst in meinen Projekten auch mit diesem Problem zu kämpfen habe, möchte ich hier als Beispiel das Projekt einer Studierenden aus meinem letzten Seminar anführen. Am besten du liest dazu ihren eigenen, sehr kurzweiligen und informativen Essay ​(Benz, 2020)​. An diesem Beispiel erkennt man sehr gut, dass wir etwas umdenken müssen, wenn wir mit Maschinen zusammen arbeiten.

Denn im Gegensatz zu uns Menschen sind komplexe Kategorien wie z.B. „Gerichtswesen“, zu dem sowohl Figuren als auch Gebäude, Dokumente und Beschreibungen gehören können, für Computer zu wenig greifbar. Sie sind zu faserig, eben „fuzzy“. Hat man es mit so einer Unterkategorie zu tun, so lohnt es sich, über präzise Unterkategorien nachzudenken, wie z.B. „juristische Person“, „juristisches Dokument“, „juristisches Gebäude“ usw. Aber, ich habe es oben schon angedeutet, je mehr Unterkategorien man hat, desto wahrscheinlicher ist es, dass dein Trainingskorpus groß sein muss. Schließlich braucht der Computer für jede Kategorie ausreichend Beispiele, um zu lernen.

Abonniere
Lebe lieber literarisch

Blog und Podcast

Wöchentlich News zu den Themen Literatur, Kultur, Digital Humanities und Bloggen für Geisteswissenschaftler*innen

Invalid email address
Probiere es einfach mal aus. Du kannst dich jederzeit vom Newsletter abmelden.Bevor du dich anmeldest, lies bitte sorgfältig meine Datenschutzbestimmungen!

Komme ich damit tatsächlich schnell so weit, nicht mehr selber lesen zu müssen?

Spätestens jetzt fragst du dich wahrscheinlich „lohnt sich das alles?“ Vielleicht denkst du, du kannst ebenso gut warten, bis jemand anderes die Tools, die du nutzen möchtest, für die Literaturwissenschaft optimiert hat. Und tatsächlich ist der Weg zur zuverlässigen automatischen Erkennung literaturwissenschaftlich relevanter Kategorien in Texten noch weit. Um irgendwann sicher sein zu können, dass du dein Machine-Learninng-Tool auf einen dir unbekannten Text anwenden kannst, ohne dass dir entscheidende Informationen verpasst, musst du viele Stunden, Wochen oder gar Monate investieren.

Aber entscheidend ist für mich, dass diese Zeit nicht verloren ist. Denn in diesem Prozess ist der Computer nicht der einzige, der etwas lernt. Du wirst deine Kategorien besser kennenlernen. Du wirst erkennen, an welchen Stellen du deine Vorannahmen schärfen musst. Und du wirst etwas über deine Trainingsdaten und Test-Texte erfahren. Wenn du diesen Teil des Erkenntnis-Prozesses für dich zu nutzen weist, kann ich dir nur sagen: Ja, es lohnt sich, sich die Mühe selbst zu machen. Auch wenn du dabei immer noch viel selber lesen musst. Und am Ende hast du auch noch den Bonus, Pionierarbeit geleistet zu haben und einen kleinen Beitrag in die Digital-Humanities-Community zurückgeben zu können.

[cite]

Bibliografie

  1. Benz, N. (2020) Ärgernis und Erkenntnis in der Named Entitiy Recognition, DH-Challenge. Available at: http://dhchallenge.mareikeschumacher.de/argernis-und-erkenntnis-in-der-named-entitiy-recognition/(öffnet in neuem Tab) (Accessed: 5 February 2020).
  2. Finkel, J. R., Grenager, T. and Manning, C. (2005) ‘Incorporating Non-local Information into Information Extraction Systems by Gibbs Sampling’, Proceedings of the 43nd Annual Meeting of the Association for Computational Linguistics, pp. 363–370. Available at: https://nlp.stanford.edu/~manning/papers/gibbscrf3.pdf.
  3. Jannidis, F. et al. (2015) ‘Automatische Erkennung von Figuren in deutschsprachigen Romanen ’, DHd 2015 Book of Abstracts, pp. 2–6. Available at: http://gams.uni-graz.at/o:dhd2015.abstracts-vortraege.
  4. Schumacher, M. (2020) Automatische Erkennung von Figuren-Gender – das erste Modell, m*w. Available at: https://msternchenw.de/automatische-erkennung-von-figuren-gender-das-erste-modell/ (Accessed: 5 February 2020).

Ein Kommentar

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert