Posted on

Kollaboratives Coding und Data Science mit Renkulab

Renku wurde vom Swiss Data Science Center als Web-Plattform (Renkulab) und Terminal (Renku Client) entwickelt, um zu ermöglichen, kollaborativ Daten zu generieren, bearbeiten, speichern und zu teilen. Zudem können Code, ganze Workflows und virtuelle Maschinen verwaltet werden.

In Renkulab werden direkt im Browser Juypter Lab oder RStudio Sessions gestartet, die aus Docker Containern laufen. Notwendige Packages und Libraries werden ganz einfach über ein Requirements-File installiert. Um die Daten nachvollziehbar und sicher zu speichern, werden diese über ein integriertes GitLab verwaltet. Im Renku CLI, dem eigenen Terminal, können aber auch verschiedene renku commands verwendet werden, um Daten zu speichern, auf Gitlab zu pushen, und vieles mehr.

Für einen einfachen Anwendungsfall kann Renkulab auch von Anfänger*innen verwendet werden, die sich v.a. die mühsame Installation mehrerer Programmiersprachen und Tools ersparen möchten. Erfahrenere Anwender*innen wählen zwischen verschiedenen Programmiersprachen, arbeiten direkt mit git commands, schreiben eigene Skripts oder stellen sie in sogenannten renku-Workflows zusammen .

Ein grosser Vorteil von Renkulab ist ausserdem der Knowledge Graph. Was ist das und wozu dient er? Angenommen, die verwendeten Daten stammen von einer Online-Quelle, wurden in mehreren Schritten durch verschiedene Skripts bearbeitet und generieren nun den gewünschten Output. Wie oft kommt es vor, dass man nicht mehr reproduzieren kann, wie dieser Output genau entstanden ist, weil man verschiedene Ansätze ausprobiert hat? Der Knowledge Graph löst nun genau dieses Problem, indem er in einem Diagramm jeden Verarbeitungsschritt visualisiert und den Output dadurch nachvollziehbar und reproduzierbar macht.

Gerade für Einführungen in die Programmierung, Gruppenarbeiten in einem Seminar oder auch den Austausch für eine Forschungsgruppe ist Renku sehr gut geeignet.

Ein Tutorial führt Klick für Klick durch die Möglichkeiten von Renku – es lohnt sich, das auszuprobieren!

Für jede Session wird die Rechenpower und die Umgebung gewählt.
Jupyter Lab läuft innerhalb eines Gitlab Accounts.
Ein Jupyter Notebook ermöglicht es, schön lesbare Tutorials oder Aufgaben mit Python zu erstellen.
Auch eigene Python Skripts können natürlich verwendet werden.
Der Knowledge Graph visualisiert nicht nur die Datenherkunft, sondern auch die einzelnen Verarbeitungsschritte.
Posted on

Data Crunching für Texte aller Art – eine neue Dienstleistung an der Philosophischen Fakultät

Das neue Text Crunching Center (TCC) hilft bei Textanalysen und bei Fragen wie: Wie komme ich zu meinen Daten? Wie muss ich sie für meine Forschungsfrage aufbereiten, oder – welche Fragen kann ich an meine Daten stellen? Angesiedelt am Institut für Computerlinguistik und konzipiert als Dienstleistungszentrum – wir hören in diesem Beitrag, für wen das TCC gedacht ist und welche Dienstleistungen angeboten werden.

Bitte stellen Sie sich vor!

[Tilia Ellendorff, TE]: Mein Name ist Tilia Ellendorff. Ursprünglich habe ich Grundschullehramt mit den Fächern Englisch und Deutsch studiert an der Universität Paderborn. Anschliessend habe ich mich aber entschlossen, mich auf Linguistik und Computerlinguistik zu konzentrieren – zunächst mit einem Bachelor in Linguistik, dann mit einem Internationalen Masterstudium in Computerlinguistik in Wolverhampton (GB) und Faro (P), über Erasmus Mundus. Schliesslich bin ich für das Doktorat in Computerlinguistik nach Zürich gekommen. Mein Thema war Biomedical Text Mining – in meinem Projekt ging es darum, in medizinischen Publikationen die Beziehung zwischen ätiologischen, also auslösenden, Faktoren von psychiatrischen Erkrankungen zu extrahieren. Hier besteht nämlich das Problem, dass es unmöglich ist, die gesamte Literatur auf diesem Gebiet zu lesen. Es ist schwierig, so einen Überblick über alle Faktoren zu gewinnen. Ich habe dazu ein System gebaut, das dies unterstützt und automatisch aus den Texten extrahiert.

