Named-entity Recognition und Gemeinsame Normdatei zur Verbesserung der Erschließung

Zwei Figuren bringen die letzten beiden Teile für eins Puzzle. Bild von Alexa auf Pixabay.

Das FDMLab unterstützt das Projekt Provenienzforschung im Landesarchiv bei der Verbesserung der Auffindbarkeit von relevanten Akten. In diesem Blogbeitrag fassen wir unsere Erfahrungen beim Einsatz von Named-entity Recognition (NER) zur Extraktion von spezifischen Sachbegriffen und der Verknüpfung dieser Sachbegriffe mit der Gemeinsamen Normdatei (GND) zusammen.

Wir berichteten bereits in NER Modell mit GND Starthilfe trainieren, wie wir ein Experiment zum Trainieren eines NER Modells zur Erkennung von Objekten, Kunst-, Kultur- und Alltagsgegenständen in den Erschließungsdaten bestimmter Bestände durchführten. 1

Diese Vorarbeiten für das Projekt Provenienzforschung wurden im Januar produktiv umgesetzt, so dass wir über unsere ersten Ergebnisse und Erfahrungen berichten können.

Motivation: Volltextsuche vs Verschlagwortung

In den Findmitteln des Landesarchives gibt es in bestimmten Beständen umfangreiche Erschließungsdaten zu Objekten, Kunst-, Kultur- und Alltagsgegenständen, die im Kontext der Provenienzforschung interessant sein könnten. Diese Bestände sind aktuell nur mit einer Volltextsuche zu durchsuchen.

Sucht man zum Beispiel nach einer “Porzellantasse”, so ergeben sich Probleme mit der deutschen Sprache und der unterschiedlichen Tiefe der Erschließung einzelner Akten oder Bestände. Hier sind einige konstruierte Beispiele, wie die gesuchte “Porzellantasse” in unseren Erschließungsdaten gelistet sein könnte:

  1. Anzeige des Verlustes der Wohnungseinrichtung der Freiburger Wohnung.
  2. ... darunter ein Porzellanservice ...
  3. ... ein Porzellanservice bestehend aus 4 Tassen, 4 Tellern, ...
  4. Im Hausrat befanden sich..., Ludwigsburger Porzellantassen, ...
  5. ... 4 Tassen (Ludwigsburger Porzellan, Empire Stil) ...

Mit dem Suchwort “Porzellantasse” in einer einfachen Volltextsuche, würde man von diesen fünf Beispielen lediglich das vierte Beispiel in den Suchergebnissen finden.

Um die Auffindbarkeit von Objekten zu erhöhen, wollen wir solche Erschließungsdaten daher zusätzlich mit Schlagworten versehen. Da (neue) Schlagworte im LABW mit einer GND-ID versehen sind, könnte eine semantische Suche bei der Suche nach Findbucheinträgen mit dem Schlagwort “Tasse” auch die “Porzellantasse” berücksichtigen. Wie in dem folgenden Diagramm dargestellt, ist in der GND die Information gespeichert, dass die Porzellantasse ein Spezialfall einer Tasse ist, welches zum Essgeschirr dazugehört, usw.

flowchart LR 4175414-1(["Porzellantasse"]):::initial click 4175414-1 href "https://lobid.org/gnd/4175414-1" "4175414-1" _blank 4184488-9["Tasse"] click 4184488-9 href "https://lobid.org/gnd/4184488-9" "4184488-9" _blank 4124863-6["Essgeschirr"] click 4124863-6 href "https://lobid.org/gnd/4124863-6" "4124863-6" _blank 4186181-4["Trinkgefäß"] click 4186181-4 href "https://lobid.org/gnd/4186181-4" "4186181-4" _blank 4140542-0["Geschirr #lt;Hausrat#gt;"] click 4140542-0 href "https://lobid.org/gnd/4140542-0" "4140542-0" _blank 4128003-9["Gefäß"] click 4128003-9 href "https://lobid.org/gnd/4128003-9" "4128003-9" _blank 4132060-8["Hausrat"] click 4132060-8 href "https://lobid.org/gnd/4132060-8" "4132060-8" _blank 4020299-9["Gerät"] click 4020299-9 href "https://lobid.org/gnd/4020299-9" "4020299-9" _blank 4175414-1 --> 4184488-9 4184488-9 --> 4124863-6 4184488-9 --> 4186181-4 4124863-6 --> 4140542-0 4186181-4 --> 4128003-9 4140542-0 --> 4132060-8 4128003-9 --> 4020299-9 classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000; classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000; classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;

