Heute ging es um die Software OpenRefine und die Möglichkeiten, die sie bietet, Daten zu vereinheitlichen und zu bereinigen. Oder wie es auf der Webseite heisst: “A free, open source, powerful tool for working with messy data”. Nach einer allgemeinen Einführung installierten wir OpenRefine auf der virtuellen Maschine, um danach direkt damit arbeiten zu können. Die Installation verlief bei mir ganz ohne Probleme.

Da ich noch immer nur einen kleinen Bildschirm habe (in diesem Aspekt scheine ich sehr lernresistent zu sein), schaute ich mir die Präsentation der Basisfunktionen an, ohne aktiv mitzuarbeiten. Es war spannend zu sehen, welche Unstimmigkeiten in den Daten auftreten können und wie diese behoben werden können. Gerade die Cluster Funktion fand ich sehr interessant, weil sie die Möglichkeiten, aber auch die Grenzen eines maschinellen Algorithmus aufzeigt. Trotz automatischer Auflistung muss alles noch manuell bestätigt werden, sprich intellektuell überprüft werden, ob die Maschine die richtigen Rückschlüsse gezogen hat.

Ein kleines Erfolgserlebnis hatte ich beim kurzen Exkurs in Richtung Scriptsprachen beim Erstellen einer neuen Spalte: Ich konnte die einzelnen Befehle erstaunlich gut nachvollziehen. Anscheinend ist da doch einiges hängen geblieben in den letzten Semestern. Solche kleinen Aha-Erlebnisse freuen mich doch immer sehr.

Nach dieser Einführung in das Tool OpenRefine, folgte der Hauptteil der heutigen Vorlesung: Die Modellierung einer MARCXML Datei. Zur Einstimmung schauten wir uns ein MARCXML Objekt an. Da ich aber noch immer nicht ganz gesund war, musste ich die Vorlesung an dieser Stelle verlassen und mir den Rest des Stoffes aus der Aufzeichnung erarbeiten.

Im Unterschied zu MarcEdit, das wir ja in der letzten Vorlesung angeschaut haben, kann bei OpenRefine das "Template", welches zur Transformation einer Datei genutzt wird, direkt bearbeitet werden. Ich fand diese Modellierung sehr interessant, da durch sie detailliert aufgezeigt wurde, wie so ein Format genau aufgebaut ist. Wir hatten uns ja bereits hin und wieder eine Datei genauer angeschaut, aber es war nochmals ein Unterschied, einfach passiv durch die Zeilen zu lesen oder sie aktiv selber zu modellieren. Die zwei Gruppenübungen halfen, die benutzte Scriptsprache (GREL) nochmals genauer anzuschauen. Ich fand das Thema sehr interessant. Alleine bin ich natürlich nicht auf alle Funktionen gekommen: Das bereits früher in der Vorlesung erwähnte value.split (aufteilen) sagte mir was und unter value.replace (ersetzen) konnte ich mir auch etwas vorstellen. Andere Befehle und Befehlsteile kannte ich nicht, deshalb war es spannend zu hören, was die Gruppen in der Vorlesung erarbeitet hatten und was dann auch Herr Lohmeier dazu sagte (so kümmert sich zum Beispiel der Befehl .escape('xml') um die richtige Transformation von Sonderzeichen wie & und Umlauten in die entsprechenden Ausdrücke von XML). Den Ausführungen – auch denen zur erforderlichen Schleife – konnte ich dann auch gut folgen und auch die zweite Übung, die von Herrn Lohmeier ja vorgeführt wurde, habe ich gut verstanden, was mich natürlich freute. Zumindest das "passive Verständnis" scheint also zu funktionieren.