[Gerold Schneider, GS]: Ich habe Englische Literatur- und Sprachwissenschaft und Computerlinguistik an der Universität Zürich studiert. Während des Doktorats habe ich einen syntaktischen Parser für Englisch entwickelt. Es ist ein System, das eine syntaktische Analyse eines Texts liefert: Was ist das Subjekt, was das Objekt, welches die untergeordneten Sätze, etc. Mit der Anwendung dieses Tools bin ich schliesslich in das Gebiet des Text Minings gelangt. Zunächst habe ich das auch zu Fachliteratur im biomedizinischen Bereich angewendet. Die gleichen Methoden konnte ich später in weiteren Disziplinen verwenden, z.B. in Projekten mit dem Institut für Politikwissenschaft im NCCR Democracy zu Demokratieforschung, oder auch in einem Projekt zu Protestforschung. Dabei geht es ja nicht nur um eine Faktensammlung, sondern meist um Meinungen, Stimmungen oder Assoziationen, die aus den Medien extrahiert werden müssen: Gerade da braucht man statistische Methoden, mit logikbasierten stösst man nur auf Widersprüche. Somit sind auch die Methoden des maschinellen Lernens unerlässlich. Die Daten und Ergebnisse müssen zum Schluss aber auch interpretiert werden können – sonst nützt die Datensammlung nicht viel. Mein breiter Hintergrund ist hier sicher von Vorteil – ich sehe mich auch als Brückenbauer zwischen Disziplinen.

Vielen Dank für die Vorstellung – wie ist denn nun das Text Crunching Center entstanden?

[GS] Entstanden ist das Text Crunching Center dadurch, dass das Institut für Computerlinguistik bzw. Martin Volk inzwischen so viele Anfragen im Gebiet Text Mining und Textanalyse erhält, dass es nicht mehr länger möglich ist, diese alle selbst zu bearbeiten.
Das Text Crunching Center bietet in diesem Gebiet Dienstleistungen an: Bei allem, was mit Text Mining, Sentimentanalyse, Textanalyse im Allgemeinen – generell mit Methoden der Digital Humanities oder Machine Translation – zu tun hat, können wir Projekte unterstützen. Auch allgemeine Unterstützung für Digitalisierungsprozesse oder Textverarbeitung wie OCR, aber auch Beratung zu Tools, Software oder Best Practices bieten wir an. Wir helfen ebenfalls gerne beim Schreiben von Projektanträgen, geben Coaching und Unterricht in der Textanalyse, oder können fertige (Software-)Lösungen anbieten.
[TE] Wir sind die Ansprechpartner für alle, die in ihren Projekten mit viel Text umgehen müssen, das technische Knowhow aber nicht haben und nicht genau wissen, wo sie anfangen sollen. Man kann z.B. zu uns kommen, wenn man einfach Text vor sich hat und eine Idee braucht, was man damit mit der Maschine alles anfangen könnte.

Könnten Sie mir ein konkretes Beispiel einer Anfrage geben – wie muss man sich den Ablauf vorstellen, wenn man auf Sie zukommt?

[TE] Wenn z.B. jemand aus einem bestimmten Forschungsgebiet untersuchen möchte, was der öffentliche Diskurs zu einem Thema ist – nehmen wir mal das Thema «Ernährung». Dazu möchten sie dann gerne Social Media Daten auswerten, die technische Umsetzung ist gehört aber nicht zu ihrem Fachgebiet. In dem Fall kann man zu uns gelangen und wir beraten in einem ersten Schritt: Wir klären die Fragen, wie man überhaupt an Daten gelangen kann, was man mit den Daten machen könnte. Es kann so weit gehen, dass wir einen Prototypen erstellen, mit dem sie dann direkt ihre Daten auswerten und Forschungsergebnisse erhalten können.

Welche konkreten Möglichkeiten würden Sie in den Personen in diesem Beispiel vorschlagen und wie würden sie es umsetzen?