Da wir aktuell keine semantische Suche anbieten, müssen wir die zusätzlichen Schlagworte selbst ergänzen. Also zum Beispiel den Begriff Tasse für Porzellantasse ergänzen.

Die Diagramme wurden mit unserer experimentellen Webanwendung zur GND Hierarchie Visualisierung von Sachbegriffen erstellt. Hier die Legende:

flowchart LR initial(["Fokussierter Begriff"]):::initial broader["Oberbegriff"] initial --> broader narrower["Unterbegriff"] narrower --> initial missing["Erwartete Verknüpfung"] initial x-.-x missing category[["GND Sachgruppe"]]:::category initial --> category broader --> category narrower --> category similar["#Auml;hnlicher Begriff"] initial <-.-> similar broader <-.-> similar narrower <-.-> similar classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000; classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000; classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;

Workflow

Unser technischer Workflow besteht aus den folgenden fünf Schritten:

flowchart LR filtern["1. Filtern"] ner["2. NER"] normalisieren["3. Normalisieren"] gnd_abgleich["4. GND Abgleich"] begriffe_nachladen["5. Oberbegriffe"] filtern --> ner --> normalisieren --> gnd_abgleich --> begriffe_nachladen
  1. Das Filtern der relevanten Findbücher und Findbucheinträge erfolgte mit OpenRefine auf einem CSV-Abzug der Daten in unserem Archivischen Fachinformationssystem (AFIS).
  2. Das Named-entity Recognition wurde mit einem über Prodigy selbst trainierten spaCy Modell durchgeführt.
  3. Die Normalisierung der via NER gefundenen Begriffe erfolgte unter anderem mit Clustering-Methoden in OpenRefine.
  4. Der GND Abgleich erfolgte ebenfalls mit OpenRefine über die lobid-gnd OpenRefine Reconciliation Schnittstelle.
  5. Das Nachladen der Oberbegriffe erfolgte auf Grund der Größe des resultierenden Netzwerkes auf einer lokalen Kopie der GND in ihrer LOD-Form in Oxigraph. Dort wurden mit SPARQL die relevanten Knoten und Verbindungen extrahiert, anschließend mit NetworkX zu einem Netzwerk zusammengefügt und mit PyVis visualisiert.

NER Ergebnisse und Normalisierung (Workflow Schritte 2 + 3)

Wir haben mit unserem NER Modell 66.206 Begriffe extrahiert (Schritt 2), wovon 1.468 wieder verworfen wurden (Schritt 3+4). Das entspricht einer Genauigkeit von etwa 97,8%. Damit sind wir etwas besser, als die laut Modellevaluation erwarteten 95% Genauigkeit. Nach der Normalisierung (Schritt 3) hatten wir 67.561 Begriffe, die wir mit 1.753 Begriffen in der GND verlinken konnten (Schritt 4).

Die Steigerung der Anzahl der Begriffe kommt daher, dass wir beim Modelltraining gemeinsame Begriffe z.B. aus Aufzählungen auch gemeinsam erfasst und später in OpenRefine getrennt haben. Prinzipiell wird das umgekehrte Verfahren empfohlen, also die Begriffe getrennt zu markieren/extrahieren und in einem nachgelagerten Arbeitsschritt zu verknüpfen. 2 Dies war uns für dieses einmal durchgeführte Projekt jedoch zu aufwendig.

Hier an konkreten Beispielen erklärt:

  • Aus dem zusammengesetzten Begriff China- und Perserteppiche werden in Schritt 3 die zwei Begriffe Teppich aus China und Perserteppich.
  • Aus Porzellantassen, -teller und -kannen werden in Schritt 3 die drei Begriffe Tasse aus Porzellan, Teller aus Porzellan und Kanne aus Porzellan.
  • Aus Gabeln, Messer und Löffel aus Silber werden in Schritt 3 die drei Begriffe Gabel aus Silber, Messer aus Silber und Löffel aus Silber.

