eJournals Forum Exegese und Hochschuldidaktik: Verstehen von Anfang an (VvAa) 2/2

Forum Exegese und Hochschuldidaktik: Verstehen von Anfang an (VvAa)
2366-0597
2941-0789
Francke Verlag Tübingen
2017
22 Fischer Heilmann Wagner Köhlmoos

Natural Language Processing (NLP) unterrichten

2017
Matt Munson
Forum Exegese und Hochschuldidaktik Verstehen von Anfang an (VvAa) Jahrgang 2 - 2017, Heft 2 Natural Language Processing (NLP) unterrichten Ein Bericht aus der akademischen Praxis Matt Munson 1 Zu Python als Basis der NLP-Vermittlung Meine Erfahrung, die Methoden des Natural Language Processing (NLP) 1 anhand biblischer Quellen zu vermitteln, sind vielfältig� Bisher unterrichtete ich Anfänger und fortgeschrittene Studierende in wöchentlichen Kursen, in Blockseminaren sowie in kürzeren, einbis zweitägigen Lehreinheiten� Dabei baute ich jeweils auf der Programmiersprache Python auf, die ich auch für meine eigenen Analysen verwende� Bereits in den frühen Phasen meiner Karriere als DH’ler erkannte ich, dass vorgefertigte Tools für die Durchführung von computergestützten Textanalysen nur zu 50-60% zielführend einsetzbar sind, dass ich mit ihnen aber nie die von mir definierten Ziele erreichte. So befand ich mich in dem Dilemma, entweder meine Forschungsziele den vorhandenen Tools anzupassen oder lernen zu müssen, meine Ziele an den Programmvorgaben auszurichten� Dieses war der Grund, warum ich mich dafür entschied, eine Programmiersprache zu erlernen und meine eigenen Lösungen zu entwickeln� Dabei verwende ich Code-Sammlungen, die es bereits in Python gibt� Ein entscheidender Grund für mich, NLP unter der Nutzung von Python zu unterrichten, ist die Möglichkeit, Studierenden aufzuzeigen, wie sie sich Lösungen erarbeiten können, wenn die vorhandenen Tools diese nicht vorsehen 1 Als Natural Language Processing wird jegliche Form einer computergestützten Analyse eines Textes bezeichnet, die an einem Text in einer mündlichen oder geschriebenen Sprache, d� h� in einer ‚natürlichen Sprache‘ durchgeführt wird� 88 Lehr-/ Lernbeispiele und sie deshalb ihre Forschungsfragen nicht stellen können� Die Befähigung der Studierenden, ihre Forschungsfragen beantworten zu können, führt gleichzeitig zu einem genaueren Verständnis ihrer Fragen sowie der Methoden, die sie anwenden� Der damit verbundene mühsame Lernprozess der Studierenden, Forschungsfragen durch die Nutzung digitaler Systeme zu beantworten, führt dazu, dass sie selbst entscheiden müssen, welche Methoden es ihnen erlauben, ihre Datensammlung in der Art und Weise, wie sie es für nötig erachten, auszuwerten� Durch die Übersetzung der Methoden in eine Programmstruktur erwerben sie die wissenschaftliche Fähigkeit, eigenständige, methodisch profilierte Untersuchungen durchzuführen, wie dieses bei einer Anwendung vorgefundener Programme nicht der Fall wäre� Dieser Ansatz stellt eine große Herausforderung für die Lehrenden dar, die sowohl die computertechnische, als auch die fachwissenschaftliche Seite gleichermaßen verstehen und vertreten müssen, um die Studierenden bei ihren Problemlösungen zu unterstützen� Eine solche duale Unterstützung benötigen sowohl Studierende der geisteswissenschaftlichen Fachdisziplinen, als auch der Informatik� Während die ersten die fachwissenschaftliche Perspektive der NLP verstehen und Hilfe brauchen, ihr Wissen auf Digitalisate zu übertragen, stehen die anderen vor dem gegenteiligen Problem, ihr Wissen über computer gestützte Methoden auf den geisteswissenschaftlichen Bereich hin anzuwenden� Mir als Geisteswissenschaftler fällt es schwerer, Informatikern geisteswissenschaftliches Denken zu vermitteln als umgekehrt� Dies hat m� E� etwas mit der Denkweise und Problemanalysemethodik von Geistewissenschaftlerinnen und Geisteswissenschaftlern zu tun� Diese habe ich durch meine eigene Tätigkeit verinnerlicht� Oftmals verstehe ich nicht, warum Informatikstudierende es schwierig finden, eine Problemstellung geisteswissenschaftlich zu betrachten. Die Studierenden der Geisteswissenschaften wiederum kämpfen mit denselben Problemen, die auch mir begegnen, wenn ich versuche, ein geisteswissenschaftliches Phänomen computergestützt zu bearbeiten� 2 Zum Aufbau einer didaktischen Struktur Nachdem ich mich entschieden hatte, NLP unter Nutzung einer Progammiersprache zu unterrichten, stellte sich mir die Frage, wie ein solcher Kurs zu gestalten ist. Bei den ersten Versuchen, NLP zugleich an Studierende der Geisteswissenschaften und der Informatik zu vermitteln, begann ich zunächst mit der Unterweisung der Programmiersprache und wandte mich erst im weiteren Verlauf des Kurses einer Anwendung auf NLP spezifische Problemstellungen zu. Dieser Ansatz erwies sich als schwierig für beide Studierendengruppen� Für die Lehr-/ Lernbeispiele 89 Studierenden der Geisteswissenschaften bedeutete dies, zunächst für sie unbekannte und unerheblich scheinende Dinge wie Datenarten und Grundlagen einer funktionalen Programmierung zu erlernen, bevor sie dazu kamen, ihre geisteswissenschaftlichen Interessen zu verfolgen� Die vermittelten Informationen über die technischen Aspekte konnten von diesen Studierenden kaum aufgenommen werden, da sie diese nicht kontextualisieren konnten und daher auch nicht verstanden, warum sie wichtig sind. Mein Ansatz glich dem Versuch, eine fremde Sprache allein durch den Erwerb grammatischer Regeln zu vermitteln, und zugleich zu erwarten, dass die Lernenden die Sprache hinterher sprechen können, ohne Vokabeln gelernt zu haben. Für die Informatikstudierenden wiederum, welche bereits andere Programmiersprachen kennen, war dieser Zugang eine noch höhere Zeitverschwendung, da sie sich die Informationen im Selbststudium mit höherer Effizienz aneignen können. Meine Kursstruktur veränderte sich im Sommer 2016 grundlegend, als mich eine Kollegin bat, zwei Einheiten in ihrem Seminar zu übernehmen, um den Studierenden zu helfen, Pythons Natural Language Toolkit (NLTK) zu erlernen� Zunächst war ich äußerst skeptisch, ob und bis zu welchem Grad Studierende NLP-Methoden erlernen können, wenn sie die Grundlagen der Programmiersprache nicht kennen� Meine Skepsis wich, als ich feststellte, dass die Studierenden äußerst engagiert waren und interessante NLP-Ergebnisse bereits in den ersten Stunden des Kurses erarbeiteten� Ehrlicherweise muss ich sagen, dass dies nicht meinen hohen didaktischen Fähigkeiten geschuldet war, als vielmehr der Tatsache, dass die Entwickler von NLTK mittlerweile online ein Buch zur Verfügung stellen, in dem der Gebrauch ihrer Tools erläutert wird. Dieses Buch ist unter http: / / www�nltk�org/ book/ frei abrufbar� Mit der Nutzung des Buches veränderte sich meine Rolle als akademischer Lehrer weg vom Bemühen, interessante Wege zu finden, meinen Studierenden uninteressante Dinge zu vermitteln, hin zu einer Begleitung ihrer kreativen Prozesse, Forschungsfragen in einer Art und Weise zu formulieren, dass NLTK nach ihnen befragt und durch es beantwortet werden kann� Der unerhoffte Erfolg, den ich in meinem Kurs erzielt hatte, führte dazu, dass ich meinen bisherigen Ansatz aufgab� Ich hatte noch keine Gelegenheit, meinen neuen, auf NLTK basierenden Ansatz auch mit Informatikstudierenden zu erproben� Ich erwarte jedoch denselben Erfolg, den ich bereits mit den Studierenden geisteswissenschaftlicher Fächer hatte. Wenn ich den Vergleich mit dem Erwerb einer Sprache an dieser Stelle nochmals bemühe, dann ist mein Ziel bei der Vermittlung von NLP an Studierende nicht, diese zu Philologen auszubilden, die alle Details der inneren Struktur der Programmiersprache kennen, sondern Sprachfähigkeit hinsichtlich des NLP-Dialekts von Python zu erlangen, 90 Lehr-/ Lernbeispiele die sie in die Lage versetzt, tagtägliche Probleme zu lösen, denen sie in den Geisteswissenschaften oder der Informatik begegnen� NLTK lässt sich neben modernen Sprachen auch auf die biblischen Ursprachen anwenden� Auch wenn das in NLTK eingeschlossene Corpus schwerpunktmäßig in moderne Sprachen umfasst und ein besonderes Gewicht auf englischsprachigen Quellen liegt, ist es sehr einfach, eigene Corpora zu importieren und mit ihnen zu arbeiten. Innerhalb der ersten beiden Unterrichtsstunden erwerben die Studierenden die Fähigkeit, Diagramme von z. B. dem Verwendungsmuster der Wörter Χριστός, θεός und πνεῦμα im Neuen Testament oder in der Hebräischen Bibel von חור ,די und םש zu erzeugen, die sie zu weiteren Forschungsfragen führen, allein schon, wenn sie beschreiben, was sie sehen� So werden sie bei der Betrachtung von Abbildung 1, die sich auf die erste Fragestellung bezieht, z. B. fragen, warum Χριστός in der ersten Hälfte der Neuen Testaments, d. h. in dn Evangelien und der Apostelgeschichte, so unregelmäßig erscheint. Ein vergleichbares Diagramm (Abb� 2) würde dazu herausfordern, das Erscheinen von חור in der zweiten Hälfte des Alten Testaments und die vergleichweise geringe Verwendung von די im selben Textbereich zu untersuchen� Abb. 1: Lexical Dispersion Plot zu Χριστός, θεός und πνεῦμα im NT © Matt Munson Lehr-/ Lernbeispiele 91 Abb. 2: Lexical Dispersion Plot zu די , חור und םש im AT © Matt Munson 3 Zum Selbstverständnis des Lehrenden Ein Aspekt ist hinsichtlich dieses Ansatzes jedoch zu bedenken: Er setzt zwigend ein ziemlich hohes Level an Kenntnissen und Erfahrung mit Python voraus� Ich halte mich nicht für einen fortgeschrittenen Python -Programmierer, verfüge aber durchaus über ausreichende Erfahrung, die meisten meiner NLP-Fragen mittels des Programms zu beantworten� Und selbst auf diesem Level stelle ich fest, dass ich auf Fragen der Studierenden nicht immer adäquat reagieren kann� Dies wäre mir peinlich gewesen, bevor ich begann, NLP zu unterrichten� Die Vermittlung von NLP führte dazu, dass sich mein Selbstbild als akademischer Lehrer veränderte� Ich nehme mich nicht mehr als den Experten im Unterrichtsraum wahr. Vielmehr sehe ich mich als den vielleicht fortgeschrittensten Studenten in einer Gruppe wissbegieriger Forschender, die alle voneinander lernen und gemeinsam voranschreiten� Als Geisteswissenschaftler, der digitale Fertigkeiten vermittelt, ist dies eine Rolle, in die man sich zunächst einfi nden muss� Dazu gehört es auch, darauf vorbereitet zu sein, dass Studierende Fragen stellen könnten, auf die man nicht vorbereitet ist� Wie ich bereits oben schrieb, eröff net das Erlernen einer Progammiersprache, um NLP-Problemstellungen zu lösen, Forschungsmöglichkeiten, die mit bereits existierenden Tools nicht