[GS] In diesem konkreten Beispiel haben wir Twitter-Daten mit Hilfe von Text Mining gesammelt und ein Coaching angeboten. Die R Skripts haben wir ebenfalls geschrieben, die Personen aber zusätzlich so weit gecoacht, dass sie diese schliesslich selbst anwenden konnten. Die über das Text Mining erhaltenen Daten werden mit den Skripts exploriert und verschiedene Outputs generiert. Dabei haben wir «klassische» Digital Humanities Methoden angewendet wie z.B. Distributionelle Semantik, Topic Modeling, oder auch analysiert, wie in den Tweets bestimmte linguistische Merkmale gebraucht werden.
[TE] Es kommt immer auf die Kunden darauf an: In diesem Beispiel wollten die Kunden die Anwendung gerne selber lernen. Wenn sie dafür aber keine Zeit oder kein Interesse daran gehabt hätten, hätten wir auch alles selbst implementieren können: Also das fertige System oder die aufbereiteten Daten.
[GS] Ein Produkt, das dabei entstanden ist, ist eine «konzeptuelle Karte» von Bier, Cidre und Wein. Es ist eine semantische Karte, in der ähnliche Konzepte näher beieinander liegen als Konzepte, die inhaltlich weiter voneinander entfernt sind. Rund um den Cidre liegen beispielsweise die Begriffe «Äpfel», «Jahreszeit», «Wärme» usw. Man sieht auch, dass die Essenskultur mit «dinner», «cooking», etc. viel näher am Konzept «Wein» liegt als bei «Bier» oder «Cidre». Solche automatisch erstellten Karten vereinfachen stark, sind aber anschaulich und gut interpretierbar, deshalb zeigen wir sie als ein Beispiel unter vielen.

Eine ähnliche Karte etwa entstand in einem anderen Projekt aufgrund von Daten ausgewählter Reden von Barack Obama und Donald Trump. Barack Obama spricht etwa mehr von «opportunity» oder «education», während Donald Trump davon eher weiter weg ist und eher über China und Deals spricht, und wer ihm alle angerufen haben. «Peace and Prosperity» als Vision versprechen natürlich beide.

Nun rein technisch gefragt – wie entsteht so eine konzeptuelle Karte? Die Verbindungen stellen die Distanzen zwischen den Konzepten dar, nehme ich an – mit welcher Methode bestimmen Sie denn die Ähnlichkeiten?

[GS] Es handelt sich um eine Methode der distributionellen Semantik: Man lernt aus dem Kontext. D.h. dass Wörter, die einen ähnlichen Kontext haben, auch semantisch ähnlich sind. Gerade bei grossen Textmengen führt so ein Ansatz zu guten Ergebnissen. Es gibt da verschiedene Methoden, um dies zu bestimmen – gemeinsam ist ihnen jedoch der kontextuelle Ansatz.
In diesem konkreten Beispiel wurde mit Kernel Density Estimation gearbeitet. Man zerlegt dafür den Korpus zunächst in kleine Teile – hier waren es etwas 2000. Für jedes Wort prüft man dann, wie das gemeinsame Auftreten in den 2000 «Teilen» ist. Wörter, die sehr häufig miteinander auftreten, kommen dann das Modell. Dabei werden nicht die absoluten Zahlen verwendet, sondern Kernel-Funktionen gleichen die Zahlen etwas aus. Daraus kann schliesslich die Distanz zwischen den einzelnen Konzepten berechnet werden. In diesem Prozess entsteht ein sehr hochdimensionales Gebäude, das für die Visualisierung auf 2D reduziert werden muss, um es plotten zu können. Da dies immer eine Vereinfachung und Approximierung ist, braucht es immer die Interpretation.

Wie wichtig ist es für Ihre Aufgabe, dass Sie einen breiten disziplinären Hintergrund haben?

[TE] Man darf nicht denken, dass die Texttechnologie das «Wunderheilmittel» für alle Probleme ist. In einer Beratung geben wir immer eine realistische Einschätzung darüber ab, was möglich ist und was nicht.
Daher ist die Frage sehr relevant. Man muss einen gemeinsamen Weg zwischen der computerlinguistischen und der inhaltlichen Seite finden. Es ist wichtig, dass wir beide durch unseren Werdegang viele Disziplinen abdecken und schon in vielen verschiedenen Bereichen mitgearbeitet haben.
Gerade in einem Projekt aus der Biomedizin, in dem es darum ging, welche Auswirkungen bestimmte Chemikalien auf gewisse Proteine haben, hat mein biologisches Wissen aus dem Biologie-Leistungskurs und einem Semester Studium sehr geholfen. Als Laie würde man diese Texte überhaupt nicht verstehen, deshalb könnte man auch keine geeignete Analyse entwerfen. Insbesondere auch auf der Ebene der Fehleranalyse ist das Disziplinen-Wissen wichtig: Möchte man herausfinden, warum das entwickelte System in manchen Fällen nicht funktioniert hat, hat man ohne disziplinäres Wissen wenig Chancen.
Deshalb ist es wichtig, dass wir realistische Einschätzungen darüber abgeben können, was umsetzbar ist – manche Fragen sind aus computerlinguistischer Sicht schlicht nicht auf die Schnelle implementierbar.
[GS] Dennoch können oft neue Einsichten generiert werden, oder auch nur die Bestätigung der eigenen Hypothesen aus einer neuen Perspektive… Die datengetriebenen Ansätze ermöglichen auch eine neue Art der Exploration: Man überprüft nicht nur eine gegebene Hypothese, sondern kann aus der Datenanalyse neue Hypothesen generieren, indem man Strukturen und Muster in den Daten erkennt.
Hier hat sich bei mir ein Kreis geschlossen: Aus der Literaturwissenschaft kenne ich das explorative Vorgehen sehr gut. Dagegen ist ein rein computerlinguistisches Vorgehen schon sehr anders. Mit Ansätzen der Digital Humanities kommt nun wieder etwas Spielerisches in die Technologie zurück. Die Verbindung von beidem erlaubt einen holistischeren Blick auf die Daten.