Ein weiteres Problem, welches uns beim Normalisieren der Begriffe aufgefallen ist, ist dass wir zusammengesetzte Begriffe haben, die sich in diesem Detailgrad nicht mit der GND abgleichen lassen. Daher haben wir jeden Begriff in die vier Bestandteile Gegenstand, Material, Herkunft/Marke und Stil zerlegt. 3

In der folgenden Tabelle wird gezeigt, wie die Ludwigsburger Empire-Porzellantasse in die vier Bestandteile zerlegt (1) und anschließend mit dem möglichst spezifischsten Begriff in der GND abgeglichen wurde (2).

GegenstandMaterialHerkunft/MarkeStil
(1)TassePorzellanLudwigsburger PorzellanEmpire
(2)PorzellantassePorzellanLudwigsburger PorzellanEmpire

Probleme beim Abgleich mit der GND (Workflow Schritt 4)

Beim Finden von passenden Konzepten und Begriffen in der GND haben sich mit unseren Daten mehrere Probleme ergeben.

  1. Dieser Artikel zeigt eine Momentaufnahme der GND zum Zeitpunkt unserer Projektumsetzung. Im Zuge der kontinuierlichen Verbesserung der Datenqualität der GND haben sich einige der im Folgenden beschriebenen Probleme eventuell schon erledigt.
  2. Prinzipiell wäre ein auf Objekte ausgelegter Thesaurus, wie zum Beispiel der Art & Architecture Thesaurus von Getty, für unsere Daten geeigneter. Jedoch ist im LABW aktuell lediglich die GND als Normdatenvokabular freigegeben.
  3. In der GND wird zwischen Begriffen unterschieden, die für die Sacherschließung, für die Formalerschließung oder beide gemeinsam genutzt werden sollten. Die lobid-gnd OpenRefine Reconciliation API, als auch unsere im FDMLab genutzten Werkzeuge, arbeiten jedoch mit der Linked-Open-Data Form der GND. In dieser Variante wird die Information zur Verwendung nicht veröffentlicht, weshalb wir sie (meistens) ignorieren.

Teppiche

Teppiche sind häufig nach ihrer Herkunft benannt. Bekannt ist hier zum Beispiel der Perserteppich, welcher in der GND als Kompositum aus den Begriffen Teppich und Iran zusammengesetzt wurde. Leider war das auch der einzige Teppich in unseren Daten, für den wir ein entsprechendes Konstrukt in der GND finden konnten. 4

Porzellan

Porzellan wird ähnlich wie Teppiche nach seiner Herkunft bezeichnet. In der GND finden sich unter dem Sachbegriff Porzellan einige bekannte Bezeichnungen wie Berliner Porzellan, Ludwigsburger Porzellan und Meißener Porzellan. Diese sind anders als Teppiche jedoch nicht als Kompositum mit relationierten Beziehungen angelegt, sondern es ist eine direkte Beziehung zu dem Normdateneintrag des Herstellers und/oder des Geografikums hinterlegt.

Für die in unseren Daten verzeichneten Allacher, Bavaria, Capodimonte, Delfter, Fraureuther, Hanauer, Hörter, Hutschenreuther, Karlsbader, Königszelter, Langenthaler, Limoges, Niederweiler, Nürnberger, Schierholz, Schorndorfer, Schramberger, Selb und Straßburger Porzellane mussten wir uns jedoch eine eigene Lösung überlegen.

Musikinstrumente

Musikinstrumente werden häufig nach dem Namen des Erbauers bzw. als Erweiterung davon nach der Firma benannt. So hatten wir in unseren Daten Geigen von Reményi und Stradivari, sowie Flügel von Bechstein, Blüthner, Duysen, Förster, Gotrian, Kreutzbach, Pfeiffer, Schiedmayer, Steingräber, Steinway und Steinweg.

Hier ergibt sich das Problem, dass es in der GND keine “Stradivari-Geige” gibt. Selbst wenn die Erbauer in der GND als Person angelegt sind, so widerstrebt es uns Personen als Ergänzung zu Sachbegriffen zu verknüpfen.

Fehlende Begriffe

