GND Hierarchieinformationen zur Verbesserung der Erschließung
In der Gemeinsamen Normdatei (GND) sind für Sachbegriffe Hierarchieinformationen enthalten. In diesem Blogbeitrag berichten wir, wie wir diese Informationen verwenden, um die Verschlagwortung von relevanten Akten für die Provenienzforschung zu verbessern.
Wir berichteten bereits, wie wir ein Named-entity Recognition Modell mit Starthilfe durch die Gemeinsame Normdatei trainieren und wie wir die dadurch extrahierten Sachbegriffe normalisieren und mit der GND Sachbegriffen verknüpfen.
In diesem Blogbeitrag geht es um den letzten Workflowschritt, nämlich die Anreicherung von Oberbegriffen aus der GND zur Verbesserung der Verschlagwortung. 1
Schritt 5: Oberbegriffe nachladen
Wir haben 1.753 Begriffe aus der GND verlinkt. Aus diesen wollen wir basierend auf den Hierarchieinformationen in der GND ein hierarchisches Netzwerk aufbauen. Dafür müssen für die 1.753 Begriffe alle verknüpften Oberbegriffe sowie deren Oberbegriffe usw., nachgeladen werden. Da das potentiell ein recht großes Netzwerk werden könnte, haben wir das Netzwerk mit einer lokalen Kopie der GND in ihrer LOD-Form in Oxigraph berechnet. Dafür wurden mit SPARQL die relevanten Knoten und Verbindungen extrahiert, anschließend mit NetworkX zu einem Netzwerk zusammengefügt, und mit PyVis visualisiert.
Konkret haben wir alle Knoten vom Typ SubjectHeading und den entsprechenden Subtypen geladen. Als Verbindungen haben wir broaderTerm, broaderTermGeneral, broaderTermGeneric, broaderTermInstantial, broaderTermPartitive, broaderTermWithMoreThanOneElement und complexSeeReferenceSubject verwendet.
Dieses Netzwerk verwendeten wir zum einen für unsere Analysen. Zum anderen extrahierten wir daraus einen Teilgraphen mit den für uns relevanten Begriffen.
In dem von uns in Abbildung 1 gezeigten, extrahierten Teilgraphen sind zwar hierarchische Strukturen zu erkennen. Insgesamt sind jedoch sehr viele Einzelknoten um den Wurzelknoten herum zu sehen, und die üblichen Algorithmen zur Darstellung von Hierarchien weigerten sich das vermeintlich hierarchische Netzwerk verständlich darzustellen.
Im Folgenden besprechen wir die Probleme, über die wir gestolpert sind und prüfen, ob einige (problematische) Eigenschaften unseres extrahierten Teilgraphen auch im Gesamtnetzwerkes aller Sachbegriffe zu finden sind.
Typen von Oberbegriffen
In Abbildung 2 sind noch einmal die Unterklassen (Typen) von Normdatenressourcen (Authority Resource) in der GND Ontologie gezeigt. Wir arbeiten mit Schlagworten (SubjectHeading) und den zugehörigen Unterklassen.
Die Diagramme wurden mit unserer experimentellen Webanwendung zur GND Hierarchie Visualisierung von Sachbegriffen erstellt. Hier die Legende:
Wir hatten im letzten Blogbeitrag schon den Perserteppich erwähnt, der über complexSeeReferenceSubject
mit den Begriffen Teppich und Iran verknüpft ist.
Im folgenden Diagramm haben wir einige weitere Beispiele für Begriffe, die über Komposita definiert sind.
Darüber werden als Oberbegriffe auch GND Konzepte nachgeladen, die nicht vom Typ Subject heading oder einem Untertypen davon sind.
Diese können zum Beispiel vom Typ oder einem Untertypen von
Conference or Event,
Corporate Body,
Person,
Place or geographic name oder
Work sein.
Dies betrifft jedoch nicht nur die Verbindungen vom Typ complexSeeReferenceSubject
.
In den folgenden Diagrammen ist das Beispiel der Thora und des islamische Feiertags Maulid an-Nabi gezeigt.
Hier werden jeweils Sachbegriffe mit Werken über Verbindungen vom Typ broaderTermGeneral
verknüpft.
Nach unseren Analysen kommen wir auf 558 Knoten mit mindestens einem Oberbegriff, der nicht vom Typ SubjectHeading ist. Das ist bei 204.560 Sachbegriffen ein recht kleiner Anteil von circa 0,27 Prozent. Die entsprechenden Oberbegriffe mit anderem Typ müssen beim Netzwerkaufbau und der anschließenden Analyse jedoch mit berücksichtigt werden.
Mehrere Oberbegriffe
Die Verknüpfung von mehreren Oberbegriffen sorgt für Probleme bei der Berechnung von Hierarchielayouts. Wir haben zur Visualisierung unseres Teilgraphen die Anzahl an Oberbegriffen pro Knoten auf einen Oberbegriff begrenzt. Dadurch verlieren wir zwar Informationen in der Visualisierung, können den Teilgraphen jedoch besser visuell inspizieren.
Keine Oberbegriffe
In unserem Teilgraphen haben etwa 25 Prozent der Begriffe keinen Oberbegriff. Das hat unter anderem damit zu tun, dass die GND in vielen Bereichen entweder gar keine Hierarchieinformationen beinhaltet, oder sie inkonsequent gepflegt werden.
Zu den in unserem Projekt verwendeten Begriffen ohne Hierarchieinformationen gehören zum Beispiel Akte, Archivalie, Antiquität, Feuerzeug, Kamm, Nähzeug, Säge, …
Ähnliche Begriffe
Manchmal lassen sich für verwandte Begriffe Hierarchieinformationen ermitteln. Beispielsweise ist der Begriff Sofa unter den Sitzmöbeln einsortiert. Der Begriff Couch hingegen ist ohne jede Hierarchieinformation als verwandter Begriff zu Sofa erfasst. Verknüpft man eine Couch mit der GND, so erhält man keine Hierarchieinformationen, verknüpft man hingegen ein Sofa, dann erhält man umfangreiche Hierarchieinformationen. Es liegt also nahe, die Couch ebenfalls unter den Sitzmöbeln einzuordnen.
Nach unseren Beobachtungen ist es jedoch keine allgemeine Regel, dass die Hierarchieinformationen bei verwandten Begriffen weggelassen werden. Im folgenden Diagramm ist ein (reduziertes) Beispiel zu den Begriffen Tasse und Untertasse gezeigt.
Wir konnten in dem GND Graphen 3.907 Knoten identifizieren, die ggf. auf diese Art mit weiteren Hierarchieinformationen versehen werden könnten.
In unseren Daten waren es 105 Knoten, die wir mit dieser Strategie in die Hierarchie einbinden konnten.
Dabei ist jedoch zu beachten, dass durch die Einbindung über relatedTerm
Zyklen entstehen können.
Im folgenden Diagramm wird dies am Beispiel der Begriffe Körper und Leib dargestellt, wo Leib sowohl ein Oberbegriff, als auch ein verwandter Begriff zu Körper ist.
Analyse Subgraph
Mit den oben beschriebenen Erfahrungen und Anpassungen konnten wir aus dem Netzwerk eine darstellbare Hierarchie erzeugen, die wir visuell inspizieren können. Dabei ist uns aufgefallen, dass die Hierarchie in vielen Bereichen ziemlich flach ausfällt. Abbildung 3 zeigt einen kleinen Ausschnitt der Hierarchie.
Der Radius der grauen Knoten gibt ungefähr an, wie viele Akten mit diesem Begriff direkt gefunden werden würden. Die Skalierung musste jedoch nach unten auf 5 Treffer und oben auf 50 Treffer begrenzt werden. Ansonsten wären Kreise mit einem kleineren Durchmesser nicht mehr sichtbar, und einzelne Begriffe mit mehr als 1.000 betroffenen Akten würden große Teile des Graphen überdecken.
Die roten Knoten zeigen Begriffe, für die wir keine direkten Treffer in den Akten haben. Diese wurden über die Hierarchieinformationen der GND als zusätzliche Begriffe nachgeladen. Diese zusätzlichen Begriffe machen in manchen Bereichen Sinn.
In den Bereichen Biologie und Chemie, die sehr ausführliche und tiefe Hierarchieinformationen haben, sollten die Begriffe in unserem Teilgraphen jedoch reduziert werden. So ist es fachlich zwar korrekt, dass Messing eine Kupferlegierung ist, die zu den Buntmetalllegierungen gehört, welche zu den Schwermetallegierungen gehört, welches eine Legierung ist… diese Informationen bieten in unserem Kontext jedoch keinen Mehrwert.
Hier werden wir in Nachfolgearbeiten versuchen, mit verschiedenen Algorithmen aus der Netzwerkanalyse “überflüssige” Knoten wieder aus der Hierarchie zu entfernen.
In einer weiteren Verbesserung der Visualisierung der Hierarchie in unserem GND Teilgraphen in Abbildung 4 haben wir einzelne Knoten zusätzlich eingefärbt.
- Orange: Gegenstand
- Grün: Material
- Blau: Marke/Herkunft
- Lila: Stil
- Gemischt Rot: mehrere Kategorien
So konnten bei der visuellen Prüfung schon einige Probleme und fehlerhafte GND Abgleiche identifiziert werden, die in der Liste der mehr als 67.500 Einzelbegriffe untergegangen waren. In Abbildung 4 ist zum Beispiel das Glas in einem gemischten Rot markiert, weil der Begriff sowohl für den Gegenstand Glas, als auch für das Material Glas verwendet wurde. 2
Analyse GND SubjectHeading Graph
Wir haben uns gefragt, ob wir bei der Extraktion unseres GND Teilgraphen Fehler gemacht haben, oder einfach Pech mit unseren Daten hatten, oder ob sich manche Eigenschaften unseres GND Teilgraphen auch im großen Graphen der GND SubjectHeadings wiederfinden.
Daher haben wir eine oberflächliche Analyse des SubjectHeadings Graphen durchgeführt.
Komponenten und Größen
Unsere erste Feststellung war, dass der Gesamtgraph der GND SubjectHeadings mit 204.560 Knoten in 47.388 Teilgraphen (Komponenten) zerfällt, die nicht miteinander verbunden sind.
In Abbildung 5 ist ein Streudiagramm gezeigt, wo auf der X-Achse die Größe der Komponente und auf der Y-Achse die Anzahl an Komponenten dieser Größe dargestellt ist. Die Größe des Symbols zeigt, wie viele unterschiedliche (Sub)Typen von SubjectHeading betroffen sind.
Auf Grund der enormen Größenunterschiede ist das Diagram logarithmisch skaliert, so dass die Interpretation schwierig(er) ist.
Der Stern ganz links oben stellt 41.465 Komponenten dar, die jeweils nur aus einem Knoten bestehen. Dies umfasst die Typen CharactersOrMorphemes (2.912), EthnographicName (1.257), GroupOfPersons (158), HistoricSingleEventOrEra (635), Language (5), MeansOfTransportWithIndividualName (8), NomenclatureInBiologyOrChemistry (15.132), ProductNameOrBrandName (422), SoftwareProduct (134), SubjectHeading (12), SubjectHeadingSensoStricto (20.900).
Der Stern ganz rechts unten stellt eine Komponente mit einer Größe von 140.105 Knoten dar, welche die Typen CharactersOrMorphemes (261), EthnographicName (2.510), GroupOfPersons (589), HistoricSingleEventOrEra (4.031), Language (5.942), MeansOfTransportWithIndividualName (1.479), NomenclatureInBiologyOrChemistry (11.428), ProductNameOrBrandName (6.994), SoftwareProduct (8.056), SubjectHeading (8.220) und SubjectHeadingSensoStricto (91.381) umfasst.
Anteil von Komponenten bestimmter Größen
Aus dem Diagramm in Abbildung 5 lässt sich ablesen, dass der Graph nicht vollständig verbunden ist und sich in zwei Extreme verteilt. Viele Knoten sind gar nicht, oder nur wenig in Hierarchien eingebunden, andere sind in einem Netzwerk mit 140.105 Knoten zusammengefasst. In dem Diagramm in Abbildung 6 ist dies noch einmal visuell dargestellt. Der letzte große Teilgraph mit den 140.105 Knoten ist im Diagramm abgeschnitten.
Auf der X-Achse ist wieder die Größe der Komponenten abgebildet und auf der Y-Achse der prozentuale Anteil an Knoten, den Komponenten dieser Größe im Gesamtgraphen innehaben.
- Etwa 20 Prozent der Knoten haben keine Hierarchieinformationen.
- Etwa 30 Prozent der Knoten sind in Teilgraphen mit weniger als 20 Knoten verbunden.
- Etwa 68 Prozent der Knoten sind in einem Teilgraphen mit 140.105 Knoten zu finden.
Tiefe der Hierarchie
Es wäre zu erwarten, dass mit Zunahme der Größe der Komponenten auch die Tiefe der Hierarchie steigt. Daher haben wir in einem Boxplot in Abbildung 7 die maximale Tiefe der Hierarchie jeder Komponente analysiert und sortiert nach Komponentengröße ausgewertet.
Prinzpiell steigt die Tiefe der Hierarchie mit steigender Komponentengröße etwas. Jedoch wäre bei einer Komponente mit 114 Knoten mehr als 2 Hierarchiestufen zu erwarten. Oder bei einer Komponente mit 140.105 Knoten mehr als 13 Hierarchiestufen.
Kindknoten pro Knoten
Wenn es relativ wenig Hierachiestufen gibt, liegt die Vermutung nahe, dass es in den einzelnen Komponenten Knoten gibt, die sehr viele direkte Unterknoten haben. Daher haben wir noch einmal die Anzahl an Kindknoten pro Knoten analysiert und sortiert nach Komponentengröße in einem Boxplot in Abbildung 8 ausgewertet.
Die graue Linie markiert die maximale Anzahl an Kindknoten, die ein Knoten in einer Komponente einer bestimmten Größe haben kann. Auffällig ist, dass es bei vielen Komponenten Knoten gibt, die nahe an dieser Grenze liegen. Die Komponente besteht dann aus einem Oberknoten mit dem (fast) alle restlichen Knoten der Komponente verbunden sind.
Interessant sind auch die drei Knoten in der größten Komponente, die mehr als 1.000 direkte Kindknoten haben. Hierbei handelt es sich um eine große Anzahl an Verbindungen des Typs Broader term (instantial), die im GND Explorer als “Ist ein Beispiel für andere Entität” angezeigt werden.
Fazit
Nach anfänglichen Schwierigkeiten konnten wir eine für uns in großen Teilen brauchbare Hierarchie aus der GND extrahieren, die wir für unser Projekt weiter bearbeiten können.
Wir waren in unserem Teilgraphen verwundert über die doch vielen Begriffe, die ohne Hierarchieinformationen in der GND liegen. Mit unserer Analyse des Gesamtgraphen konnten wir bestätigen, dass dies wohl ein generelles Problem bei GND Sachbegriffen ist.
Auch sind die Hierarchien in unserem Teilgraphen selbst relativ flach, was sich bei der Analyse des Gesamtgraphen ebenfalls als Eigenschaft der GND bestätigte.
Alternativ könnte es sich auch um ein systematisches Problem in unserer LOD Variante der GND oder unserer Auswahl von Verbindungsarten zwischen GND Sachbegriffen liegen. Wir konnten in unseren Stichproben jedoch keine Hinweise auf solche Fehler finden.
Es würde sich jetzt anbieten die Analyse ausführlicher zu gestalten und dabei zum Beispiel zusätzlich GND Sachgruppen, die einzelnen Subtypen von SubjectHeading, sowie die unterschiedlichen Verbindungsarten weiter zu analysieren. Dies würde jedoch den Rahmen unseres aktuellen Projektes übersteigen.
Prinzipiell kommt es nach unseren Beobachtungen darauf an, in welchem (Fach-)Bereich man sich innerhalb der GND Sachbegriffen bewegt. So fanden wir für unseren Anwendungsfall die Hierarchieinformationen für Haushaltsgegenstände unzureichend, die zu Musikinstrumenten passend und hilfreich, und die für Begriffe aus der Biologie und Chemie zu ausführlich.
Details zur Motivation und unserem generellen Vorgehen haben wir schon unter NER und GND zur Verbesserung der Erschließung berichtet. ↩︎
Details zum Glas als Material und Gegenstand, sowie zu den Kategorien, finden sich im Artikel NER und GND zur Verbesserung der Erschließung. ↩︎