Wie würden Sie denn Digital Humanities beschreiben?

[GS] Es ist wirklich die Kombination der beiden Ansätze: «Humanities» kann man durchaus wortwörtlich nehmen. Gerade in der Linguistik ist damit auch ein Traum wahr geworden, wenn man an Ferdinand de Saussures Definition von Bedeutung denkt. «La différence», die Bedeutung, ergibt sich nicht daraus, was etwas «ist», sondern was es im Zusammenhang, im Ähnlich-Sein, im «Nicht-genau-gleich-sein» mit anderen Dingen ist. In der Literaturwissenschaft wird dieser Umstand in der Dekonstruktion mit der «différance» von Jacques Derrida wieder aufgenommen. Die distributionale Semantik hat genau das berechenbar gemacht. Es ist zwar einerseits sehr mathematisch, andererseits ist für mich dieser spielerische Zugang sehr wichtig.
Die genaue philosophische Definition von Digital Humanities ist für mich dagegen nicht so wichtig: Doch die Möglichkeiten, die sich mit den digitalen Methoden ergeben – die sind toll und so viel besser geworden.
[TE] Die Humanities, die bisher vielleicht noch nicht so digital unterwegs waren, geraten momentan auch etwas unter Druck, etwas Digitales zu benutzen…

Mein Eindruck war bisher nicht nur der eines «Müssens», sondern auch eines «Wollens» – doch der Einstieg in die Methodik ist einfach sehr schwierig, die Schwelle sehr hoch.

[TE] … und gerade hier können wir einen sehr sanften Einstieg mit unseren Beratungen bieten: Wenn jemand noch gar keine Erfahrung hat, aber ein gewisses Interesse vorhanden ist. So muss niemand Angst vor der Technologie haben – wir begleiten das Projekt und machen es für die Kunden verständlich.
[GS] Aber auch Kunden, die schon ein Vorwissen haben und bereits etwas programmieren können, können wir immer weiterhelfen…

Gilt Ihr Angebot nur für Lehrende und Forschende oder auch für Studierende?

[TE] Das Angebot gilt für alle, auch für externe Firmen. Für wissenschaftliche Projekte haben wir aber natürlich andere, günstigere Tarife.
[GS] Die Services werden zum Selbstkostenpreis angeboten. Ein Brainstorming, d.h. ein Einstiegsgespräch können wir sogar kostenlos anbieten. Auch für die anschliessende Beratungs- oder Entwicklungsarbeit verlangen wir keine überteuerten Preise. Für unser Weiterbestehen müssen wir allerdings eine gewisse Eigenfinanzierung erreichen.

Wo soll das Text Crunching Center in einigen Jahren stehen?

[TE] Natürlich möchten wir personell noch wachsen können… Wir bilden uns dauernd weiter, um state-of-the-art-Technologien anbieten zu können. Die Qualität der Beratung soll sehr hoch sein – das wünschen wir uns.
[GS] … und wir wollen die digitale Revolution unterstützen, Workshops anbieten, das Zusammenarbeiten mit dem LiRI oder mit Einzeldisziplinen verstärken. Letztlich können alle von der Zusammenarbeit profitieren, indem man voneinander lernt und Best Practices und Standardabläufe für gewisse Fragestellungen entwickelt. Auch die Vernetzung ist ein wichtiger Aspekt – wir können helfen, für ein bestimmtes Thema die richtigen Experten hier an der UZH zu finden.