Gerade im Bereich Haushaltsgegenstände fehlten uns in der GND einige Begriffe, für die es bisher wohl keine Verwendung gab. Beispielsweise konnten wir keine passenden Begriffe für Kaminbesteck (Schürhaken, …), Garderobe, oder Kleiderständer finden. Auch ein Bügelbrett, Einkochtopf, Vorlegebesteck oder Servicebesteck suchten wir vergebens.

Manchmal ist der unterschiedliche Detailgrad ähnlicher Begriffe auch verwirrend:

Mehrdeutige Begriffe bei Materialangaben

Manche Begriffe werden in der Deutschen Sprache mehrdeutig verwendet. Dies wird in der GND manchmal berücksichtigt, manchmal auch nicht. So können zum Beispiel Glas, Keramik und Terrakotta sowohl für das Material als auch für den Gegenstand verwendet werden.

flowchart LR 4184790-8(["Terrakotta"]):::initial click 4184790-8 href "https://lobid.org/gnd/4184790-8" "4184790-8" _blank cat0[["Kunsthandwerk"]]:::category click cat0 href "https://lobid.org/gnd/search?q=type%3ASubjectHeading%20AND%20gndSubjectCategory.label%3A%22Kunsthandwerk%22" "cat0" _blank cat1[["Glas, Keramik, Steine und Erden"]]:::category click cat1 href "https://lobid.org/gnd/search?q=type%3ASubjectHeading%20AND%20gndSubjectCategory.label%3A%22Glas%2C%20Keramik%2C%20Steine%20und%20Erden%22" "cat1" _blank cat2[["Plastik"]]:::category click cat2 href "https://lobid.org/gnd/search?q=type%3ASubjectHeading%20AND%20gndSubjectCategory.label%3A%22Plastik%22" "cat2" _blank 4030270-2(["Keramik"]):::initial click 4030270-2 href "https://lobid.org/gnd/4030270-2" "4030270-2" _blank 4021142-3(["Glas"]):::initial click 4021142-3 href "https://lobid.org/gnd/4021142-3" "4021142-3" _blank 4184790-8 --> cat0 4184790-8 --> cat1 4184790-8 --> cat2 4030270-2 --> cat1 4030270-2 --> cat0 4030270-2 --> cat2 4021142-3 --> cat1 4021142-3 --> cat0 classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000; classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000; classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;

Komplizierter ist es bei anderen Materialien, die im nachfolgenden Diagramm gelistet sind. So gibt es für einen “Gegenstand aus Bronze” in der GND einen spezifischen Begriff “Bronzegegenstand”, der mit dem Material Bronze verknüpft ist. Einen Messing-, Silber- oder Zinngegenstand gibt es nicht. Bei dem Eisen-, Gold-, Holz-, Kupfer- und Metallgegenstand fehlt die Verknüpfung zu dem Material, weshalb wir sie zuerst übersehen haben. Der Bleigegenstand ist dem Metallgegenstand untergeordnet, die anderen Metallgegenstände jedoch nicht.

Als Unikat ist der Holzgegenstand in die Hierarchie der Agrarprodukte eingebunden. Die restlichen Gegenstände im Diagramm schweben “haltlos” außerhalb einer Hierarchie.

