Workshop für Einsteiger - Warum OpenRefine?

Folie - Warum OpenRefine? Folie - Warum OpenRefine?

In diesem Workshop für Einsteiger betrachten wir die grundlegenden Funktionen von OpenRefine im Archivalltag. Wir geben dabei nur eine grundlegende Einführung in den Umgang mit dem Programm und fokussieren uns gegen Ende auf den Abgleich mit Normdaten. Vertiefende Themen behandeln wir im Workshop für Fortgeschrittene.

Dieser Workshop wurde erstellt mit OpenRefine Version 3.5.0.
Dieser Workshop wurde zuletzt getestet mit OpenRefine Version 3.7.9.

Inhalte des Workshops

Zur Herkunft von OpenRefine

Ursprünglich wurde OpenRefine als Freebase Gridworks (OpenSource) für die Datenbanktechnologie Freebase entwickelt. Später wurde die entwickelnde Firma (Metaweb Technologies) von Google übernommen. Das Produkt wurde anschließend erst als Google Refine veröffentlicht und später als OpenRefine zu einem von der Community getragenen OpenSource Projekt.

Warum eigentlich OpenRefine?

OpenRefine is Excel on steroids!

Diese Aussage findet sich manchmal als Kurzbeschreibung von OpenRefine und ist genauso falsch wie goldrichtig. OpenRefine und Microsoft Excel haben unterschiedliche Anwendungsfälle.

Microsoft Excel ist ein Programm zur Tabellenkalkulation, wohingegen OpenRefine ein Programm zur Bereinigung, Umwandlung und Anreicherung von tabellarischen Daten ist.

Da aber Microsoft Excel zumindest bei uns häufig dafür eingesetzt wird, tabellarische Daten zu bereinigen, ist OpenRefine tatsächlich wie “Excel on steroids!”. Oder um einen Workshopteilnehmer zu zitieren:

Mit Excel hatten wir bisher einen Trabi.
Mit OpenRefine haben wir einen Ferrari bekommen.

OpenRefine und Künstliche Intelligenz?

Wie schon in Fünf Dinge, die wir an OpenRefine mögen berichtet, ermöglicht es die Architektur von OpenRefine, das Werkzeug sowohl auf einem Client (Laptop, Rechner), als auch auf einem Server laufen zu lassen. Die Bedienung erfolgt anschließend über den Browser.

flowchart LR subgraph server[fas:fa-server Server] server_or[fas:fa-gem OpenRefine] server_api[fas:fa-code Other API] end subgraph laptop[fas:fa-laptop Laptop] browser[far:fa-window-maximize Browser] laptop_or[fas:fa-gem OpenRefine] laptop_api[fas:fa-code Other API] laptop_python[fab:fa-python Python] end browser -.-> laptop_or & server_or laptop_python -.-> laptop_or & server_or laptop_or -.-> laptop_api & server_api server_or -.-> server_api

Wenn es auf einem Laptop eingesetzt wird, behält OpenRefine alle Daten lokal und führt auch die Bearbeitungen lokal durch. Erst wenn Daten aus dem Internet nachgeladen werden (Stichwort Reconciling), werden Daten an Dienste im Internet übermittelt.

Da OpenRefine verschiedene Clustering Methoden anbietet und über das Reconciliation API Protokoll den Zugriff auf Suchtechnologien ermöglicht, könnte man behaupten, dass OpenRefine die Bearbeitung von Daten mit künstlicher Intelligenz ermöglicht (konkret Maschinelles Lernen, ein Teilgebiet der künstlichen Intelligenz). Und damit gehört es genau zu der Art von Werkzeugen, die wir im FDMLab suchen, testen und bei Gefallen vorstellen.

OpenRefine und Big Data

Eine recht pragmatische Betrachtung von Big Data ist

Wenn es in den Arbeitsspeicher passt, ist es kein Big Data.

Sobald ein Datensatz zu groß ist, um ihn komplett im Arbeitsspeicher zu halten, werden Strategien aus dem Big Data Bereich benötigt, um sie bearbeiten zu können. OpenRefine hat solche Strategien (noch) nicht implementiert. 1

Dabei ist der Begriff Big Data nach obiger Betrachtung sehr relativ. Ein normaler Bürorechner ist üblicherweise mit 2 GB Arbeitsspeicher ausgestattet, eine Data Science Workstation mit 128 GB (und mehr) und ein Superrechner teilweise mit mehr als 4.500.000 GB.

Es ist also nicht zu erwarten, dass der Bürorechner eines Sachbearbeiters mit OpenRefine riesige Datenlieferungen umwandeln und bereinigen kann, auch wenn das auf einem besser ausgestatteten Rechner eines Data Scientist problemlos möglich wäre.

Fazit

Wir setzen OpenRefine ein, wenn wir Daten für die Übernahme in unser Archivisches Fachinformationssystem vorbereiten, oder für die Veröffentlichung in anderen Informationssystemen umwandeln. Hierfür nutzten wir bisher Excel mit viel manuellen Tätigkeiten oder spezialisierte Werkzeuge, die explizit für das Zielsystem entwickelt wurden.

Mit OpenRefine haben wir nun eine Zwischenlösung, die es uns ermöglicht, langwierige manuelle Tätigkeiten zu automatisieren, ohne explizit Programme dafür zu entwickeln.

Auch beim Zusammenführen von Daten aus unterschiedlichen Datenquellen nimmt uns OpenRefine viele manuelle Arbeiten ab.


Im nächsten Teil gibt es eine allgemeine Einführung in die Bedienoberfläche von OpenRefine.


  1. Dies ändert sich mit OpenRefine 4.0 und der geplanten Unterstützung von Apache Spark↩︎

Benjamin Rosemann
Benjamin Rosemann
Data Scientist

Ich evaluiere KI- und Software-Lösungen und integriere sie in den Archivalltag.

Ähnliches