Ich drücke Ihnen die Daumen! Vielen Dank für Ihr Gespräch!

Links:

Text Crunching Center: https://www.cl.uzh.ch/en/TCC.html
Ein Anwendungsbeispiel aus Projekten des TCC: https://www.cl.uzh.ch/en/TCC/Teasers.html
Openbook zu Statistik für Linguisten (Gerold Schneider und Max Lauber): https://dlftest.uzh.ch/openbooks/statisticsforlinguists/
Ferdinand de Saussure: https://de.wikipedia.org/wiki/Ferdinand_de_Saussure
Jacques Derrida: https://de.wikipedia.org/wiki/Jacques_Derrida
Kernel Density Estimation: https://de.wikipedia.org/wiki/Kerndichteschätzer
NCCR Democracy: http://pwinfsdw.uzh.ch/
LiRi: https://www.liri.uzh.ch/en.html

Off Topic:

Ein eigenes Openbook bei Digitale Lehre und Forschung publizieren: https://dlftest.uzh.ch/openbooks/erste-schritte/

Posted on

Digital Humanities als Denkstil

Dieser Beitrag entstand im Rahmen einer kleinen Reihe zu «Digital Humanities an der Philosophischen Fakultät». Lehrende und Forschende der PhF geben uns einen Einblick in Forschungsprojekte und Methoden «ihrer» Digital Humanities und zeigen uns, welche Technologien in ihrer Disziplin zum Einsatz kommen. Wir diskutieren den Begriff «Digital Humanities» von ganz verschiedenen Perspektiven aus. Heute stellt uns Noah Bubenhofer, Professor am Deutschen Seminar, eine digitale Korpuslinguistik vor.

Herr Bubenhofer, vielen Dank, dass Sie bei dieser Reihe mitmachen – bitte stellen Sie sich kurz vor!

Ich bin germanistischer Linguist, seit September 2019 Professor am Deutschen Seminar der UZH. Ich interessiere mich für eine kultur- und sozialwissenschaftlich orientierte Linguistik, die davon ausgeht, dass Sprache und gesellschaftliches Handeln in einem engen Verhältnis stehen und dass man deshalb über linguistische Analysen etwas darüber lernen kann, wie eine Gesellschaft oder eine Kultur funktioniert.

Ich arbeite sehr stark korpuslinguistisch – ein Korpus ist letztlich eine Sammlung von Textdaten, die meist linguistisch aufbereitet sind und linguistisch analysiert werden. In der Korpuslinguistik verbinde ich quantitative mit qualitativen Methoden, um grössere Textdatenmengen auf Musterhaftigkeit hin analysieren zu können – hier verwende ich natürlich digitale Methoden. Korpuslinguistik gibt es schon sehr lange; mit der Digitalisierung hat sie einen neuen Drive erhalten, weil es sehr viel einfacher geworden ist, sehr grosse Textdatenmengen zu verarbeiten.

Was verstehen Sie unter «Digital Humanities», auch in Bezug zu Ihrem Forschungsgebiet?

Ich erlebe «Digital Humanities» als extrem heterogen, und manchmal ist es gar nicht so klar, ob ich das, was ich mache, auch dazu zählen kann – gerade weil die Korpuslinguistik eigentlich schon eine sehr lange Tradition in der Linguistik hat.

Einerseits bedeutet «Digital Humanities» für mich, digitale Methoden auf digitalen Daten anzuwenden und letztlich geisteswissenschaftliche Fragestellungen zu verfolgen. Andererseits reflektiert man «Digitalität per se» mit geisteswissenschaftlichen Theorien: Was macht «Verdatung» mit Informationen, was ist eigentlich ein Algorithmus, und so weiter.

Die Kombination dieser beider Aspekte macht das Alleinstellungsmerkmal von «Digital Humanities» im Vergleich zu anderen Disziplinen aus, die auch mit digitalen Daten und Methoden arbeiten, wie z.B. Informatik, Data Mining o.ä.

Sie sagten «Disziplin» im Zusammenhang mit Digital Humanities …

[lacht] Dieselbe Debatte gibt es auch in der Korpuslinguistik – ist sie eine Subdisziplin der Linguistik oder ist sie eher ein Denkstil? Ich argumentiere immer für Letzteres, da es eine bestimmte Art und Weise ist, Sprache anzusehen.

Ferdinand de Saussure führte die Unterscheidung von «langue» und «parole» ein, dabei ist «langue» sozusagen das Sprachsystem und «parole» die tatsächlich geäusserte Sprache. Lange interessierte sich die Linguistik hauptsächlich für die «langue». Die Korpuslinguistik machte erst den Fokus auf die «parole» stark, indem die Musterhaftigkeit in der gesprochenen und geschriebenen Sprache untersucht wurde.