flowchart TD 1042935793(["Bleigegenstand"]):::initial click 1042935793 href "https://lobid.org/gnd/1042935793" "1042935793" _blank 4285971-2(["Eisengegenstand"]):::initial click 4285971-2 href "https://lobid.org/gnd/4285971-2" "4285971-2" _blank 4146676-7(["Bronzegegenstand"]):::initial click 4146676-7 href "https://lobid.org/gnd/4146676-7" "4146676-7" _blank 4166111-4(["Kupfergegenstand"]):::initial click 4166111-4 href "https://lobid.org/gnd/4166111-4" "4166111-4" _blank 4157843-0(["Goldgegenstand"]):::initial click 4157843-0 href "https://lobid.org/gnd/4157843-0" "4157843-0" _blank 4169585-9(["Metallgegenstand"]):::initial click 4169585-9 href "https://lobid.org/gnd/4169585-9" "4169585-9" _blank 4160516-0(["Holzgegenstand"]):::initial click 4160516-0 href "https://lobid.org/gnd/4160516-0" "4160516-0" _blank 4387668-7["Holzprodukt"] click 4387668-7 href "https://lobid.org/gnd/4387668-7" "4387668-7" _blank 4272528-8["Forstprodukt"] click 4272528-8 href "https://lobid.org/gnd/4272528-8" "4272528-8" _blank 4068470-2["Agrarprodukt"] click 4068470-2 href "https://lobid.org/gnd/4068470-2" "4068470-2" _blank 4145879-5["Blei"] click 4145879-5 href "https://lobid.org/gnd/4145879-5" "4145879-5" _blank 4146667-6["Bronze"] click 4146667-6 href "https://lobid.org/gnd/4146667-6" "4146667-6" _blank 4157819-3["Gold"] click 4157819-3 href "https://lobid.org/gnd/4157819-3" "4157819-3" _blank 4133759-1["Silber"] click 4133759-1 href "https://lobid.org/gnd/4133759-1" "4133759-1" _blank 4014002-7["Eisen"] click 4014002-7 href "https://lobid.org/gnd/4014002-7" "4014002-7" _blank 4033734-0["Kupfer"] click 4033734-0 href "https://lobid.org/gnd/4014002-7" "4033734-0" _blank 4190888-0["Zinn"] click 4190888-0 href "https://lobid.org/gnd/4190888-0" "4190888-0" _blank 4169517-3["Messing"] click 4169517-3 href "https://lobid.org/gnd/4169517-3" "4169517-3" _blank 4038860-8["Metall"] click 4038860-8 href "https://lobid.org/gnd/4038860-8" "4038860-8" _blank 4025668-6["Holz"] click 4025668-6 href "https://lobid.org/gnd/4146667-6" "4025668-6" _blank subgraph material["Material"] 4145879-5 4146667-6 4157819-3 4133759-1 4014002-7 4033734-0 4190888-0 4169517-3 4038860-8 4025668-6 end 1042935793 --> 4169585-9 1042935793 <-.-> 4145879-5 4285971-2 x-.-x 4014002-7 4157843-0 x-.-x 4157819-3 4169585-9 x-.-x 4038860-8 4160516-0 x-.-x 4025668-6 4146676-7 <-.-> 4146667-6 4166111-4 x-.-x 4033734-0 4160516-0 <-.-> 4387668-7 4160516-0 --> 4387668-7 --> 4272528-8 --> 4068470-2 classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000; classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000; classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;

Fazit

Die Extraktion spezifischer Sachbegriffe aus unseren Erschließungsdaten mit einem selbst trainierten Modell für Named-entity Recognition funktionierte besser als erwartet.

Die anschließenden Schritte zur Normalisierung und dem Abgleich der Daten zeigten auch hier Potential für noch mehr Automatisierung. Gleichzeitig gestaltete sich der Abgleich unserer Sachbegriffe mit den Normdaten der GND als intellektuell herausfordernd. Hier holten wir uns häufig zusätzliche Unterstützung von unserer Webanwendung zur Visualisierung von Sachbegriffen in der GND und fragten Details über den GND Explorer ab.

Prinzipiell würden wir uns von vielem in der GND mehr wünschen: mehr Begriffe, mehr Varianten, mehr Struktur und mehr Uniformität. Gleichzeitig wissen wir den Komfort der lobid-gnd OpenRefine Reconciliation API und der schon für die GND geleistete Arbeit zu schätzen.

Über die Ergebnisse des Fünften Schrittes “Aufbau einer Hierarchie basierend auf Informationen aus der GND” berichten wir separat.


  1. Auf Grund von Schutzfristen ist noch nicht klar, welche Bestände wir nach Abschluss des Projektes schon veröffentlichen können. ↩︎

  2. Siehe Best practice recommendations from Explosion.ai on Twitter↩︎

  3. Das mag Routine für die Beschreibung von Objekten in Museen sein, ist bei uns im Archiv jedoch unüblich. ↩︎

  4. In der GND gibt es noch den Berberteppich, der ebenfalls als Kompositum angelegt wurde, für den wir in unseren Daten jedoch keine Beispiele hatten. ↩︎

Benjamin Rosemann
Benjamin Rosemann
Data Scientist

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

Katharina Hardt
Projektbearbeiterin

Themenorientierte Erschließung von Quellen zur Provenienzforschung.

Ähnliches