Neu: Alex von Humboldt auf Twitter!

Am Anfang des Sommersemesters berichtete ich hier von einer Übung zum Thema Information Extraction, für die ich als Inhalt die Verarbeitung von Daten (eine Chronologie des Alexander von Humboldt von 1766-1859) vorgesehen hatte, die von der Berlin-Brandenburgischen Akademie der der Wissenschaften (BBAW) unter der Lizenz CC-BY-SA 4.0 zur Verfügung gestellt werden. Die BBAW nutzt die Daten selbst für ihr Akademievorhaben „Alexander von Humboldt auf Reisen – Wissenschaft aus der Bewegung“. Dieser Follow-up-Blogpost ist der Bericht, wie die Übung gelaufen ist und welche Ergebnisse sie erbracht hat.

Da es sich um eine Übung für ein Aufbaumodul des Bachelorstudiengangs Informationsverarbeitung handelte, wollte ich nicht zuviel, vor allem aber keine erweiterten Programmierkenntnisse voraussetzen. Stattdessen habe ich im Unterricht verschiedene Tools zur Verarbeitung und Ausbeutung (Mining lässt sich hier schlecht ins Deutsche übertragen) von Textdaten vorgestellt, welche die Teilnehmer|innen über Webservices nutzen konnten. Um die verschiedenen Services miteinander verknüpfen zu können, habe ich außerdem eine eigene Java-basierte Software geschrieben, welche die Daten entsprechend aufbereiten kann. Dabei wurden die aus den Webservices bekannten Tools über ihre API (Abstract Programming Interface) in ein von mir erstelltes Programmgerüst integriert. Ich hätte hier auf bestehende Workflow-Management-Ansätze wie Tesla, UIMA oder dkpro zurückgreifen können, zog es aber vor, eine sehr einfach gehaltene Eigenimplementation zu erstellen, an der Studierende nachvollziehen können, was wo im Programmcode geschieht – denn selbst wenn sie noch keine weitergehende Programmiererfahrung haben, müssen sie diese bis zum Abschluss des BA erwerben. Der Code ist für den Gebrauch im Unterricht erst nach und nach entstanden und müsste für eine Nachnutzung noch einmal gründlich überarbeitet werden. Nicht Abschreckbare finden ihn jetzt schon hier unter github.

Alexander von Humboldt. Gemälde von Joseph Karl Stieler (1843). Wie das Beitragsbild (Gemälde von Georg Weitsch, 1812) gemeinfrei.

Zu jedem Thema der Übung gab es eine theoretische Einführung über die Grundlagen der Technologien, die Vorstellung eines Online-Services und schließlich eine Aufgabe für die Teilnehmer|innen, die den vorstellten Service auf einen Ausschnitt der Daten anwenden und die Ergebnisse evaluieren sollten. Literaturhinweise zu den Themen hatte ich schon im vorangegangenen Blogpost gegeben. Im Einzelnen behandelten wir:

  1. XML-Verarbeitung mit XSLT, um die von der BBAW gelieferten Daten für die weiteren Webservices zugänglich zu machen. Eingesetzter Webservice: w3cschools XSLT editor.
  2. Auffinden und Auszeichnung temporaler Ausdrücke / Temporal Expression Detection. Webservice: HeidelTime.
  3. Auffinden und Auszeichnung von Eigennamen (Personen, Orte, Sonstiges) / Named Entity Recognition. Webservice: StanfordNER – der ist manchmal etwas überlastet. Der Support meldete mir, dass die armen Kirchenmäuse dort das Ding auf einem ganz alten Server laufen lassen müssen 🙂
  4. Automatisiertes Twittern aus Tabellen. Webservice: autochirp

Die theoretischen Einführungen gingen unterschiedlich tief, zwischendurch entschloss ich mich, noch Hidden-Markov-Modelle und verschiedene Klassifikationsalgorithmen zu erläutern, damit das Prinzip der Conditional Random Fields, welche in den führenden Ansätzen zur Eigennamenerkennung eingesetzt werden, besser verstanden werden konnte. Daneben erläuterten wir verschiedene Möglichkeiten der Evaluation. Bei der Informationsextraktion komplexer Ausdrücke (wie mehrteiligen Namen) ist nämlich nicht fix festgelegt, wie Teiltreffer bewertet werden sollten. Außerdem war auch immer die Implementation der Services in den Programmablauf des von mir verwendeten Java-Programms Teil des Unterrichts.

Übersicht zu den einzelnen Schritten der Datenverarbeitung, die wir im Kurs vorgenommen haben.

Am Ende hatten wir die Daten, welche die BBAW uns am Anfang des Semesters überlassen hatte, tatsächlich mit weiteren Auszeichnungen zu Orten, Personen und Zeitangaben versehen. Nur hatte die BBAW an anderer Stelle die Daten zum Teil schon manuell auszeichnen lassen und nebenher ein Personen- und Ortsregister entwickelt, auf das die einzelnen Fundstellen abgebildet wurden. Dieses in unserem Workflow zu berücksichtigen, blieb leider keine Zeit mehr. Zugegebenermaßen (und wenig überraschend) sind die manuellen Auszeichnungen der BBAW präziser als unsere maschinellen Verfahren. Dafür haben wir aber eine größere Ausbeute.  In der letzten Stunde des Semesters konnten wir noch kurz Möglichkeiten erörtern, wie die Ergebnisse der beiden Ansätze kombiniert werden und wir die Abbildung auf die Register auch maschinell vornehmen könnten. Dazu könnte man die Register auch mit Linked-Open-Data-Repositories wie Wikidata verbinden (was wir z.B. schon mit Autoren und Werken in unserem Tiwoli-Webservice gemacht haben). Dies muss aber auf ein anderes Seminar verschoben werden.

Auch wenn wir hinsichtlich der Datenaufbereitung nur ein Zwischenziel erreicht haben (was ich für eine BA-Übung für absolut o.k. halte), haben wir die Daten immerhin dafür nutzen können, dass die Chronologie des Alexander von Humboldt auf Twitter in den nächsten 12 Monaten tagesgenau nacherzählt wird. Wer daran interessiert ist, folge einfach dem Account „Alex von Humboldt“ @AvHChrono.

Cite this article as: Jürgen Hermes, "Neu: Alex von Humboldt auf Twitter!," in TEXperimenTales, 17/08/2017, http://texperimentales.hypotheses.org/2069.

Ein Gedanke zu „Neu: Alex von Humboldt auf Twitter!

Schreibe einen Kommentar

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