Diese Verschiebung der Perspektive findet man in den Digital Humanities teilweise wieder. Man ist an anderen Aspekten der Daten interessiert und hat dadurch auch ein anderes theoretisches Modell im Hintergrund. Deshalb sind die Digital Humanities für mich auch eine Denkrichtung, die versucht, mit spezifischen Methoden einen neuen Blick auf die vorhandenen Daten zu erhalten.

Können Sie uns ein Beispiel geben, vielleicht an einem Ihrer Forschungsprojekte?

In einem Projekt habe ich Alltagserzählungen, genauer Geburtsberichte gesammelt. In diesen schrieben Mütter nieder, wie sie die Geburt ihres Kindes erlebt hatten. Die Berichte stammen aus Threads in Online-Foren, die genau für dieses Genre vorgesehen sind. Ich habe nun 14’000 Berichte aus sechs unterschiedlichen deutschsprachigen Foren gesammelt, analysiert und dabei eine Diskrepanz zwischen diesem sehr individuellen Erlebnis und der Erzählung darüber aufgezeigt: In der Erzählung konnte eine extreme Musterhaftigkeit mit einem bestimmten erzähltypischen Ablauf festgestellt werden, mit bestimmten Themen und Motiven, die sich wiederholten. Die Musterhaftigkeit dieser Erzählungen konnte mit Hilfe digitaler Methoden freigelegt werden.

Genau hier kommt auch wieder der Unterschied z.B. zu reinem Data Mining ins Spiel, wo Fragen wie Narrativität und Sequenzialität zu kurz kommen. In den Geisteswissenschaften ist es uns dagegen klar, dass diese Aspekte eine Rolle spielen: Man kann einen Text nicht einfach als «Sack von Wörtern» (bag of words) auffassen, sondern es spielt eine Rolle, in welcher Sequenz diese Wörter vorkommen.

Es ging in diesem Projekt also auch darum, die Methodik so anzupassen, dass man diese narrativen Strukturen identifizieren kann.

Wie gehen Sie (technisch) vor, um eine solche Analyse durchzuführen?

Zunächst müssen die Daten «gecrawlt», d.h. automatisiert vom Web heruntergeladen werden. In einem aktuellen Projekt zu COVID19 News-Kommentaren haben wir z.B. mit Python und Selenium gearbeitet. Dabei übernimmt Selenium die «Benutzerinteraktion» auf einer dynamischen Webseite – diese sind heute ja nicht mehr einfach statisches HTML.

Diese Daten werden nun linguistisch, d.h. mit Wortarten-Tagging, syntaktischem Parsing, semantischen Annotationen etc. versehen. Dafür verwenden wir an unserem Lehrstuhl das UIMA-Framework, das mit Modulen oder eigenen Python-Skripts erweitert werden kann, die das Tagging oder andere Verarbeitungsschritte auf diesen Textdaten durchführen.

Im nächsten Schritt gehen diese verarbeiteten Daten in die Corpus Workbench, eine Datenbank, die spezialisiert ist, korpuslinguistisch annotierte Daten zu verwalten und zu analysieren. Für die Analyse wichtig sind in unserem Gebiet die n-Gramme – Gruppen von n Wörtern, sprachliche Muster –, die wir mit unserer selbst entwickelten Software cwb-n-grams berechnen können. Wie diese n-Gramme berechnet werden, kann dabei ganz unterschiedlich sein: Nimmt man als Basis die Grundformen der Wörter, reduziert man Redundanzen, behält man «Füllwörter» oder nicht, wie lange soll das n-Gramm sein, etc. Wir haben die Methodik zudem so erweitert, dass wir zusätzlich auch die erstellten Annotationen mit einbeziehen.

Die (statistische) Analyse selber kann man schliesslich z.B. mit R und plotly durchführen, für das ein Paket existiert, das direkt auf die Corpus Workbench zugreifen kann. Hier vergleichen wir die Häufigkeiten jeweils mit einem Referenzkorpus, um statistisch signifikante n-Gramme finden zu können. Signifikant heisst in dem Zusammenhang: Welche n-Gramme sind typisch für Geburtsberichte und nicht aus anderen Gründen häufig vorgekommen.

