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.
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:
- 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.
- Auffinden und Auszeichnung temporaler Ausdrücke / Temporal Expression Detection. Webservice: HeidelTime.
- 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 🙂
- 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.
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.
Hallo Welt! Hier werden Jahrestage der Ereignisse der Chronologie des Alexander von Humboldt getwittert. (Daten @bbaw_de, Tool @auto_Chirp).
— Alex von Humboldt (@AvHChrono) August 16, 2017
OpenEdition schlägt Ihnen vor, diesen Beitrag wie folgt zu zitieren:
Jürgen Hermes (17. August 2017). Neu: Alex von Humboldt auf Twitter! TEXperimenTales. Abgerufen am 10. Dezember 2024 von https://doi.org/10.58079/uq5d
2 Antworten auf „Neu: Alex von Humboldt auf Twitter!“
[…] Alexander von Humboldt auf Twitter und die Technik dahinter: http://texperimentales.hypotheses.org/2069 […]
[…] Named Entity Recognition eigneten sich diese natürlich auch für einen Twitter-Account, die @AvHChrono. Genauso wie @TiwoliChirp wird diese in der jeweils aktuellen Version jedes Jahr neu geschedult […]