Kontrollierte Vokabulare – Wieso? Weshalb? Warum?

Announcement Date: 30. März 2020

Anfang des Jahres stelle Matthias Andrasch einen Prototypen für eine OER-Suchmaschine vor. Dieser Prototyp ist von Jointly aufgegriffen und weiterentwickelt worden. Die Crawling Prozesse wurden durch den Einsatz des Python-Tools Scrapy optimiert sowie die gesamte Suchmaschine als Docker-Image aufgebaut. Damit lässt sich der Index einer Suchmaschine sozusagen “einfrieren” und kann als Container beliebig oft repliziert werden, was zu einer hohen Performanz führt (Nachtrag: Teile der beiden Prototypen werden im wirlernenonline-Projekt sowie dem OERSI-Projekt der TIB Hannover und des Hochschulbibliothekszentrums NRW nachgenutzt).

Essentieller Bestandteil der Prototypen sind sogenannte Crawler. Diese Suchen die Webseiten ab und speichern die relevanten Informationen über Lernmaterialien in einer Datenbank, die dann der Suchmaschine zur Verfügung gestellt wird. Beim Crawlen, d.h. beim „Absuchen“ der Webseiten nach Informationen, stellen sich zwei Probleme:

  1. viele Webseiten bieten keine maschinenlesbaren Metadaten (Informationen über die Daten) an
  2. die Bezeichnungen der Daten sind hoch variabel und schwanken hinsichtlich ihrer Qualität

1: Maschinenlesbare Metadaten

Ohne maschinenlesbare Informationen ist es für die Crawler, also die Maschinen schiwerig herauszufinden, wo welche Informationen auf der Seite stehen. Die Maschine kann eben nicht so gut wie der Mensch einfach erkennen, dass es sich in diesem Feld um den Namen der Herstellenden handelt, um das Fach oder um den Ressourcentypen. Die Einarbeitung dieser Informationen in den Crawler ist sehr mühselig und äußerst fragil: Es muss nämlich stets die genaue Position im HTML-Quelltext der Seite aufgeführt werden, um an die Information zu gelangen. Sollten sich die Betreiber:innen des Repos dazu entscheiden eine kleine Änderung an ihrer Seite vorzunehmen, kann dies dazu führen, dass der gesamte Crawler überarbeitet werden muss.

Um dieses Problem zu beheben soll ein Best-Practice-Guide erstellt werden, der Entwickler:innen mit Hilfe von praktischen Beispielen zeigt, wie sie maschinenlesbare Metadaten direkt in ihrer Webseite hinterlegen können.

2: Variabilität der Attributwerte

Die Einbettung maschinenlesbarer Informationen liegt auf Seite der Informationsbereitstellenden, i.e. der Repositoriumsbetreibenden und kann durch die Crawlenden nicht beeinflusst werden. Außerdem fehlen kontrollierte Wertelisten (Vokabulare), die den Repositoriumsbetreibenden dabei helfen, ihre Angaben zu vereinheitlichen. Was ist damit gemeint? Ein kontrolliertes Vokabular dient dazu einheitliche Bezeichnungen für dieselben Dinge zu definieren. Die Bezeichnungen „Mathematik“, „Mathe“, „Mathematics“ dienen beispielsweise alle zur Bezeichnung des Schulfaches „Mathematik“, jedoch in abgekürzter Form oder einer anderen Sprache. Wenn ein Crawler eine Webseite absucht und diese unterschiedlichen Bezeichnungen findet, weiß die Maschine zunächst nicht, dass es sich hierbei um das selbe Fach handelt und würde in einem Suchfilter drei verschiedene Werte anlegen.

Kontrollierte Vokabulare (SKOS)

Mit Hilfe kontrollierter Vokabulare können wir der Maschine jedoch sagen, dass es sich hierbei um dasselbe Fach handelt. Der Standard, der für das Anlegen und Pflegen solcher Vokabulare verwendet wird, nennt sich SKOS, Simple Knowledge Organization System (deutsche Einführung der DINI-KIM-AG). In Kurzform funktioniert es so: Es wird ein eindeutiger Identifier in Form einer URI für die Bezeichnung eines Items festgelegt (Bsp.: www.eine-persistente-url.de/mathematik). Diesem Identifier wird dann eine vorzugsweise verwendete Bezeichnung zugeordnet (Bsp: „Mathematik“@de –> das „@de“ bezeichnet die Sprache, in diesem Fall „Deutsch“). Dieses vorzugsweise verwendete Label nennt sich in SKOS „preferred Label“. Dieses Label gibt es dann für jede Sprache nur einmal. Damit weiß bspw. hinterher eine Webseite, dass sie dieses Label anzeigen soll. Außerdem können beliebig viele „alternative Labels“ für eine Sprache definiert werden. Hier könnte dann beispielsweise „Mathe“@de als umgangssprachliche Bezeichnung für das Fach „Mathematik“ in Deutschland definiert werden.

Das Hochschulbibliothekszentrum NRW (HBZ) hat zur Erstellung und Veröffentlichung solcher Vokabulare Tools entwickelt (http://skohub.io). Mit Hilfe dieser Tools können Vokabulare erstellt und im Internet unter einer URL veröffentlicht werden( Beispiel: vocabs.openeduhub.de). Besonders nützlich an diesem Tool ist, dass neben einer schönen menschenlesbaren Repräsentation der Vokabulare auch eine maschinenlesbare Repräsentation angefertigt wird. Dies bedeutet, dass in einem Crawling-Prozess die Maschine sich zunächst die möglichen Bezeichnungsarten einlesen kann und anschließend, wenn es ein Repositorium mit Lerninhalten durchsucht, die Werte dort mit dem Vokabular abgleicht.

Findet der Crawler nun beispielsweise die Bezeichnung „Mathe“ auf der Webseite, weiß die Maschine: „Ah, „Mathe“ ist ein alternativer Begriff für das Item mit dem Identifier „www.eine-persistente-url.de/mathematik“. Der Crawler speichert nun statt des Wertes „Mathe“ die URL und so kann die Webseite hinterher auf die URL schauen und sich das „preferred Label“ zur Bezeichnung des Eintrags holen. Diese Vorgehensweise besitzt den ungemeinen Vorteil, dass die Webseite stets die aktuelle Bezeichnung hat, selbst wenn sich das „preferred Label“ einmal ändern sollte. Es ist eben nur die Referenz zu dem Wert gespeichert, nicht aber der Wert selbst.

Erarbeitung und Veröffentlichung kontrollierter Vokabulare

Im Rahmen der Community Arbeit von Jointly sollen solche kontrollierten Vokabulare erstellt werden, damit künftige Infrastrukturen auf diese Wertelisten zugreifen können. Es bietet sich an, dass für dieses Vorhaben die Tools des HBZ genutzt werden. Die Entwicklung soll dabei auf der Plattform Github stattfinden, damit der Entwicklungsprozess öffentlich einsehbar und gestaltbar ist. Außerdem wird die Entwicklung der Wertelisten in der OER-Metadatengruppe bekannt gemacht. Eine weitere Einbeziehung von Community-Mitgliedern wird angestrebt.

Nachtrag:

Kontrollierte Vokabulare – Wieso? Weshalb? Warum?