Der Output kann z.B. eine interaktive Grafik sein – hier das Beispiel zum Projekt «Geburtsgeschichten», das typische Positionen der n-Gramme im Verlauf der Erzählung darstellt. Man sieht an den n-Grammen, dass diese sprachlichen Muster über die 14’000 Texte hinweg immer wieder gleich und an ähnlichen Positionen in der Erzählung vorkommen. Die y-Achse zeigt die Standardabweichung bezüglich Position in der Geschichte: Je weiter oben ein n-Gramm erscheint, desto variabler war die Position im Verlauf. Auf der Grafik sind bestimmte Cluster von n-Grammen sichtbar, die aber weniger variabel waren, gegen Ende der Erzählung z.B. das n-Gramm «gleich auf den Bauch gelegt».

Eine rhetorische Frage: Was ist der Mehrwert gegenüber analogen Methoden?

[lacht] … Genau, was bringt’s wirklich? Zum einen, 14’000 Geschichten kann ich nicht einfach durchlesen. Aber im Ernst: Es zeigt sich eine Musterhaftigkeit in der Sprache, die nicht auffallen kann, wenn man nur Einzeltexte vor sich hat. Ich finde dieses datengeleitete Paradigma wichtig: Welche Strukturen ergeben sich eigentlich datengeleitet und nicht theoriegeleitet? Sehr wichtig ist dabei, dass wir im Anschluss eine geisteswissenschaftliche Interpretation davon machen. Man hat nicht zuerst eine theoriegeleitete Hypothese, die man stützen oder verwerfen kann, sondern generiert die Hypothese vielleicht erst durch diese Interpretation. Natürlich muss man dann wieder zurück in die Daten und prüfen, ob diese Hypothese wirklich stimmt – und man darf nicht vergessen, dass man trotz des induktiven Vorgehens noch Prämissen gesetzt hat: Allein die Definition, was als Wort aufgefasst wird, welche Daten wähle ich aus, etc.

Eine Challenge in der Linguistik ist heute, dass die Informatik uns neuronale Lernmethoden gibt, die statistische Modelle aus den praktisch unverarbeiteten Daten lernen. Der Algorithmus muss gar nicht mehr wissen, was ein Wort oder eine Wortart ist. Die Idee ist dann, dass sich die Musterhaftigkeit und allenfalls Kategorien wie Wortarten aus den Daten ergeben. Dies stellt natürlich die klassische Linguistik in Frage – wir experimentieren aber damit und fragen uns, inwiefern linguistische Theorien helfen zu verstehen, warum solche Methoden überhaupt funktionieren und wie sie verbessert werden können. Und doch ist es auch hier wichtig zu sehen, dass neuronale Lernmethoden keinesfalls objektive, neutrale Modellierungen von Sprache darstellen, sondern mit der Datenauswahl und den gewählten Parametern eben spezifischen Sprachgebrauch abbilden. Die Modelle sind genauso voller Verzerrungen – wir würden sagen: diskursiv geprägt – wie ihre Datengrundlage, was z.B. bei AI-Anwendungen problematische Folgen haben kann.

Für die Bearbeitung dieser Fragestellungen werden sehr viele verschiedene Technologiekenntnisse, aber auch sehr viel theoretisches Wissen vorausgesetzt – wie kann man die Studierenden da heranführen?

Man kann heute nicht Linguistik studieren, ohne eine Vorstellung zu haben, was algorithmisch möglich ist. Sie müssen verstehen, was ein Skript machen kann, wie HTML, XML und Datenbanken funktionieren, oder auch, was Machine Learning ist.

Als ich noch in Dresden war, haben wir eine Einführung in die Programmierung für Germanistinnen und Germanisten gegeben, die sich sehr bewährt hat. Der Kurs war sehr niederschwellig, die Studierenden sollten ein kleines Skript zu einem linguistischen Projekt schreiben. Einige Studierende vertiefen diese Kenntnisse weiter, andere nicht – doch zumindest können sie auf Augenhöhe mit Personen sprechen, die sie vielleicht in weiteren Projekten unterstützen.

Hier an der UZH plane ich gerade, hoffentlich mit einem Lehrkredit, ein E-Learning Modul zu Programmierkompetenzen für Geisteswissenschaftlerinnen und Geisteswissenschaftler. Das Modul soll aus Bausteinen bestehen, die man auch gut in andere, bereits bestehende Module einbinden kann und die teilweise auch curricular verpflichtend sind.

Heisst das, dass die Programmierkenntnisse disziplinär gebunden unterrichtet werden sollen? Oder lernt man besser Python in einem Pythonkurs, SQL in einem SQL-Kurs etc.?

Es gibt natürlich unterschiedliche Lerntypen, doch m.E. ist eine disziplinäre Verortung für die Mehrheit der Studierenden in den Geisteswissenschaften wichtig, weil man an den geisteswissenschaftlichen Fragen interessiert ist. Sonst hätte man vielleicht Informatik studiert. Es ist viel einfacher, wenn man eine konkrete Forschungsfrage hat, der man nachgehen kann und entlang derer man die nötigen Kenntnisse erwirbt. Man ist so einfach viel motivierter.

Hier schliesst sich auch der Bogen zur Frage, was «Digital Humanities» sein könnten…

Ja, denn für uns Geisteswissenschaftlerinnen und Geisteswissenschaftler ist eine Methode dann interessant, wenn sie «nahrhaft» für Interpretation ist, d.h. wenn ich daraus etwas machen kann, das mir in meinen Fragen weiterhilft. Es ist eine andere Art von Nützlichkeit als eine rein technologische für eine Anwendung, aber natürlich benötigen wir die Hilfe von anderen Disziplinen, wir haben das Know-How nicht, z.B. einen Part-of-speech-Tagger oder statistische Methoden zu verbessern.

Haben wir ein wichtiges Thema in der Diskussion ausgelassen, haben Sie eine Ergänzung oder einen Ausblick?

In meiner Habilitationsschrift, die demnächst erscheint, geht es um die «Diagrammatik», nämlich wie Darstellungen und Visualisierungen helfen, Daten anders zu verstehen. Es geht hier nicht nur um quantitative Aspekte, sondern darum, wie verschiedene Darstellungsformen neue Sichtweisen auf Daten ermöglichen.

Ein Beispiel ist die «Konkordanzliste»: Man hat hier einen Suchausdruck und sieht dessen unmittelbaren Kontext in verschiedenen Texten. Die Konkordanzdarstellung gibt es schon seit dem Mittelalter, er bricht die Einheit des Textes auf und versucht, einen Blick auf Fundstellen listenförmig darzustellen. Dadurch wird der Text «zerstört», aber gleichzeitig gewinnt man ganz viel, weil man eine neue Sicht erhält.

Für mich ist auch das auch eine Frage für die Digital Humanities, weil wir eigentlich ständig versuchen, unsere Daten in andere Ansichten zu transformieren, um etwas Neues daraus zu gewinnen. Viele dieser Visualisierungen sind erst mit den digitalen Mitteln möglich geworden.

In diesem Beispiel werden Gesprächstranskripte visualisiert: Die drei Gesprächsteilnehmerinnen und Gesprächsteilnehmer sind als Kreiszentren dargestellt. Die Jahresringe stellen einzelne Beiträge der Teilnehmenden dar. Je mehr Ringe, desto mehr sogenannte “turns” wurden von dieser Person beigetragen. Die verschiedenen Durchmesser der Jahresringe ergeben sich aus den Beitragslängen. Einige Beispiele können auf Noah Bubenhofers Seite gleich ausprobiert werden.

Herr Bubenhofer, ich danke Ihnen für dieses Gespräch!

 

Im Beitrag erwähnte Technologien und Seiten:

https://www.python.org/

https://www.selenium.dev/projects/

https://uima.apache.org/

http://cwb.sourceforge.net/

https://plotly.com/r/

http://www.bubenhofer.com/jahresringe/index.html

Posted on 1 Comment

Vortrag zum Thema “Flexible Generation of E-Learning Exams in R: Moodle Quizzes, OLAT Assessments, and Beyond”

Am Donnerstag, den 14. Februar 2013, hält Prof. Dr. Achim Zeileis (Universität Innsbruck, AT) im Rahmen der psychometrischen Tagung Psychoco 2013 (Psychometric computing), die von Prof. Dr. Carolin Strobl organisiert wird, einen Vortrag zum Thema Flexible Generation of E-Learning Exams in R: Moodle Quizzes, OLAT Assessments, and Beyond. In diesem Vortrag geht es um die Erstellung von Prüfungen in OLAT oder Moodle unter Verwendung der Open-Source-Software R.

Wenn Sie Interesse haben, den Vortrag zu hören, kommen Sie um 14h in den Hörsaal (BIN 1 B.01 im Gebäude Binzmühlestr. 14 in Oerlikon). Eine Anmeldung ist nicht erforderlich.

Continue reading Vortrag zum Thema “Flexible Generation of E-Learning Exams in R: Moodle Quizzes, OLAT Assessments, and Beyond”