<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Evaluation | FDMLab@LABW</title><link>https://fdmlab.landesarchiv-bw.de/tag/evaluation/</link><atom:link href="https://fdmlab.landesarchiv-bw.de/tag/evaluation/index.xml" rel="self" type="application/rss+xml"/><description>Evaluation</description><generator>Wowchemy (https://wowchemy.com)</generator><language>de-de</language><lastBuildDate>Tue, 07 Mar 2023 00:00:00 +0000</lastBuildDate><image><url>https://fdmlab.landesarchiv-bw.de/media/sharing.jpg</url><title>Evaluation</title><link>https://fdmlab.landesarchiv-bw.de/tag/evaluation/</link></image><item><title>GND Hierarchieinformationen zur Verbesserung der Erschließung</title><link>https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/</link><pubDate>Tue, 07 Mar 2023 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/</guid><description>&lt;p>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.&lt;/p>
&lt;p>Wir berichteten bereits, wie wir ein &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/">Named-entity Recognition Modell mit Starthilfe durch die Gemeinsame Normdatei trainieren&lt;/a> und wie wir die dadurch extrahierten &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/">Sachbegriffe normalisieren und mit der GND Sachbegriffen verknüpfen&lt;/a>.&lt;/p>
&lt;p>In diesem Blogbeitrag geht es um den letzten Workflowschritt, nämlich die Anreicherung von Oberbegriffen aus der GND zur Verbesserung der Verschlagwortung. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="mermaid">---
title: Workflow
config:
look: handDrawn
theme: neutral
---
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
style begriffe_nachladen stroke:#000,stroke-width:4px
&lt;/div>
&lt;h2 id="schritt-5-oberbegriffe-nachladen">Schritt 5: Oberbegriffe nachladen&lt;/h2>
&lt;p>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 &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/">GND in ihrer LOD-Form in Oxigraph&lt;/a> berechnet.
Dafür wurden mit SPARQL die relevanten Knoten und Verbindungen extrahiert, anschließend mit &lt;a href="https://networkx.org/" target="_blank" rel="noopener">NetworkX&lt;/a> zu einem Netzwerk zusammengefügt, und mit &lt;a href="https://pyvis.readthedocs.io/en/latest/" target="_blank" rel="noopener">PyVis&lt;/a> visualisiert.&lt;/p>
&lt;p>Konkret haben wir alle Knoten vom Typ &lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeading" target="_blank" rel="noopener">SubjectHeading&lt;/a> und den entsprechenden Subtypen geladen.
Als Verbindungen haben wir
&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTerm" target="_blank" rel="noopener">broaderTerm&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermGeneral" target="_blank" rel="noopener">broaderTermGeneral&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermGeneric" target="_blank" rel="noopener">broaderTermGeneric&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermInstantial" target="_blank" rel="noopener">broaderTermInstantial&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermPartitive" target="_blank" rel="noopener">broaderTermPartitive&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermWithMoreThanOneElement" target="_blank" rel="noopener">broaderTermWithMoreThanOneElement&lt;/a> und
&lt;a href="https://d-nb.info/standards/elementset/gnd#complexSeeReferenceSubject" target="_blank" rel="noopener">complexSeeReferenceSubject&lt;/a>
verwendet.&lt;/p>
&lt;p>Dieses Netzwerk verwendeten wir zum einen für unsere Analysen.
Zum anderen extrahierten wir daraus einen &lt;strong>Teilgraphen&lt;/strong> mit den für uns relevanten Begriffen.&lt;/p>
&lt;div class="alert alert-warning">
&lt;div>
Die folgenden Analysen basieren auf der Linked Open Data Variante der GND.
Abweichungen von den tatsächlichen Daten in der GND sind daher möglich.
&lt;/div>
&lt;/div>
&lt;figure id="figure-bildschirmfoto-der-ersten-version-unseres-gnd-teilgraphen">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der ersten Version unseres GND Teilgraphen." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-netzwerk_huea75dcb3b215d90b33a4ae6210b59eec_315371_8dbe8506096f42cf7689d17d81fc6728.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-netzwerk_huea75dcb3b215d90b33a4ae6210b59eec_315371_e16305a7289db35e1e65ca37485bcef5.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-netzwerk_huea75dcb3b215d90b33a4ae6210b59eec_315371_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-netzwerk_huea75dcb3b215d90b33a4ae6210b59eec_315371_8dbe8506096f42cf7689d17d81fc6728.webp"
width="760"
height="711"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der ersten Version unseres GND Teilgraphen.
&lt;/figcaption>&lt;/figure>
&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;h3 id="typen-von-oberbegriffen">Typen von Oberbegriffen&lt;/h3>
&lt;figure id="figure-bildschirmfoto-der-unterklassen-von-authority-resources-in-der-gnd-ontologie">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Unterklassen von *Authority Resources* in der GND Ontologie." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-ontology-authority-resources_huc2fd5ef60259cb939e2f1be69042268b_197325_07d793a52872355986c9a4a128a6d207.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-ontology-authority-resources_huc2fd5ef60259cb939e2f1be69042268b_197325_58d747c9bc3d31060d41f13fc7ff2d8f.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-ontology-authority-resources_huc2fd5ef60259cb939e2f1be69042268b_197325_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-ontology-authority-resources_huc2fd5ef60259cb939e2f1be69042268b_197325_07d793a52872355986c9a4a128a6d207.webp"
width="760"
height="578"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Unterklassen von &lt;em>Authority Resources&lt;/em> in der GND Ontologie.
&lt;/figcaption>&lt;/figure>
&lt;p>In Abbildung 2 sind noch einmal die Unterklassen (Typen) von Normdatenressourcen (&lt;em>Authority Resource&lt;/em>) in der GND Ontologie gezeigt.
Wir arbeiten mit Schlagworten (&lt;em>SubjectHeading&lt;/em>) und den zugehörigen Unterklassen.&lt;/p>
&lt;blockquote>
&lt;p>Die Diagramme wurden mit unserer experimentellen &lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/">Webanwendung zur GND Hierarchie Visualisierung von Sachbegriffen&lt;/a> erstellt. Hier die Legende:&lt;/p>
&lt;/blockquote>
&lt;div class="mermaid">flowchart LR
initial(["Fokussierter Begriff"]):::initial
broader["Oberbegriff"]
initial --> broader
broaderMarked["Oberbegriff mit anderem Typ"]:::nonHeading
initial --> broaderMarked
narrower["Unterbegriff"]
narrower --> initial
similar["#Auml;hnlicher Begriff"]
initial &lt;-.-> similar
broader &lt;-.-> similar
broaderMarked &lt;-.-> 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;
classDef nonHeading fill:#FFF,stroke:#F04D0E,stroke-width:3px,color:#000;
&lt;/div>
&lt;p>Wir hatten im &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/">letzten Blogbeitrag&lt;/a> schon den &lt;em>Perserteppich&lt;/em> erwähnt, der über &lt;code>complexSeeReferenceSubject&lt;/code> mit den Begriffen &lt;em>Teppich&lt;/em> und &lt;em>Iran&lt;/em> 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 &lt;strong>nicht&lt;/strong> vom Typ &lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeading" target="_blank" rel="noopener">Subject heading&lt;/a> oder einem Untertypen davon sind.
Diese können zum Beispiel vom Typ oder einem Untertypen von
&lt;a href="https://d-nb.info/standards/elementset/gnd#ConferenceOrEvent" target="_blank" rel="noopener">Conference or Event&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#CorporateBody" target="_blank" rel="noopener">Corporate Body&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#Person" target="_blank" rel="noopener">Person&lt;/a>,
&lt;a href="https://d-nb.info/standards/elementset/gnd#PlaceOrGeographicName" target="_blank" rel="noopener">Place or geographic name&lt;/a> oder
&lt;a href="https://d-nb.info/standards/elementset/gnd#Work" target="_blank" rel="noopener">Work&lt;/a> sein.&lt;/p>
&lt;div class="mermaid">flowchart LR
7505070-5(["Perserteppich"]):::initial
click 7505070-5 href "https://lobid.org/gnd/7505070-5" "7505070-5" _blank
4059482-8["Teppich"]
click 4059482-8 href "https://lobid.org/gnd/4059482-8" "4059482-8" _blank
4027653-3["Iran"]:::nonHeading
click 4027653-3 href "https://lobid.org/gnd/4027653-3" "4027653-3" _blank
7608344-5(["Venustempel"]):::initial
click 7608344-5 href "https://lobid.org/gnd/7608344-5" "7608344-5" _blank
11876800X["Venus, Göttin"]:::nonHeading
click 11876800X href "https://lobid.org/gnd/11876800X" "11876800X" _blank
4059416-6["Tempel"]
click 4059416-6 href "https://lobid.org/gnd/4059416-6" "4059416-6" _blank
7509659-6(["Osterweiterung / Europäische Union"]):::initial
click 7509659-6 href "https://lobid.org/gnd/7509659-6" "7509659-6" _blank
4128080-5["Erweiterung"]
click 4128080-5 href "https://lobid.org/gnd/4128080-5" "4128080-5" _blank
4075739-0["Osteuropa"]:::nonHeading
click 4075739-0 href "https://lobid.org/gnd/4075739-0" "4075739-0" _blank
5098525-5["Europäische Union"]:::nonHeading
click 5098525-5 href "https://lobid.org/gnd/5098525-5" "5098525-5" _blank
7505070-5 -->|complexSeeReferenceSubject| 4059482-8
7505070-5 -->|complexSeeReferenceSubject| 4027653-3
7608344-5 -->|complexSeeReferenceSubject| 11876800X
7608344-5 -->|complexSeeReferenceSubject| 4059416-6
7509659-6 -->|complexSeeReferenceSubject| 4128080-5
7509659-6 -->|complexSeeReferenceSubject| 4075739-0
7509659-6 -->|complexSeeReferenceSubject| 5098525-5
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;
classDef nonHeading fill:#FFF,stroke:#F04D0E,stroke-width:3px,color:#000;
&lt;/div>
&lt;p>Dies betrifft jedoch nicht nur die Verbindungen vom Typ &lt;code>complexSeeReferenceSubject&lt;/code>.
In den folgenden Diagrammen ist das Beispiel der &lt;em>Thora&lt;/em> und des islamische Feiertags &lt;em>Maulid an-Nabi&lt;/em> gezeigt.
Hier werden jeweils Sachbegriffe mit &lt;em>Werken&lt;/em> über Verbindungen vom Typ &lt;code>broaderTermGeneral&lt;/code> verknüpft.&lt;/p>
&lt;div class="mermaid">flowchart LR
4226122-3(["Thora"]):::nonHeading
click 4226122-3 href "https://lobid.org/gnd/4226122-3" "4226122-3" _blank
7849405-9["Thorakrone"]
click 7849405-9 href "https://lobid.org/gnd/7849405-9" "7849405-9" _blank
4590779-1["Thorakapsel"]
click 4590779-1 href "https://lobid.org/gnd/4590779-1" "4590779-1" _blank
4457982-2["Thorawimpel"]
click 4457982-2 href "https://lobid.org/gnd/4457982-2" "4457982-2" _blank
4617346-8["Thoramantel"]
click 4617346-8 href "https://lobid.org/gnd/4617346-8" "4617346-8" _blank
7526823-1["Thorazeiger"]
click 7526823-1 href "https://lobid.org/gnd/7526823-1" "7526823-1" _blank
4232170-0["Thoraschrein"]
click 4232170-0 href "https://lobid.org/gnd/4232170-0" "4232170-0" _blank
4185330-1["Thorarolle"]
click 4185330-1 href "https://lobid.org/gnd/4185330-1" "4185330-1" _blank
7849405-9 -->|broaderTermGeneral| 4226122-3
4590779-1 -->|broaderTermGeneral| 4226122-3
4457982-2 -->|broaderTermGeneral| 4226122-3
4617346-8 -->|broaderTermGeneral| 4226122-3
7526823-1 -->|broaderTermGeneral| 4226122-3
4232170-0 -->|broaderTermGeneral| 4226122-3
4185330-1 -->|broaderTermGeneral| 4226122-3
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;
classDef nonHeading fill:#FFF,stroke:#F04D0E,stroke-width:3px,color:#000;
&lt;/div>
&lt;div class="mermaid">flowchart LR
7566591-8(["Maulid an-Nabi"]):::initial
click 7566591-8 href "https://lobid.org/gnd/7566591-8" "7566591-8" _blank
4310274-8["Maulid"]:::nonHeading
click 4310274-8 href "https://lobid.org/gnd/4310274-8" "4310274-8" _blank
4121583-7["Religiöses Fest"]
click 4121583-7 href "https://lobid.org/gnd/4121583-7" "4121583-7" _blank
7566591-8 -->|broaderTermGeneral| 4310274-8
7566591-8 -->|broaderTermInstantial| 4121583-7
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;
classDef nonHeading fill:#FFF,stroke:#F04D0E,stroke-width:3px,color:#000;
&lt;/div>
&lt;p>Nach unseren Analysen kommen wir auf 558 Knoten mit mindestens einem Oberbegriff, der &lt;strong>nicht&lt;/strong> vom Typ &lt;em>SubjectHeading&lt;/em> 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.&lt;/p>
&lt;h3 id="mehrere-oberbegriffe">Mehrere Oberbegriffe&lt;/h3>
&lt;p>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 &lt;strong>in der Visualisierung&lt;/strong>, können den Teilgraphen jedoch besser visuell inspizieren.&lt;/p>
&lt;h3 id="keine-oberbegriffe">Keine Oberbegriffe&lt;/h3>
&lt;p>In unserem Teilgraphen haben etwa 25 Prozent der Begriffe &lt;strong>keinen&lt;/strong> Oberbegriff.
Das hat unter anderem damit zu tun, dass die GND in vielen Bereichen entweder gar keine Hierarchieinformationen beinhaltet, oder sie inkonsequent gepflegt werden.&lt;/p>
&lt;p>Zu den in unserem Projekt verwendeten Begriffen &lt;strong>ohne&lt;/strong> Hierarchieinformationen gehören zum Beispiel &lt;a href="https://lobid.org/gnd/4000925-7" target="_blank" rel="noopener">Akte&lt;/a>, &lt;a href="https://lobid.org/gnd/4142968-0" target="_blank" rel="noopener">Archivalie&lt;/a>, &lt;a href="https://lobid.org/gnd/4002325-4" target="_blank" rel="noopener">Antiquität&lt;/a>, &lt;a href="https://lobid.org/gnd/4154290-3" target="_blank" rel="noopener">Feuerzeug&lt;/a>, &lt;a href="https://lobid.org/gnd/4029423-7" target="_blank" rel="noopener">Kamm&lt;/a>, &lt;a href="https://lobid.org/gnd/4154290-3" target="_blank" rel="noopener">Nähzeug&lt;/a>, &lt;a href="https://lobid.org/gnd/4051230-7" target="_blank" rel="noopener">Säge&lt;/a>, &amp;hellip;&lt;/p>
&lt;h3 id="ähnliche-begriffe">Ähnliche Begriffe&lt;/h3>
&lt;p>Manchmal lassen sich für verwandte Begriffe Hierarchieinformationen ermitteln.
Beispielsweise ist der Begriff &lt;a href="https://lobid.org/gnd/4181725-4" target="_blank" rel="noopener">Sofa&lt;/a> unter den &lt;a href="https://lobid.org/gnd/4055183-0" target="_blank" rel="noopener">Sitzmöbeln&lt;/a> einsortiert.
Der Begriff &lt;a href="https://lobid.org/gnd/4197693-9" target="_blank" rel="noopener">Couch&lt;/a> hingegen ist ohne jede Hierarchieinformation als verwandter Begriff zu &lt;a href="https://lobid.org/gnd/4181725-4" target="_blank" rel="noopener">Sofa&lt;/a> 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.&lt;/p>
&lt;p>Nach unseren Beobachtungen ist es jedoch &lt;strong>keine&lt;/strong> allgemeine Regel, dass die Hierarchieinformationen bei verwandten Begriffen weggelassen werden.
Im folgenden Diagramm ist ein (reduziertes) Beispiel zu den Begriffen &lt;a href="https://lobid.org/gnd/4184488-9" target="_blank" rel="noopener">Tasse&lt;/a> und &lt;a href="https://lobid.org/gnd/4697377-1" target="_blank" rel="noopener">Untertasse&lt;/a> gezeigt.&lt;/p>
&lt;div class="mermaid">flowchart LR
4197693-9(["Couch"]):::initial
click 4197693-9 href "https://lobid.org/gnd/4197693-9" "4197693-9" _blank
4181725-4(["Sofa"]):::initial
click 4181725-4 href "https://lobid.org/gnd/4181725-4" "4181725-4" _blank
4055183-0["Sitzmöbel"]
click 4055183-0 href "https://lobid.org/gnd/4055183-0" "4055183-0" _blank
4039860-2["Möbel"]
click 4039860-2 href "https://lobid.org/gnd/4039860-2" "4039860-2" _blank
4190181-2["Wohnungseinrichtung"]
click 4190181-2 href "https://lobid.org/gnd/4190181-2" "4190181-2" _blank
4132060-8["Hausrat"]
click 4132060-8 href "https://lobid.org/gnd/4132060-8" "4132060-8" _blank
4181725-4 --> 4055183-0
4055183-0 --> 4039860-2
4039860-2 --> 4190181-2
4190181-2 --> 4132060-8
4181725-4 &lt;-.-> 4197693-9
4184488-9(["Tasse"]):::initial
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
4697377-1(["Untertasse"]):::initial
click 4697377-1 href "https://lobid.org/gnd/4697377-1" "4697377-1" _blank
4184660-6["Teller"]
click 4184660-6 href "https://lobid.org/gnd/4184660-6" "4184660-6" _blank
4140542-0["Geschirr #lt;Hausrat#gt;"]
click 4140542-0 href "https://lobid.org/gnd/4140542-0" "4140542-0" _blank
4132060-8["Hausrat"]
click 4132060-8 href "https://lobid.org/gnd/4132060-8" "4132060-8" _blank
4184488-9 --> 4124863-6
4697377-1 --> 4184660-6
4124863-6 --> 4140542-0
4184660-6 --> 4124863-6
4140542-0 --> 4132060-8
4184488-9 &lt;-.-> 4697377-1
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;
&lt;/div>
&lt;p>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 &lt;code>relatedTerm&lt;/code> 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.&lt;/p>
&lt;div class="mermaid">flowchart LR
4031575-7(["Körper"])
click 4031575-7 href "https://lobid.org/gnd/4031575-7" "4031575-7" _blank
4132852-8(["Leib"])
click 4132852-8 href "https://lobid.org/gnd/4132852-8" "4132852-8" _blank
4031575-7 -->|broaderTermGeneral| 4132852-8
4132852-8 -.->|relatedTerm| 4031575-7
classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000;
&lt;/div>
&lt;h2 id="analyse-subgraph">Analyse Subgraph&lt;/h2>
&lt;p>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 &lt;strong>kleinen&lt;/strong> Ausschnitt der Hierarchie.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-zweiten-version-unseres-gnd-teilgraphen-als-hierarchie">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der zweiten Version unseres GND Teilgraphen als Hierarchie." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail_hu37bdd6cfb39b08386bdc91a9763660b7_36461_8d1a0f9a817fab14e47de01b07bf8976.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail_hu37bdd6cfb39b08386bdc91a9763660b7_36461_cf951e0e3f897b2d39ab6a4f32910b26.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail_hu37bdd6cfb39b08386bdc91a9763660b7_36461_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail_hu37bdd6cfb39b08386bdc91a9763660b7_36461_8d1a0f9a817fab14e47de01b07bf8976.webp"
width="85"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der zweiten Version unseres GND Teilgraphen als Hierarchie.
&lt;/figcaption>&lt;/figure>
&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>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&amp;hellip; diese Informationen bieten in unserem Kontext jedoch keinen Mehrwert.&lt;/p>
&lt;p>Hier werden wir in Nachfolgearbeiten versuchen, mit verschiedenen Algorithmen aus der Netzwerkanalyse &amp;ldquo;überflüssige&amp;rdquo; Knoten wieder aus der Hierarchie zu entfernen.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-dritten-version-unseres-gnd-teilgraphen-als-hierarchie-mit-einfärbungen">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der dritten Version unseres GND Teilgraphen als Hierarchie mit Einfärbungen." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail-farbig_huc6ad8d76e162113c75a855bf90cd30f4_77111_241104071964809e5afef24ed0721a2d.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail-farbig_huc6ad8d76e162113c75a855bf90cd30f4_77111_9f79c6fe332babf1213f3723179ad7c9.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail-farbig_huc6ad8d76e162113c75a855bf90cd30f4_77111_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/screenshot-hierarchie-detail-farbig_huc6ad8d76e162113c75a855bf90cd30f4_77111_241104071964809e5afef24ed0721a2d.webp"
width="760"
height="569"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der dritten Version unseres GND Teilgraphen als Hierarchie mit Einfärbungen.
&lt;/figcaption>&lt;/figure>
&lt;p>In einer weiteren Verbesserung der Visualisierung der Hierarchie in unserem GND Teilgraphen in Abbildung 4 haben wir einzelne Knoten zusätzlich eingefärbt.&lt;/p>
&lt;ul>
&lt;li>Orange: Gegenstand&lt;/li>
&lt;li>Grün: Material&lt;/li>
&lt;li>Blau: Marke/Herkunft&lt;/li>
&lt;li>Lila: Stil&lt;/li>
&lt;li>Gemischt Rot: mehrere Kategorien&lt;/li>
&lt;/ul>
&lt;p>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 &lt;strong>Gegenstand&lt;/strong> Glas, als auch für das &lt;strong>Material&lt;/strong> Glas verwendet wurde. &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;h2 id="analyse-gnd-subjectheading-graph">Analyse GND &lt;em>SubjectHeading&lt;/em> Graph&lt;/h2>
&lt;p>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 &lt;em>SubjectHeadings&lt;/em> wiederfinden.&lt;/p>
&lt;p>Daher haben wir eine oberflächliche Analyse des &lt;em>SubjectHeadings&lt;/em> Graphen durchgeführt.&lt;/p>
&lt;h3 id="komponenten-und-größen">Komponenten und Größen&lt;/h3>
&lt;figure id="figure-streudiagramm-zur-darstellung-der-eigenschaften-von-komponenten-im-gnd-subjectheading-graph">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Streudiagramm zur Darstellung der Eigenschaften von Komponenten im GND *SubjectHeading* Graph." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze_hu52002487e9390097dde4028970c89462_29818_c75bd9213a447cac0c6c98aeb7873746.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze_hu52002487e9390097dde4028970c89462_29818_9686bbdae67d69fdf5d40ed2f08b37f1.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze_hu52002487e9390097dde4028970c89462_29818_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze_hu52002487e9390097dde4028970c89462_29818_c75bd9213a447cac0c6c98aeb7873746.webp"
width="640"
height="480"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Streudiagramm zur Darstellung der Eigenschaften von Komponenten im GND &lt;em>SubjectHeading&lt;/em> Graph.
&lt;/figcaption>&lt;/figure>
&lt;p>Unsere erste Feststellung war, dass der Gesamtgraph der GND &lt;em>SubjectHeadings&lt;/em> mit 204.560 Knoten in 47.388 Teilgraphen (Komponenten) zerfällt, die nicht miteinander verbunden sind.&lt;/p>
&lt;p>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 &lt;em>SubjectHeading&lt;/em> betroffen sind.&lt;/p>
&lt;p>Auf Grund der enormen Größenunterschiede ist das Diagram logarithmisch skaliert, so dass die Interpretation schwierig(er) ist.&lt;/p>
&lt;p>Der Stern ganz links oben stellt 41.465 Komponenten dar, die jeweils nur aus &lt;strong>einem&lt;/strong> Knoten bestehen.
Dies umfasst die Typen &lt;em>CharactersOrMorphemes&lt;/em> (2.912), &lt;em>EthnographicName&lt;/em> (1.257), &lt;em>GroupOfPersons&lt;/em> (158), &lt;em>HistoricSingleEventOrEra&lt;/em> (635), &lt;em>Language&lt;/em> (5), &lt;em>MeansOfTransportWithIndividualName&lt;/em> (8), &lt;em>NomenclatureInBiologyOrChemistry&lt;/em> (15.132), &lt;em>ProductNameOrBrandName&lt;/em> (422), &lt;em>SoftwareProduct&lt;/em> (134), &lt;em>SubjectHeading&lt;/em> (12), &lt;em>SubjectHeadingSensoStricto&lt;/em> (20.900).&lt;/p>
&lt;p>Der Stern ganz rechts unten stellt &lt;strong>eine&lt;/strong> Komponente mit einer Größe von 140.105 Knoten dar, welche die Typen &lt;em>CharactersOrMorphemes&lt;/em> (261), &lt;em>EthnographicName&lt;/em> (2.510), &lt;em>GroupOfPersons&lt;/em> (589), &lt;em>HistoricSingleEventOrEra&lt;/em> (4.031), &lt;em>Language&lt;/em> (5.942), &lt;em>MeansOfTransportWithIndividualName&lt;/em> (1.479), &lt;em>NomenclatureInBiologyOrChemistry&lt;/em> (11.428), &lt;em>ProductNameOrBrandName&lt;/em> (6.994), &lt;em>SoftwareProduct&lt;/em> (8.056), &lt;em>SubjectHeading&lt;/em> (8.220) und &lt;em>SubjectHeadingSensoStricto&lt;/em> (91.381) umfasst.&lt;/p>
&lt;h3 id="anteil-von-komponenten-bestimmter-größen">Anteil von Komponenten bestimmter Größen&lt;/h3>
&lt;p>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.&lt;/p>
&lt;figure id="figure-diagramm-zur-kumulierten-darstellung-des-prozentualen-anteils-von-komponenten-bestimmter-größen">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Diagramm zur kumulierten Darstellung des prozentualen Anteils von Komponenten bestimmter Größen." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-cum_hu9e16205d3fa40412855eeee4ec8222cb_26124_992b7fe053cfe79ac10d998663d75edf.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-cum_hu9e16205d3fa40412855eeee4ec8222cb_26124_9386aab1ea96c0401f2501861cf14e84.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-cum_hu9e16205d3fa40412855eeee4ec8222cb_26124_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-cum_hu9e16205d3fa40412855eeee4ec8222cb_26124_992b7fe053cfe79ac10d998663d75edf.webp"
width="640"
height="480"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Diagramm zur kumulierten Darstellung des prozentualen Anteils von Komponenten bestimmter Größen.
&lt;/figcaption>&lt;/figure>
&lt;p>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.&lt;/p>
&lt;ul>
&lt;li>Etwa 20 Prozent der Knoten haben &lt;strong>keine&lt;/strong> Hierarchieinformationen.&lt;/li>
&lt;li>Etwa 30 Prozent der Knoten sind in Teilgraphen mit weniger als 20 Knoten verbunden.&lt;/li>
&lt;li>Etwa 68 Prozent der Knoten sind in einem Teilgraphen mit 140.105 Knoten zu finden.&lt;/li>
&lt;/ul>
&lt;h3 id="tiefe-der-hierarchie">Tiefe der Hierarchie&lt;/h3>
&lt;p>Es wäre zu erwarten, dass mit Zunahme der Größe der Komponenten auch die Tiefe der Hierarchie steigt.
Daher haben wir in einem &lt;a href="https://de.wikipedia.org/wiki/Box-Plot" target="_blank" rel="noopener">Boxplot&lt;/a> in Abbildung 7 die maximale Tiefe der Hierarchie jeder Komponente analysiert und sortiert nach Komponentengröße ausgewertet.&lt;/p>
&lt;figure id="figure-boxplot-zur-darstellung-der-verteilung-der-max-tiefe-pro-komponentengröße">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Boxplot zur Darstellung der Verteilung der max. Tiefe pro Komponentengröße." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-diameter_hu8c955f372abddff8a20ef0a87f275672_43565_0885eb5468d6ef19ed004307f96ef654.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-diameter_hu8c955f372abddff8a20ef0a87f275672_43565_9ae06120c79035c34862a9f3a9a6dad5.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-diameter_hu8c955f372abddff8a20ef0a87f275672_43565_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-diameter_hu8c955f372abddff8a20ef0a87f275672_43565_0885eb5468d6ef19ed004307f96ef654.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Boxplot zur Darstellung der Verteilung der max. Tiefe pro Komponentengröße.
&lt;/figcaption>&lt;/figure>
&lt;p>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.&lt;/p>
&lt;h3 id="kindknoten-pro-knoten">Kindknoten pro Knoten&lt;/h3>
&lt;p>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.&lt;/p>
&lt;figure id="figure-boxplot-zur-darstellung-der-verteilung-der-anzahl-von-kindknoten-pro-komponentengröße">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Boxplot zur Darstellung der Verteilung der Anzahl von Kindknoten pro Komponentengröße." srcset="
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_f3f65ead298de022d683cbda529f81c3.webp 400w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_7d4d0a7e2424787f62b2d02185cce7b4.webp 760w,
/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_f3f65ead298de022d683cbda529f81c3.webp"
width="760"
height="507"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Boxplot zur Darstellung der Verteilung der Anzahl von Kindknoten pro Komponentengröße.
&lt;/figcaption>&lt;/figure>
&lt;p>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.&lt;/p>
&lt;p>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 &lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermInstantial" target="_blank" rel="noopener">Broader term (instantial)&lt;/a>, die im &lt;a href="https://explore.gnd.network/" target="_blank" rel="noopener">GND Explorer&lt;/a> als &amp;ldquo;Ist ein Beispiel für andere Entität&amp;rdquo; angezeigt werden.&lt;/p>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Auch sind die Hierarchien in unserem Teilgraphen selbst relativ flach, was sich bei der Analyse des Gesamtgraphen ebenfalls als Eigenschaft der GND bestätigte.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Es würde sich jetzt anbieten die Analyse ausführlicher zu gestalten und dabei zum Beispiel zusätzlich GND Sachgruppen, die einzelnen Subtypen von &lt;em>SubjectHeading&lt;/em>, sowie die unterschiedlichen Verbindungsarten weiter zu analysieren. Dies würde jedoch den Rahmen unseres aktuellen Projektes übersteigen.&lt;/p>
&lt;p>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.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Details zur Motivation und unserem generellen Vorgehen haben wir schon unter &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/">NER und GND zur Verbesserung der Erschließung&lt;/a> berichtet.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Details zum Glas als Material und Gegenstand, sowie zu den Kategorien, finden sich im Artikel &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/">NER und GND zur Verbesserung der Erschließung&lt;/a>.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Named-entity Recognition und Gemeinsame Normdatei zur Verbesserung der Erschließung</title><link>https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/</link><pubDate>Tue, 21 Feb 2023 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/</guid><description>&lt;p>Das FDMLab unterstützt das Projekt &lt;a href="https://landesarchiv-bw.de/de/landesarchiv/projekte/provenienzforschung-im-landesarchiv/projektueberblick-/61576" target="_blank" rel="noopener">Provenienzforschung im Landesarchiv&lt;/a> 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.&lt;/p>
&lt;p>Wir berichteten bereits in &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/">NER Modell mit GND Starthilfe trainieren&lt;/a>, 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. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Diese Vorarbeiten für das Projekt Provenienzforschung wurden im Januar produktiv umgesetzt, so dass wir über unsere ersten Ergebnisse und Erfahrungen berichten können.&lt;/p>
&lt;h2 id="motivation-volltextsuche-vs-verschlagwortung">Motivation: Volltextsuche vs Verschlagwortung&lt;/h2>
&lt;p>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.&lt;/p>
&lt;p>Sucht man zum Beispiel nach einer &amp;ldquo;Porzellantasse&amp;rdquo;, 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 &amp;ldquo;Porzellantasse&amp;rdquo; in unseren Erschließungsdaten gelistet sein könnte:&lt;/p>
&lt;ol>
&lt;li>&lt;code>Anzeige des Verlustes der Wohnungseinrichtung der Freiburger Wohnung.&lt;/code>&lt;/li>
&lt;li>&lt;code>... darunter ein Porzellanservice ...&lt;/code>&lt;/li>
&lt;li>&lt;code>... ein Porzellanservice bestehend aus 4 Tassen, 4 Tellern, ...&lt;/code>&lt;/li>
&lt;li>&lt;code>Im Hausrat befanden sich..., Ludwigsburger Porzellantassen, ...&lt;/code>&lt;/li>
&lt;li>&lt;code>... 4 Tassen (Ludwigsburger Porzellan, Empire Stil) ...&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>Mit dem Suchwort &amp;ldquo;Porzellantasse&amp;rdquo; in einer einfachen Volltextsuche, würde man von diesen fünf Beispielen lediglich das vierte Beispiel in den Suchergebnissen finden.&lt;/p>
&lt;p>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, &lt;strong>könnte&lt;/strong> eine semantische Suche bei der Suche nach Findbucheinträgen mit dem Schlagwort &amp;ldquo;Tasse&amp;rdquo; auch die &amp;ldquo;Porzellantasse&amp;rdquo; 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.&lt;/p>
&lt;div class="mermaid">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;
&lt;/div>
&lt;p>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.&lt;/p>
&lt;blockquote>
&lt;p>Die Diagramme wurden mit unserer experimentellen &lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/">Webanwendung zur GND Hierarchie Visualisierung von Sachbegriffen&lt;/a> erstellt. Hier die Legende:&lt;/p>
&lt;/blockquote>
&lt;div class="mermaid">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 &lt;-.-> similar
broader &lt;-.-> similar
narrower &lt;-.-> 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;
&lt;/div>
&lt;h2 id="workflow">Workflow&lt;/h2>
&lt;p>Unser technischer Workflow besteht aus den folgenden fünf Schritten:&lt;/p>
&lt;div class="mermaid">---
title: Workflow
config:
look: handDrawn
theme: neutral
---
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
&lt;/div>
&lt;ol>
&lt;li>Das &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/02-filtern-und-sortieren/">Filtern&lt;/a> der relevanten Findbücher und Findbucheinträge erfolgte mit OpenRefine auf einem CSV-Abzug der Daten in unserem Archivischen Fachinformationssystem (AFIS).&lt;/li>
&lt;li>Das &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/">Named-entity Recognition&lt;/a> wurde mit einem über &lt;a href="https://prodi.gy/" target="_blank" rel="noopener">Prodigy&lt;/a> selbst trainierten &lt;a href="https://spacy.io/" target="_blank" rel="noopener">spaCy&lt;/a> Modell durchgeführt.&lt;/li>
&lt;li>Die Normalisierung der via NER gefundenen Begriffe erfolgte unter anderem mit &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/05-clustering/">Clustering-Methoden in OpenRefine&lt;/a>.&lt;/li>
&lt;li>Der &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/">GND Abgleich&lt;/a> erfolgte ebenfalls mit OpenRefine über die &lt;a href="https://lobid.org/gnd/api#openrefine" target="_blank" rel="noopener">lobid-gnd OpenRefine Reconciliation Schnittstelle&lt;/a>.&lt;/li>
&lt;li>Das Nachladen der Oberbegriffe erfolgte auf Grund der Größe des resultierenden Netzwerkes auf einer lokalen Kopie der &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/">GND in ihrer LOD-Form in Oxigraph&lt;/a>. Dort wurden mit SPARQL die relevanten Knoten und Verbindungen extrahiert, anschließend mit &lt;a href="https://networkx.org/" target="_blank" rel="noopener">NetworkX&lt;/a> zu einem Netzwerk zusammengefügt und mit &lt;a href="https://pyvis.readthedocs.io/en/latest/" target="_blank" rel="noopener">PyVis&lt;/a> visualisiert.&lt;/li>
&lt;/ol>
&lt;h2 id="ner-ergebnisse-und-normalisierung-workflow-schritte-2--3">NER Ergebnisse und Normalisierung (Workflow Schritte 2 + 3)&lt;/h2>
&lt;p>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).&lt;/p>
&lt;p>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. &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup> Dies war uns für dieses einmal durchgeführte Projekt jedoch zu aufwendig.&lt;/p>
&lt;p>Hier an konkreten Beispielen erklärt:&lt;/p>
&lt;ul>
&lt;li>Aus dem zusammengesetzten Begriff &lt;code>China- und Perserteppiche&lt;/code> werden in Schritt 3 die zwei Begriffe &lt;code>Teppich aus China&lt;/code> und &lt;code>Perserteppich&lt;/code>.&lt;/li>
&lt;li>Aus &lt;code>Porzellantassen, -teller und -kannen&lt;/code> werden in Schritt 3 die drei Begriffe &lt;code>Tasse aus Porzellan&lt;/code>, &lt;code>Teller aus Porzellan&lt;/code> und &lt;code>Kanne aus Porzellan&lt;/code>.&lt;/li>
&lt;li>Aus &lt;code>Gabeln, Messer und Löffel aus Silber&lt;/code> werden in Schritt 3 die drei Begriffe &lt;code>Gabel aus Silber&lt;/code>, &lt;code>Messer aus Silber&lt;/code> und &lt;code>Löffel aus Silber&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>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. &lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;p>In der folgenden Tabelle wird gezeigt, wie die &lt;code>Ludwigsburger Empire-Porzellantasse&lt;/code> in die vier Bestandteile zerlegt (1) und anschließend mit dem möglichst spezifischsten Begriff in der GND abgeglichen wurde (2).&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>Gegenstand&lt;/th>
&lt;th>Material&lt;/th>
&lt;th>Herkunft/Marke&lt;/th>
&lt;th>Stil&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>(1)&lt;/td>
&lt;td>Tasse&lt;/td>
&lt;td>Porzellan&lt;/td>
&lt;td>Ludwigsburger Porzellan&lt;/td>
&lt;td>Empire&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>(2)&lt;/td>
&lt;td>&lt;a href="https://lobid.org/gnd/4175414-1" target="_blank" rel="noopener">Porzellantasse&lt;/a>&lt;/td>
&lt;td>&lt;a href="https://lobid.org/gnd/4046851-3" target="_blank" rel="noopener">Porzellan&lt;/a>&lt;/td>
&lt;td>&lt;a href="https://lobid.org/gnd/4168206-3" target="_blank" rel="noopener">Ludwigsburger Porzellan&lt;/a>&lt;/td>
&lt;td>&lt;a href="https://lobid.org/gnd/4152103-1" target="_blank" rel="noopener">Empire&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="probleme-beim-abgleich-mit-der-gnd-workflow-schritt-4">Probleme beim Abgleich mit der GND (Workflow Schritt 4)&lt;/h2>
&lt;p>Beim Finden von passenden Konzepten und Begriffen in der GND haben sich mit unseren Daten mehrere Probleme ergeben.&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
&lt;ol>
&lt;li>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.&lt;/li>
&lt;li>Prinzipiell wäre ein auf Objekte ausgelegter Thesaurus, wie zum Beispiel der &lt;a href="https://www.getty.edu/research/tools/vocabularies/aat" target="_blank" rel="noopener">Art &amp;amp; Architecture Thesaurus von Getty&lt;/a>, für unsere Daten geeigneter. Jedoch ist im LABW aktuell lediglich die GND als Normdatenvokabular freigegeben.&lt;/li>
&lt;li>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.&lt;/li>
&lt;/ol>
&lt;/div>
&lt;/div>
&lt;h3 id="teppiche">Teppiche&lt;/h3>
&lt;p>Teppiche sind häufig nach ihrer Herkunft benannt.
Bekannt ist hier zum Beispiel der &lt;a href="https://lobid.org/gnd/7505070-5" target="_blank" rel="noopener">Perserteppich&lt;/a>, welcher in der GND als &lt;a href="https://d-nb.info/standards/elementset/gnd#complexSeeReferenceSubject" target="_blank" rel="noopener">Kompositum&lt;/a> aus den Begriffen &lt;a href="https://lobid.org/gnd/4059482-8" target="_blank" rel="noopener">Teppich&lt;/a> und &lt;a href="https://lobid.org/gnd/4027653-3" target="_blank" rel="noopener">Iran&lt;/a> zusammengesetzt wurde.
Leider war das auch der einzige Teppich in unseren Daten, für den wir ein entsprechendes Konstrukt in der GND finden konnten. &lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>&lt;/p>
&lt;h3 id="porzellan">Porzellan&lt;/h3>
&lt;p>Porzellan wird ähnlich wie Teppiche nach seiner Herkunft bezeichnet.
In der GND finden sich unter dem Sachbegriff &lt;a href="https://lobid.org/gnd/4046851-3" target="_blank" rel="noopener">Porzellan&lt;/a> einige bekannte Bezeichnungen wie &lt;a href="https://lobid.org/gnd/4192819-2" target="_blank" rel="noopener">Berliner Porzellan&lt;/a>, &lt;a href="https://lobid.org/gnd/4168206-3" target="_blank" rel="noopener">Ludwigsburger Porzellan&lt;/a> und &lt;a href="https://lobid.org/gnd/4114559-8" target="_blank" rel="noopener">Meißener Porzellan&lt;/a>. 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.&lt;/p>
&lt;p>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.&lt;/p>
&lt;h3 id="musikinstrumente">Musikinstrumente&lt;/h3>
&lt;p>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.&lt;/p>
&lt;p>Hier ergibt sich das Problem, dass es in der GND keine &amp;ldquo;Stradivari-Geige&amp;rdquo; 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.&lt;/p>
&lt;h3 id="fehlende-begriffe">Fehlende Begriffe&lt;/h3>
&lt;p>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, &amp;hellip;), Garderobe, oder Kleiderständer finden.
Auch ein Bügelbrett, Einkochtopf, Vorlegebesteck oder Servicebesteck suchten wir vergebens.&lt;/p>
&lt;p>Manchmal ist der unterschiedliche Detailgrad ähnlicher Begriffe auch verwirrend:&lt;/p>
&lt;ul>
&lt;li>Es gibt einen &lt;a href="https://lobid.org/gnd/4507258-9" target="_blank" rel="noopener">Salzstreuer&lt;/a> aber keinen Pfefferstreuer.&lt;/li>
&lt;li>Es gibt eine &lt;a href="https://lobid.org/gnd/4577571-0" target="_blank" rel="noopener">Kaffeekanne&lt;/a> und eine &lt;a href="https://lobid.org/gnd/4226545-9" target="_blank" rel="noopener">Teekanne&lt;/a>, aber keine Mokkakanne.&lt;/li>
&lt;li>Es gibt eine &lt;a href="https://lobid.org/gnd/4732915-4" target="_blank" rel="noopener">Kaffeetasse&lt;/a> und eine &lt;a href="https://lobid.org/gnd/4741995-7" target="_blank" rel="noopener">Mokkatasse&lt;/a>, aber keine Teetasse.&lt;/li>
&lt;li>Es gibt einen &lt;a href="https://lobid.org/gnd/4201303-3" target="_blank" rel="noopener">Teelöffel&lt;/a> aber keinen Kaffeelöffel oder Mokkalöffel.&lt;/li>
&lt;/ul>
&lt;h3 id="mehrdeutige-begriffe-bei-materialangaben">Mehrdeutige Begriffe bei Materialangaben&lt;/h3>
&lt;p>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.&lt;/p>
&lt;div class="mermaid">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;
&lt;/div>
&lt;p>Komplizierter ist es bei anderen Materialien, die im nachfolgenden Diagramm gelistet sind.
So gibt es für einen &amp;ldquo;Gegenstand aus Bronze&amp;rdquo; in der GND einen spezifischen Begriff &amp;ldquo;Bronzegegenstand&amp;rdquo;, 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.&lt;/p>
&lt;p>Als Unikat ist der Holzgegenstand in die Hierarchie der Agrarprodukte eingebunden.
Die restlichen Gegenstände im Diagramm schweben &amp;ldquo;haltlos&amp;rdquo; außerhalb einer Hierarchie.&lt;/p>
&lt;div class="mermaid">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 &lt;-.-> 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 &lt;-.-> 4146667-6
4166111-4 x-.-x 4033734-0
4160516-0 &lt;-.-> 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;
&lt;/div>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>Die Extraktion spezifischer Sachbegriffe aus unseren Erschließungsdaten mit einem selbst trainierten Modell für Named-entity Recognition funktionierte besser als erwartet.&lt;/p>
&lt;p>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 &lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/">Webanwendung zur Visualisierung von Sachbegriffen in der GND&lt;/a> und fragten Details über den &lt;a href="https://explore.gnd.network/" target="_blank" rel="noopener">GND Explorer&lt;/a> ab.&lt;/p>
&lt;p>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.&lt;/p>
&lt;p>Über die Ergebnisse des Fünften Schrittes &amp;ldquo;Aufbau einer Hierarchie basierend auf Informationen aus der GND&amp;rdquo; berichten wir separat.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Auf Grund von Schutzfristen ist noch nicht klar, welche Bestände wir nach Abschluss des Projektes schon veröffentlichen können.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Siehe &lt;a href="https://twitter.com/explosion_ai/status/1601257372743307265" target="_blank" rel="noopener">Best practice recommendations from Explosion.ai on Twitter&lt;/a>.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>Das mag Routine für die Beschreibung von Objekten in Museen sein, ist bei uns im Archiv jedoch unüblich.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>In der GND gibt es noch den &lt;a href="https://lobid.org/gnd/7506699-3" target="_blank" rel="noopener">Berberteppich&lt;/a>, der ebenfalls als Kompositum angelegt wurde, für den wir in unseren Daten jedoch keine Beispiele hatten.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>NER Modell mit GND Starthilfe trainieren</title><link>https://fdmlab.landesarchiv-bw.de/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/</link><pubDate>Tue, 27 Sep 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/</guid><description>&lt;p>In diesem Artikel beschäftigen wir uns mit dem Thema &lt;em>Named Entity Recognition&lt;/em>.
Wir trainieren ein eigenes Modell zur Erkennung von Kunst- und Kulturobjekten in unseren Erschließungsdaten und verwenden als Starthilfe die Gemeinsame Normdatei.&lt;/p>
&lt;h2 id="ner-und-erschließung">NER und Erschließung&lt;/h2>
&lt;p>Ein Arbeitsschritt bei der Erschließung ist die Erstellung von Deskriptoren, also die Identifikation von relevanten Entitäten in den zu verzeichnenden Archivalien.
Dazu gehören relevante Körperschaften, Personen, Orte und Dinge.
Wenn möglich, werden die identifizierten Entitäten zusätzlich mit passenden IDs aus der Gemeinsamen Normdatei (GND) versehen und somit semantisch verknüpft (Linked Data).
Im Bereich des maschinellen Lernens werden diese beiden Schritte &lt;em>Named Entity Recognition&lt;/em> (NER) und &lt;em>Named Entity Linking&lt;/em> (NEL) genannt.&lt;/p>
&lt;p>Dieser Arbeitsschritt findet in der Realität nicht unbedingt direkt bei der initialen Erfassung statt.
Wir haben im Landesarchiv noch analoge Findmittel, die wir Retrodigitalisieren, und digitale Findbücher, bei der die Schlagworte (Deskriptoren) fehlen oder unvollständig sind.&lt;/p>
&lt;p>In einem Experiment zur Vorbereitung eines Projektes im Kontext der Provenienzforschung testeten wir verschiedene Möglichkeiten NER zur Identifikation von beschriebenen Kunst- und Kulturobjekten in unseren Erschließungsdaten zu verwenden. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;h2 id="ner-im-kontext-archiv">NER im Kontext Archiv&lt;/h2>
&lt;p>&lt;em>Named Entity Recognition&lt;/em> gehört zu den stabilen und gern genutzten KI Verfahren zur Extraktion von Informationen.
Dafür gibt es schon vortrainierte Modelle, die innerhalb eines &lt;em>Natural Language Processing&lt;/em> (NLP) Frameworks wie &lt;a href="https://spacy.io/" target="_blank" rel="noopener">spaCy&lt;/a> oder &lt;a href="https://github.com/flairNLP/flair" target="_blank" rel="noopener">flair&lt;/a> verwendet werden können.
Für unser Experiment haben wir uns für &lt;a href="https://spacy.io/" target="_blank" rel="noopener">spaCy&lt;/a> als NLP Framework entschieden, da es ein für uns passendes Ökosystem mitbringt.&lt;/p>
&lt;p>Hier ein mit NER verarbeiteter Beispieltext über das Landesarchiv Baden-Württemberg, welcher von der englischsprachigen Wikipedia angepasst wurde. &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="entities" style="line-height: 2.5; direction: ltr">&lt;br>
&lt;mark class="entity" style="background: #cedb9c; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
The State Archives
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">ORG&lt;/span>
&lt;/mark>
of Baden-Württemberg (
&lt;mark class="entity" style="background: #cedb9c; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
LABW
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">ORG&lt;/span>
&lt;/mark>
) encompasses all state archives in
&lt;mark class="entity" style="background: #e7ba52; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Baden-Württemberg
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">GPE&lt;/span>
&lt;/mark>
.&lt;br>
&lt;mark class="entity" style="background: #cedb9c; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
The State Archives
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">ORG&lt;/span>
&lt;/mark>
of Baden-Württemberg is part of the portfolio of
&lt;mark class="entity" style="background: #d6616b; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
the Baden-Württemberg Ministry for Science, Research and Arts
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">FAC&lt;/span>
&lt;/mark>
.&lt;br>It keeps historic documents that reach back to
&lt;mark class="entity" style="background: #e7cb94; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
the middle ages
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">DATE&lt;/span>
&lt;/mark>
.&lt;br>The current President of
&lt;mark class="entity" style="background: #cedb9c; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
the State Archives
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">ORG&lt;/span>
&lt;/mark>
of Baden-Württemberg has been Prof. Dr.
&lt;mark class="entity" style="background: #a55194; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Gerald Maier
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">PERSON&lt;/span>
&lt;/mark>
since
&lt;mark class="entity" style="background: #e7cb94; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
February 1st, 2018
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">DATE&lt;/span>
&lt;/mark>
.&lt;br>It employs
&lt;mark class="entity" style="background: #843c39; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
around 250
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">CARDINAL&lt;/span>
&lt;/mark>
people at
&lt;mark class="entity" style="background: #843c39; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
8
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">CARDINAL&lt;/span>
&lt;/mark>
locations.&lt;br>&lt;/div>
&lt;hr>
&lt;p>Das Model &lt;em>en_core_web_lg&lt;/em> hat generell einen &lt;strong>f-score&lt;/strong> von &lt;strong>0,85&lt;/strong> und unterscheidet &lt;strong>18&lt;/strong> Arten von &lt;strong>Entitäten&lt;/strong>: CARDINAL, DATE, EVENT, FAC, GPE, LANGUAGE, LAW, LOC, MONEY, NORP, ORDINAL, ORG, PERCENT, PERSON, PRODUCT, QUANTITY, TIME und WORK_OF_ART. &lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;hr>
&lt;p>Farblich hervorgehoben sind die vom Modell erkannten Entitäten und leicht abgesetzt der bestimmte Entitätentyp.
Der &lt;strong>f-score&lt;/strong> besagt in diesem Fall (vereinfacht!), dass in der Evaluation des Modells, von den gesuchten Entitäten etwa 85% gefunden wurden (&lt;em>Recall&lt;/em>) und von den markierten Entitäten etwa 85% richtig markiert wurden (&lt;em>Precision&lt;/em>). &lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>
In unserem von Wikipedia angepassten Beispieltext bestätigten sich diese Werte.&lt;/p>
&lt;p>Hier ein mit NER verarbeiteter Beispieltext über das Landesarchiv Baden-Württemberg, welcher von der deutschsprachigen Wikipedia angepasst wurde. &lt;sup id="fnref:5">&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref">5&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="entities" style="line-height: 2.5; direction: ltr">&lt;br>Das
&lt;mark class="entity" style="background: #8c6d31; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Landesarchiv Baden-Württemberg
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">LOC&lt;/span>
&lt;/mark>
(LABW) umfasst alle
&lt;mark class="entity" style="background: #b5cf6b; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
baden-württembergischen
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">MISC&lt;/span>
&lt;/mark>
Staatsarchive.&lt;br>Es gehört zum Geschäftsbereich des
&lt;mark class="entity" style="background: #cedb9c; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Ministeriums für Wissenschaft, Forschung und Kunst Baden-Württemberg.
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">ORG&lt;/span>
&lt;/mark>
&lt;br>Es verwahrt historische Dokumente, die bis zum Mittelalter zurückreichen.&lt;br>Der amtierende Präsident des
&lt;mark class="entity" style="background: #a55194; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Landesarchives
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">PER&lt;/span>
&lt;/mark>
ist seit dem 01. Februar 2018 Prof. Dr.
&lt;mark class="entity" style="background: #a55194; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Gerald Maier.
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">PER&lt;/span>
&lt;/mark>
&lt;br>Es beschäftigt circa 250 Mitarbeiter an 8 Standorten.&lt;br>&lt;/div>
&lt;hr>
&lt;p>Das Model &lt;em>de_core_news_lg&lt;/em> hat einen &lt;strong>f-score&lt;/strong> von &lt;strong>0,85&lt;/strong> und unterscheidet &lt;strong>4&lt;/strong> Arten von &lt;strong>Entitäten&lt;/strong>: LOC, MISC, ORG, PER. &lt;sup id="fnref:6">&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref">6&lt;/a>&lt;/sup>&lt;/p>
&lt;hr>
&lt;p>Das Modell für die deutsche Sprache erkennt und unterscheidet deutlich weniger Arten von Entitäten.
Das hat damit zu tun, dass es für die deutsche Sprache keine so umfangreichen und frei verfügbaren Trainingsdaten gibt.
Die Qualität der Erkennung (&lt;strong>f-score&lt;/strong>) ist mit dem des englischsprachigen Modells vergleichbar.
Aus Sicht deutschsprachiger Anwender ist es jedoch frustrierend sich auf vier Arten von Entitäten beschränken zu müssen.&lt;/p>
&lt;p>Wenden wir das deutschsprachige Modell auf Texte in unseren Erschließungsdaten an, so gibt es noch ein weiteres Problem. &lt;sup id="fnref:7">&lt;a href="#fn:7" class="footnote-ref" role="doc-noteref">7&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="entities" style="line-height: 2.5; direction: ltr">&lt;br>Besitzhinweis auf Mobiliar (hauptsächlich gekauft bei der
&lt;mark class="entity" style="background: #8c6d31; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Möbelfirma
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">LOC&lt;/span>
&lt;/mark>
&lt;mark class="entity" style="background: #a55194; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Winfried Mueller, Stuttgart
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">PER&lt;/span>
&lt;/mark>
), 1 vollständigen Silberkasten und mindestens 4 Silber-Becher.&lt;br>Zahlung von 11100 fl. samt rückständigen neunjährigen Zinsen in Höhe von 4999 fl. oder Einsetzung in das adelige Gut Werenwag.&lt;br>Gen. Forderung stammt aus Streit über Erbe des im November 1595 verst. K[C]aspar (von)
&lt;mark class="entity" style="background: #b5cf6b; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Laubenberg.
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">MISC&lt;/span>
&lt;/mark>
&lt;br>Entzug des ordentlichen Richters und Verstoß gegen Haigerlocher
&lt;mark class="entity" style="background: #a55194; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Evokationsprivileg
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">PER&lt;/span>
&lt;/mark>
durch Verschleppung kläg. Sohns gen. &amp;quot;junger Lenz&amp;quot; nach Sigmaringen, wo gegen ihn
&lt;mark class="entity" style="background: #a55194; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;">
Kriminalprozeß
&lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">PER&lt;/span>
&lt;/mark>
angestrengt wurde.&lt;br>&lt;/div>
&lt;hr>
&lt;p>Bei unseren Texten hat das Modell praktisch einen &lt;strong>f-score&lt;/strong> von (nahe) 0.
Das ist jedoch kein Problem des spaCy Modells, sondern ein generelles Problem von NER (&lt;strong>Domänenproblem&lt;/strong>).
Das auf allgemeinen Texten trainierte Modell funktioniert wie erwartet auf Wikipedia Texten, hat jedoch Probleme mit der speziellen Domäne der &amp;ldquo;Erschließungsdaten im LABW&amp;rdquo;.&lt;/p>
&lt;p>Das bedeutet, dass wir für die meisten unserer Probleme keine vortrainierten Modelle verwenden können, sondern Modelle speziell für unsere Anwendungszwecke neu erstellen oder nachtrainieren müssen.
Das erfordert aktuell&lt;/p>
&lt;ul>
&lt;li>Technisch versierte Personen, die Daten Pipelines und Workflows erstellen können.&lt;/li>
&lt;li>Fachpersonal, welches die entsprechenden Trainingsdaten erstellen kann.&lt;/li>
&lt;li>Eine Softwareumgebung zur Erstellung der Trainingsdaten.&lt;/li>
&lt;li>Eine Hardwareumgebung zum Trainieren der Modelle.&lt;/li>
&lt;/ul>
&lt;p>Da dies von den meisten kulturellen Einrichtungen nicht geleistet werden kann, arbeiten mehrere NFDI Konsortien, darunter &lt;a href="https://nfdi4culture.de/" target="_blank" rel="noopener">NFDI4Culture&lt;/a> und je nach Genehmigungsstatus ab nächstem Jahr &lt;a href="https://4memory.de/" target="_blank" rel="noopener">NFDI4Memory&lt;/a> daran, mögliche Lösungen für diese Anforderungen zu entwickeln und zur Verfügung zu stellen.&lt;/p>
&lt;p>Da das FDMLab explizit dafür ausgelegt ist, solche Probleme zu untersuchen und damit wertvolle Vorarbeiten zu leisten, konnten wir uns dieses Problem ansehen und exemplarisch an einer konkreten Aufgabe durcharbeiten.&lt;/p>
&lt;h2 id="trainieren-eines-ner-modells">Trainieren eines NER Modells&lt;/h2>
&lt;p>Bei der Erstellung von Trainingsdaten für unser NER Modell waren wir mit dem so genannten &amp;ldquo;Kaltstart&amp;rdquo;-Problem konfrontiert.
Das bedeutet, dass wir noch keine Trainingsdaten hatten und auch keine Möglichkeit diese auf einfache Art- und Weise zu &amp;ldquo;synthetisieren&amp;rdquo;.
Da wir es in unserem speziellen Fall explizit mit Kunst- und Kulturobjekten zu tun haben und es in der GND einen umfangreichen Thesaurus mit Sachschlagworten gibt, hatten wir die Idee die Sachschlagworte in der GND als erste Grundlage zu verwenden und anschließend in einem aktiven Lernverfahren den Trainingsprozess für das Fachpersonal zu vereinfachen. &lt;sup id="fnref:8">&lt;a href="#fn:8" class="footnote-ref" role="doc-noteref">8&lt;/a>&lt;/sup>&lt;/p>
&lt;h3 id="vorbereitungen">Vorbereitungen&lt;/h3>
&lt;p>Wir verwenden &lt;a href="https://spacy.io/" target="_blank" rel="noopener">spaCy&lt;/a> als NLP Framework und &lt;a href="https://prodi.gy/" target="_blank" rel="noopener">prodigy&lt;/a> zur Erstellung der Trainingsdaten.
Damit können wir basierend auf den Begriffen aus der GND eine Sammlung von Regeln hinterlegen, die automatisch Begriffe vorauswählen. &lt;sup id="fnref:9">&lt;a href="#fn:9" class="footnote-ref" role="doc-noteref">9&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Dafür müssen die Daten aus der GND erst noch extrahiert und aufbereitet werden.&lt;/p>
&lt;h4 id="gnd-daten-extrahieren">GND Daten extrahieren&lt;/h4>
&lt;p>Wie wir die &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/">GND in ihrer Linked Open Data (LOD) Form in einen lokalen Apache Jena Server laden&lt;/a>, haben wir bereits ausführlich beschrieben.
Die Schlagworte extrahieren wir anschließend via SPARQL zusammen mit ihren Varianten und GND Sachgruppen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndCat&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/vocab/gnd/gnd-sc#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">skos&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?gndID&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">SAMPLE&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?namex&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">AS&lt;/span> &lt;span class="nv">?name&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">SAMPLE&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?variantsx&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nv">?variants&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">GROUP_CONCAT&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?categoryName&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nf">SEPARATOR&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;|&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">AS&lt;/span> &lt;span class="nv">?categories&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?gndID&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">gndSubjectCategory&lt;/span> &lt;span class="nv">?category&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?category&lt;/span> &lt;span class="nn">skos&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">prefLabel&lt;/span> &lt;span class="nv">?categoryName&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">lang&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?categoryName&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;de&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?gndID&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">SAMPLE&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?prefName&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">AS&lt;/span> &lt;span class="nv">?namex&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">GROUP_CONCAT&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?variant&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nf">SEPARATOR&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;|&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">AS&lt;/span> &lt;span class="nv">?variantsx&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">VALUES&lt;/span> &lt;span class="nv">?subjectType&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">SubjectHeading&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">SubjectHeadingSensoStricto&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">ProductNameOrBrandName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?gndID&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?subjectType&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?prefName&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">?gndID&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">variantNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?variant&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">GROUP BY&lt;/span> &lt;span class="nv">?gndID&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">GROUP BY&lt;/span> &lt;span class="nv">?gndID&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Bei der Abfrage beschränken wir uns auf die Typen &lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeading" target="_blank" rel="noopener">SubjectHeading&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeadingSensoStricto" target="_blank" rel="noopener">SubjectHeadingSensoStricto&lt;/a> und &lt;a href="https://d-nb.info/standards/elementset/gnd#ProductNameOrBrandName" target="_blank" rel="noopener">ProductNameOrBrandName&lt;/a>.
Ein Begriff kann in der GND auch mit alternativen Benennungen gelistet werden (&lt;em>variants&lt;/em>).
Diese sind zwar hilfreich, jedoch nicht so umfassend wie die Daten im englischsprachen &lt;a href="https://de.wikipedia.org/wiki/WordNet" target="_blank" rel="noopener">WordNet&lt;/a> oder im lizenzpflichtigen deutschsprachigen &lt;a href="https://de.wikipedia.org/wiki/GermaNet" target="_blank" rel="noopener">GermaNet&lt;/a>.
Ein Begriff ist einer oder mehreren &lt;a href="https://d-nb.info/standards/vocab/gnd/gnd-sc.html" target="_blank" rel="noopener">Sachgruppen&lt;/a> zugeordnet.&lt;/p>
&lt;p>In der folgenden Tabelle ist das Ergebnis der SPARQL-Abfrage mit fünf Ergebnissen gezeigt.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>gndID&lt;/th>
&lt;th>name&lt;/th>
&lt;th>variants&lt;/th>
&lt;th>categories&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>4300598-6&lt;/td>
&lt;td>Tonnelierter Raum&lt;/td>
&lt;td>Barrelled spaces &lt;strong>|&lt;/strong> Espace tonnelé&lt;/td>
&lt;td>Mathematik&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4207912-3&lt;/td>
&lt;td>Götter &amp;lt;Motiv&amp;gt;&lt;/td>
&lt;td>&lt;/td>
&lt;td>Sachliche Motive in der Kunst &lt;strong>|&lt;/strong> Literarische Motive, Stoffe, Gestalten&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7528956-8&lt;/td>
&lt;td>Pflanzenbeobachtung&lt;/td>
&lt;td>Pflanzen / Beobachtung&lt;/td>
&lt;td>Botanik (Allgemeines)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4379234-0&lt;/td>
&lt;td>Freiwillige Selbstkontrolle&lt;/td>
&lt;td>FSK &lt;strong>|&lt;/strong> Selbstkontrolle &amp;lt;Publizistik&amp;gt;&lt;/td>
&lt;td>Film &lt;strong>|&lt;/strong> Presse &lt;strong>|&lt;/strong> Rundfunk, Neue Medien&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>4173231-5&lt;/td>
&lt;td>Papstkrönung&lt;/td>
&lt;td>Papst / Krönung&lt;/td>
&lt;td>Kirchengeschichte &lt;strong>|&lt;/strong> Geschichte überregionaler Gebiete&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="gnd-daten-aufbereiten">GND Daten aufbereiten&lt;/h4>
&lt;p>Die in Tabellenform extrahierten Begriffe werden anschließend in OpenRefine aufbereitet und markiert.
Dafür werden die mit &lt;strong>|&lt;/strong> getrennten Varianten und Sachgruppen in einer &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/10-arbeiten-mit-records/">Record-Struktur&lt;/a> aufgelöst, sowie Ergänzungen in Klammern (&lt;em>&amp;lt;Motiv&amp;gt;&lt;/em>, &lt;em>(Allgemeines)&lt;/em>, &amp;hellip;) und Hierarchiezeichen (&lt;em>Papst / Krönung&lt;/em> =&amp;gt; &lt;em>Papst Krönung&lt;/em>) mit &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/08-regulaere-ausdruecke/">regulären Ausdrücken&lt;/a> entfernt.&lt;/p>
&lt;p>Anschließend werden drei Datensätze erstellt:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>GND ALL&lt;/strong>: enthält &lt;strong>alle&lt;/strong> extrahierten Begriffe und Varianten&lt;/li>
&lt;li>&lt;strong>GND Groups&lt;/strong>: enthält alle Begriffe und Varianten in von uns &lt;strong>markierten Sachgruppen&lt;/strong>&lt;/li>
&lt;li>&lt;strong>GND Selected&lt;/strong>: enthält alle separat von uns &lt;strong>markierte Begriffe&lt;/strong> mit ihren Varianten&lt;/li>
&lt;/ul>
&lt;div class="alert alert-note">
&lt;div>
Bei der Identifikation von relevanten Sachgruppen ist unser &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-05-experiment-mit-gnd-visualisierungen/">Experiment zur GND Hierarchie Visualisierung&lt;/a> eine große Hilfe.
&lt;/div>
&lt;/div>
&lt;p>Für jeden Datensatz wird mit Python anschließend ein einfacher Regelsatz (&lt;strong>Simple&lt;/strong>) und ein komplexer Regelsatz (&lt;strong>Complex&lt;/strong>) für spaCy erstellt.&lt;/p>
&lt;p>Für den &lt;strong>einfachen&lt;/strong> Regelsatz wird eine Regel mit dem Begriff in seiner bevorzugten Schreibweise erstellt.
Besteht der Begriff aus mehreren Worten, so wird zusätzlich eine Regel für eine Schreibweise mit Bindestrichen und eine Regel für eine Schreibweise ohne Bindestriche oder Leerzeichen erstellt.&lt;/p>
&lt;p>Hier am Beispiel des Begriffes &lt;em>Ludwigsburger Porzellan&lt;/em>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;label&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OBJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;pattern&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Ludwigsburger Porzellan&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;label&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OBJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;pattern&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Ludwigsburger-Porzellan&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;label&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OBJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;pattern&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Ludwigsburgerporzellan&amp;#34;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Damit decken wir unterschiedliche Schreibweisen für zusammengesetzte Wörter und ggf. fehlende Leerzeichen ab.
Tippfehler, andere grammatikalische Formen und Synonyme werden dadurch nicht gefunden.&lt;/p>
&lt;p>Für den &lt;strong>komplexen&lt;/strong> Regelsatz wird via regulären Ausdrücken zusätzlich die Option berücksichtigt, dass es weitere mit Bindestrich verbundene Wortbestandteile geben kann (Ludwigsburger-Porzellan-Tasse) und zusätzlich die Grundform des Wortes (Lemma) als Vergleichskriterium verwendet. &lt;sup id="fnref:10">&lt;a href="#fn:10" class="footnote-ref" role="doc-noteref">10&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;label&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OBJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;pattern&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="nt">&amp;#34;LEMMA&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Ludwigsburger&amp;#34;&lt;/span>&lt;span class="p">},&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;LEMMA&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Porzellan&amp;#34;&lt;/span>&lt;span class="p">}]}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;label&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OBJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;pattern&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="nt">&amp;#34;LEMMA&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;REGEX&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Ludwigsburger\\-Porzellan((-|\\s)\\w+)?&amp;#34;&lt;/span>&lt;span class="p">}}]}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;label&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;OBJ&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;pattern&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[{&lt;/span>&lt;span class="nt">&amp;#34;LEMMA&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>&lt;span class="nt">&amp;#34;REGEX&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Ludwigsburgerporzellan((-|\\s)\\w+)?&amp;#34;&lt;/span>&lt;span class="p">}}]}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="durchführung">Durchführung&lt;/h3>
&lt;h4 id="annotation-mit-regeln-und-aktivem-lernen">Annotation mit Regeln und aktivem Lernen&lt;/h4>
&lt;p>Mit dem Regelsatz &lt;strong>GND Selected Simple&lt;/strong> wurden 1.000 Sätze mit regelbasierter Unterstützung manuell annotiert. &lt;sup id="fnref:11">&lt;a href="#fn:11" class="footnote-ref" role="doc-noteref">11&lt;/a>&lt;/sup>
Mit diesen wurde anschließend ein temporäres Modell trainiert, welches dabei unterstützte weitere 2.000 Sätze zu annotieren.&lt;sup id="fnref:12">&lt;a href="#fn:12" class="footnote-ref" role="doc-noteref">12&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Je nach verwendeter Beschreibungsform im Findbuch (Fließtext, Aufzählung, Liste, Tabelle, &amp;hellip;) kann ein Satz zwischen 0 und mehr als 30 Entitäten enthalten.&lt;/p>
&lt;p>Auf Grund von Duplikaten entstanden dadurch etwa 2.600 annotierte Sätze für das Training.&lt;/p>
&lt;p>Zusätzlich wurden aus jedem der 59 untersuchten Findbüchern 2 zufällig ausgewählte Findbuchbeiträge extrahiert, wodurch ein Evaluations Datenset mit 1.677 eindeutigen Sätzen entstand. Dieses wurde von 2 Personen getrennt annotiert und anschließend die Unterschiede noch einmal besprochen und aufgelöst. &lt;sup id="fnref:13">&lt;a href="#fn:13" class="footnote-ref" role="doc-noteref">13&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Das NER Modell wurde anschließend auf den Trainingsbeispielen neu trainiert und gegen das Evaluationsdatenset evaluiert. &lt;sup id="fnref:14">&lt;a href="#fn:14" class="footnote-ref" role="doc-noteref">14&lt;/a>&lt;/sup>&lt;/p>
&lt;h4 id="evaluation-regelbasierter-modelle">Evaluation regelbasierter &amp;ldquo;Modelle&amp;rdquo;&lt;/h4>
&lt;p>Aus jedem der 6 Regeldatensätze wurde eine eigene spaCy Pipeline mit einer &lt;em>EntityRuler&lt;/em> Komponente erstellt. &lt;sup id="fnref:15">&lt;a href="#fn:15" class="footnote-ref" role="doc-noteref">15&lt;/a>&lt;/sup>
Diese 6 Pipelines wurden anschließend gegen das Trainings- &lt;strong>und&lt;/strong> Evaluationsdatenset evaluiert. &lt;sup id="fnref:16">&lt;a href="#fn:16" class="footnote-ref" role="doc-noteref">16&lt;/a>&lt;/sup>&lt;/p>
&lt;h3 id="ergebnisse">Ergebnisse&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th style="text-align:right">Begriffe&lt;/th>
&lt;th style="text-align:right">&lt;/th>
&lt;th style="text-align:right">Gruppen&lt;/th>
&lt;th style="text-align:right">&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>GND ALL&lt;/strong>&lt;/td>
&lt;td style="text-align:right">143.064&lt;/td>
&lt;td style="text-align:right">(100,00%)&lt;/td>
&lt;td style="text-align:right">339&lt;/td>
&lt;td style="text-align:right">(100,00%)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>GND Groups&lt;/strong>&lt;/td>
&lt;td style="text-align:right">33.461&lt;/td>
&lt;td style="text-align:right">(23,39%)&lt;/td>
&lt;td style="text-align:right">27&lt;/td>
&lt;td style="text-align:right">(7,96%)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>GND Selected&lt;/strong>&lt;/td>
&lt;td style="text-align:right">604&lt;/td>
&lt;td style="text-align:right">(0,42%)&lt;/td>
&lt;td style="text-align:right">80&lt;/td>
&lt;td style="text-align:right">(23,60%)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Insgesamt arbeiteten wir mit 143.061 Begriffen aus der GND (Varianten nicht mitgezählt).
Bei der manuellen Auswahl der Sachgruppen wurden 27 Sachgruppen als relevant markiert.
Bei der manuellen Auswahl der Begriffe wurden 604 Begriffe als relevant markiert.&lt;/p>
&lt;p>Die 604 manuell markierten Begriffe sind insgesamt 80 unterschiedlichen Sachgruppen zugeordnet, wobei ein Begriff mehreren Sachgruppen zugeordnet werden kann.&lt;/p>
&lt;p>Es war deutlich einfacher (und schneller) die 27 relevanten Sachgruppen zu identifizieren, als die 604 relevanten Begriffe herauszusuchen.
Bei beiden Ansätzen war uns klar, dass wir aus Zeitgründen keine vollständige Auswahl treffen werden, so dass wir uns in der dafür aufgewendeten Zeit einschränkten.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Dataset&lt;/th>
&lt;th style="text-align:right">Precision&lt;/th>
&lt;th style="text-align:right">Recall&lt;/th>
&lt;th style="text-align:right">F1&lt;/th>
&lt;th>Dataset&lt;/th>
&lt;th style="text-align:right">Precision&lt;/th>
&lt;th style="text-align:right">Recall&lt;/th>
&lt;th style="text-align:right">F1&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>GND ALL &lt;strong>Simple&lt;/strong>&lt;/td>
&lt;td style="text-align:right">0,23&lt;/td>
&lt;td style="text-align:right">0,37&lt;/td>
&lt;td style="text-align:right">0,29&lt;/td>
&lt;td>&lt;strong>Complex&lt;/strong>&lt;/td>
&lt;td style="text-align:right">0,19&lt;/td>
&lt;td style="text-align:right">0,84&lt;/td>
&lt;td style="text-align:right">0,31&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GND Groups &lt;strong>Simple&lt;/strong>&lt;/td>
&lt;td style="text-align:right">0,33&lt;/td>
&lt;td style="text-align:right">0,34&lt;/td>
&lt;td style="text-align:right">0,34&lt;/td>
&lt;td>&lt;strong>Complex&lt;/strong>&lt;/td>
&lt;td style="text-align:right">0,31&lt;/td>
&lt;td style="text-align:right">0,76&lt;/td>
&lt;td style="text-align:right">0,44&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GND Selected &lt;strong>Simple&lt;/strong>&lt;/td>
&lt;td style="text-align:right">0,71&lt;/td>
&lt;td style="text-align:right">0,19&lt;/td>
&lt;td style="text-align:right">0,30&lt;/td>
&lt;td>&lt;strong>Complex&lt;/strong>&lt;/td>
&lt;td style="text-align:right">0,69&lt;/td>
&lt;td style="text-align:right">0,37&lt;/td>
&lt;td style="text-align:right">0,48&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>NER OBJ&lt;/td>
&lt;td style="text-align:right">0,96&lt;/td>
&lt;td style="text-align:right">0,94&lt;/td>
&lt;td style="text-align:right">0,95&lt;/td>
&lt;td>&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;td style="text-align:right">&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Die Ergebnisse der obigen Tabelle sind in Abbildung 1 visualisiert und werden dort besprochen.&lt;/p>
&lt;figure id="figure-scatterplot-für-precision-und-recall-für-die-einzelnen-datensätze">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Scatterplot für Precision und Recall für die einzelnen Datensätze." srcset="
/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_670776311626ecdef0eb7da8ead0b65c.webp 400w,
/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_015a3bc5bbc9919d78426f9f78d34840.webp 760w,
/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-09-ner-modell-mit-gnd-starthilfe-trainieren/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_670776311626ecdef0eb7da8ead0b65c.webp"
width="423"
height="432"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Scatterplot für Precision und Recall für die einzelnen Datensätze.
&lt;/figcaption>&lt;/figure>
&lt;p>In Abbildung 1 lässt sich ablesen, dass die Verwendung der komplexen im Vergleich zu den einfachen Regeln den &lt;em>Recall&lt;/em>, also den Anteil gefundener Begriffe, deutlich erhöht, wobei die &lt;em>Precision&lt;/em>, also der Anteil an falsch markierten Begriffen, im Vergleich nur unwesentlich sinkt.&lt;/p>
&lt;p>Es lässt sich ebenfalls ablesen, dass die Verwendung aller Begriffe in der GND (&lt;strong>ALL&lt;/strong>) im Vergleich zur Verwendung der Begriffe ausgewählter Gruppen (&lt;strong>Groups&lt;/strong>) den &lt;em>Recall&lt;/em> erhöht, aber nicht so wesentlich, als dass es die deutlich schlechtere &lt;em>Precision&lt;/em> ausgleichen könnte.&lt;/p>
&lt;p>Mit einem &lt;strong>f1-score&lt;/strong> von &lt;strong>0,48&lt;/strong> erhält der Ansatz mit den ausgewählten Begriffen (&lt;strong>Selected&lt;/strong>) den besten Wert der regelbasierten Ansätze.
Mit einem &lt;strong>f1-score&lt;/strong> von &lt;strong>0,95&lt;/strong> ist das &lt;strong>NER Modell&lt;/strong> den regelbasierten Ansätzen jedoch weit überlegen.&lt;/p>
&lt;h3 id="diskussion">Diskussion&lt;/h3>
&lt;p>Grundsätzlich lässt sich sagen, dass sich die Idee die GND als Starthilfe für das Anlernen eines neuen NER Models zu verwenden, als erfolgreich erwiesen hat. Mit einem &lt;em>Recall&lt;/em> und einer &lt;em>Precision&lt;/em> über 90 Prozent könnten wir das anschließend trainierte NER Modell direkt produktiv anwenden.
Auch die Verwendung der Sachbegriffe in der GND als Starthilfe hat deutlich besser funktioniert, als wir das erwartet hatten.&lt;/p>
&lt;p>Ein wesentlicher Faktor, den wir bei diesem Experiment bewusst nicht erfasst haben, ist der zeitliche Aufwand für die einzelnen manuellen oder automatisierten Arbeitsschritte.&lt;/p>
&lt;p>Hier machte eine genaue Erfassung in unserem Fall von daher keinen Sinn, da bei den manuellen Aufgaben ein großer Faktor der einmalige Einarbeitungsaufwand darstellt und die automatisierten Schritte auf Grund unterschiedlicher Lasten auf unserem Testsystem nicht deterministisch waren. Außerdem durchliefen wir verschiedene Iterationen, bis wir einem für uns passenden Workflow gefunden hatten.&lt;/p>
&lt;p>Generell würden wir nach unserer Erfahrung davon abraten &lt;strong>alle&lt;/strong> Sachbegriffe der GND, oder mehr als die von uns verwendeten circa 33.500 Begriffe zur Regelgenerierung zu verwenden. Nach unserer Beobachtung ist bei diesen Mengen und bei der Verwendung von regulären Ausdrücken in den Regeln das Laufzeitverhalten der Regelauswertung nicht mehr linear.&lt;/p>
&lt;p>Bei der Abwägung, ob mit ausgewählten Begriffen oder ausgewählten Sachgruppen gearbeitet wird, sollte auch die Präferenz des Fachpersonals im Annotationsprozess berücksichtigt werden. Bei einer hohen &lt;em>Precision&lt;/em> müssen hauptsächlich zusätzliche Begriffe markiert werden. Bei einem hohen &lt;em>Recall&lt;/em> (und niedriger &lt;em>Precision&lt;/em>) müssen hauptsächlich falsch markierte Begriffe entfernt werden.&lt;/p>
&lt;p>Außerdem haben wir uns bei der initialen Auswahl der Sachbegriffe aus der GND auf bestimmte Typen beschränkt (&lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeading" target="_blank" rel="noopener">SubjectHeading&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeadingSensoStricto" target="_blank" rel="noopener">SubjectHeadingSensoStricto&lt;/a> und &lt;a href="https://d-nb.info/standards/elementset/gnd#ProductNameOrBrandName" target="_blank" rel="noopener">ProductNameOrBrandName&lt;/a>). Diese Einschränkung machte für uns Sinn, jedoch sind manche der von uns gesuchten Objekte auch unter den Typen &lt;a href="https://d-nb.info/standards/elementset/gnd#Work" target="_blank" rel="noopener">Work&lt;/a> bzw. dessen Unterklassen zu finden, oder in der GND als &lt;a href="https://d-nb.info/standards/elementset/gnd#CorporateBody" target="_blank" rel="noopener">Corporate Body&lt;/a> klassifiziert.&lt;/p>
&lt;p>Die Entscheidung aus jedem Bestand 2 zufällige Findbucheinträge für das Evaluationsdatenset zu verwenden, sorgte für ein ungünstiges Größenverhältnis zwischen Trainings- und Evaluationsdatenset. Zum einen ist das Evaluationsdatenset recht groß im Vergleich zum Trainingsdatenset. Zum anderen ist es durch die Unterschiede zwischen den einzelnen Beständen nicht repräsentativ. So gibt es eine große Varianz in der Größe der einzelnen Bestände (1 - 1321 Findbucheinträge) und der unterschiedlichen Länge der einzelnen Findbucheinträge (6 - 47.249 Zeichen).&lt;/p>
&lt;p>Bei der praktischen Anwendung des trainierten Modells konnten wir feststellen, dass die Performanz des Modells auf den größeren Beständen merkbar schlechter war, so dass wir in der praktischen Anwendung eher mit einer &lt;em>Precision&lt;/em> und einem &lt;em>Recall&lt;/em> im Bereich von etwa 90 Prozent rechnen.&lt;/p>
&lt;p>Theoretisch könnte die Performanz des Modells noch deutlich verbessert werden, indem unter anderem weitere Trainingsbeispiele erstellt werden und zusätzlich eine Hyperparameteroptimierung durchgeführt wird.&lt;/p>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>&lt;em>Named Entity Recognition&lt;/em> kann bei der Erstellung von Metadaten von textbasierten Material eine große Hilfe sein.
Leider lassen sich auf allgemeinen Texten trainierte Modelle meist nicht auf Texte im Archiv übertragen.
Ein Trainieren von eigenen NER-Modellen ist mit guten Ergebnissen und vertretbarem Aufwand möglich.
Dabei ist die Gemeinsame Normdatei eine hilfreiche Datenquelle.
Jedoch fehlt es vielen kulturellen Institutionen an einem Zugang zu technischem Personal und Infrastruktur.
Wir hoffen, dass Lösungen von der &lt;a href="https://www.nfdi.de/" target="_blank" rel="noopener">NFDI&lt;/a> zukünftig diese Lücken schließen können.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Da die bearbeiteten Daten teilweise noch einer Sperrfrist unterliegen, können wir zu diesem Zeitpunkt weder die Daten noch die Modelle bzw. konkrete Ergebnislisten veröffentlichen. Es macht daher auch keinen Sinn eine reproduzierbaren Workflow zu veröffentlichen.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Wikipedia Autoren, „Landesarchiv Baden-Württemberg“, Wikipedia – Die freie Enzyklopädie, &lt;a href="https://de.wikipedia.org/w/index.php?title=Landesarchiv_Baden-W%C3%BCrttemberg&amp;amp;oldid=223510351" target="_blank" rel="noopener">https://de.wikipedia.org/w/index.php?title=Landesarchiv_Baden-W%C3%BCrttemberg&amp;oldid=223510351&lt;/a> (aufgerufen am 20. Juli 2022).&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>NER erstellt mit spaCy 3.3 &lt;a href="https://spacy.io/models/en#en_core_web_lg" target="_blank" rel="noopener">en_core_web_lg&lt;/a>.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>Siehe &lt;a href="https://en.wikipedia.org/wiki/Precision_and_recall" target="_blank" rel="noopener">Wikipedia - Precision and recall&lt;/a> für Details.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:5">
&lt;p>Wikipedia Autoren, „Landesarchiv Baden-Württemberg“, Wikipedia – Die freie Enzyklopädie, &lt;a href="https://de.wikipedia.org/w/index.php?title=Landesarchiv_Baden-W%C3%BCrttemberg&amp;amp;oldid=223510351" target="_blank" rel="noopener">https://de.wikipedia.org/w/index.php?title=Landesarchiv_Baden-W%C3%BCrttemberg&amp;oldid=223510351&lt;/a> (aufgerufen am 20. Juli 2022).&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:6">
&lt;p>NER erstellt mit spaCy 3.3 &lt;a href="https://spacy.io/models/de#de_core_news_lg" target="_blank" rel="noopener">de_core_news_lg&lt;/a>.&amp;#160;&lt;a href="#fnref:6" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:7">
&lt;p>NER erstellt mit spaCy 3.3 &lt;a href="https://spacy.io/models/de#de_core_news_lg" target="_blank" rel="noopener">de_core_news_lg&lt;/a>.&amp;#160;&lt;a href="#fnref:7" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:8">
&lt;p>Siehe &lt;a href="https://en.wikipedia.org/wiki/Active_learning_%28machine_learning%29" target="_blank" rel="noopener">Wikipedia - Active Learning&lt;/a>.&amp;#160;&lt;a href="#fnref:8" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:9">
&lt;p>Siehe &lt;a href="https://spacy.io/usage/rule-based-matching" target="_blank" rel="noopener">Rule-based matching&lt;/a> und &lt;a href="https://prodi.gy/docs/named-entity-recognition#manual-patterns" target="_blank" rel="noopener">Manual annotation with patters&lt;/a>.&amp;#160;&lt;a href="#fnref:9" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:10">
&lt;p>Siehe Wikipedia - &lt;a href="https://de.wikipedia.org/wiki/Lemma_%28Lexikographie%29" target="_blank" rel="noopener">Lemma (Lexikographie)&lt;/a>&amp;#160;&lt;a href="#fnref:10" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:11">
&lt;p>&lt;a href="https://prodi.gy/docs/named-entity-recognition#manual-patterns" target="_blank" rel="noopener">Manual annotation with patters&lt;/a> bzw. &lt;a href="https://prodi.gy/docs/recipes/#ner-manual" target="_blank" rel="noopener">Prodigy Rezept ner.manual&lt;/a>.&amp;#160;&lt;a href="#fnref:11" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:12">
&lt;p>&lt;a href="https://prodi.gy/docs/named-entity-recognition#manual-model" target="_blank" rel="noopener">Manual annotation with suggestions from a model&lt;/a> bzw. &lt;a href="https://prodi.gy/docs/recipes/#ner-correct" target="_blank" rel="noopener">Prodigy Rezept ner.correct&lt;/a>.&amp;#160;&lt;a href="#fnref:12" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:13">
&lt;p>&lt;a href="https://prodi.gy/docs/recipes/#review" target="_blank" rel="noopener">Prodigy Rezept review&lt;/a>&amp;#160;&lt;a href="#fnref:13" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:14">
&lt;p>&lt;a href="https://spacy.io/api/cli#evaluate" target="_blank" rel="noopener">spaCy CLI evaluate&lt;/a>&amp;#160;&lt;a href="#fnref:14" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:15">
&lt;p>&lt;a href="https://spacy.io/usage/processing-pipelines" target="_blank" rel="noopener">Language Processing Pipelines&lt;/a> bzw. &lt;a href="https://spacy.io/usage/rule-based-matching" target="_blank" rel="noopener">Rule-based matching&lt;/a> bzw. &lt;a href="https://spacy.io/api/entityruler" target="_blank" rel="noopener">EntityRuler&lt;/a>.&amp;#160;&lt;a href="#fnref:15" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:16">
&lt;p>Bei dem regelbasierten Ansatz ist eine &lt;a href="https://de.wikipedia.org/wiki/%C3%9Cberanpassung" target="_blank" rel="noopener">Überanpassung&lt;/a> nicht zu befürchten, da es sich hier um &lt;strong>keinen&lt;/strong> selbst lernenden Prozess handelt.&amp;#160;&lt;a href="#fnref:16" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Wie wir Docker einsetzen</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-06-wie-wir-docker-einsetzen/</link><pubDate>Tue, 08 Jun 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-06-wie-wir-docker-einsetzen/</guid><description>&lt;p>Programme haben Anforderungen an ihre Umgebung.
Dies kann ein bestimmtes Betriebssystem sein (Windows, Linux, macOS),
eine Laufzeitumgebung für eine Programmiersprache (Python, Java, C#),
oder die Verfügbarkeit bestimmter Bibliotheken (GTK, .NET, Qt).
Wir wollen uns beim Testen und Evaluieren aber nicht einschränken!&lt;/p>
&lt;p>Im FDMLab evaluieren wir Programme und Bibliotheken, die sowohl für den Gebrauch am Rechner, als auch als Serveranwendung entwickelt wurden.
Würden wir diese alle auf unserem Testrechner installieren, hätten wir schnell die von Randall Munroe dargestellte Situation erzeugt.
Also unser System mit Programmen, Laufzeitumgebungen und Konfigurationsdateien vollgemüllt.&lt;/p>
&lt;figure id="figure-python-environmenthttpsxkcdcom1987-von-randall-munroe-unter-cc-by-nc-lizenzhttpcreativecommonsorglicensesby-nc25">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="[Python Environment](https://xkcd.com/1987/) von Randall Munroe unter [CC BY-NC Lizenz](http://creativecommons.org/licenses/by-nc/2.5/)." srcset="
/post/2021-06-wie-wir-docker-einsetzen/python_environment_huf01e0eb7d16bfdafe1594868b0e0e25e_54078_eaf385cb765fbdd143396c6e7cb3e5a8.webp 400w,
/post/2021-06-wie-wir-docker-einsetzen/python_environment_huf01e0eb7d16bfdafe1594868b0e0e25e_54078_cd12d25540c3a8bdf9c0e7a4206b9819.webp 760w,
/post/2021-06-wie-wir-docker-einsetzen/python_environment_huf01e0eb7d16bfdafe1594868b0e0e25e_54078_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-06-wie-wir-docker-einsetzen/python_environment_huf01e0eb7d16bfdafe1594868b0e0e25e_54078_eaf385cb765fbdd143396c6e7cb3e5a8.webp"
width="492"
height="487"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
&lt;a href="https://xkcd.com/1987/" target="_blank" rel="noopener">Python Environment&lt;/a> von Randall Munroe unter &lt;a href="http://creativecommons.org/licenses/by-nc/2.5/" target="_blank" rel="noopener">CC BY-NC Lizenz&lt;/a>.
&lt;/figcaption>&lt;/figure>
&lt;p>Stattdessen versuchen wir - sofern möglich - die zu evaluierenden Programme als Docker Container zu testen.
Wie im Eingangsbild symbolhaft dargestellt&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>, handelt es sich bei Docker Containern (vereinfacht)
um einen Standard um Anwendungen mitsamt ihrer Umgebung zu verpacken und somit auf unterschiedlichen Docker Hosts laufen zu lassen.&lt;/p>
&lt;p>Wir verwenden dafür &lt;a href="https://docs.docker.com/docker-for-windows/install/" target="_blank" rel="noopener">Docker Desktop für Windows&lt;/a>.&lt;/p>
&lt;h2 id="docker-container-via-browser">Docker Container via Browser&lt;/h2>
&lt;div class="mermaid">---
title: Docker Container via Browser
config:
look: handDrawn
theme: neutral
---
flowchart TD
subgraph Container[Container]
FC[Dateien]
Server[[Server]]
DB[(Datenbank)]
Lib{{Bibliotheken}}
end
Browser[[Browser]]
FU[Dateien]
FU &lt;--> FC --> Server
Server --> Browser
DB --> Server
Lib --> Server
&lt;/div>
&lt;p>Eine Variante Docker zu verwenden, ist mit der Anwendung in dem Container via einer Web GUI im Browser zu interagieren.
Ein Beispiel hierfür ist das Projekt &lt;a href="http://ocr4all.org/" target="_blank" rel="noopener">OCR4All&lt;/a>.
Mit dem folgenden PowerShell Befehl wird die Vorlage für einen &lt;em>OCR4All Container&lt;/em> (&lt;code>image&lt;/code>)
aus der &lt;em>Docker Hub Registry&lt;/em> heruntergeladen und lokal ein &lt;em>OCR4All Container&lt;/em> erstellt.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-rm&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="n">-p&lt;/span> &lt;span class="mf">8080&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="mf">8080&lt;/span> &lt;span class="n">ls6uniwue&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">ocr4all&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Über die Adresse &lt;code>http://localhost:8080&lt;/code> lässt sich die Web GUI des &lt;em>OCR4All Containers&lt;/em> aufrufen und bedienen.&lt;/p>
&lt;p>Es ist möglich Daten von der eigenen Festplatte mit &lt;a href="https://docs.docker.com/storage/volumes/" target="_blank" rel="noopener">in den Container einzuhängen&lt;/a> (&lt;em>mounten&lt;/em>).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-rm&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="n">-p&lt;/span> &lt;span class="mf">8080&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="mf">8080&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="p">${&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">var&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">ocr4all&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">data&lt;/span> &lt;span class="n">ls6uniwue&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">ocr4all&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="docker-container-als-skript">Docker Container als Skript&lt;/h2>
&lt;p>Docker Container können ähnliche wie Skripte verwendet werden.&lt;/p>
&lt;p>Mit dem folgenden Beispiel wird ein &lt;a href="https://ocr-d.de/en/workflows" target="_blank" rel="noopener">OCR-D Workflow&lt;/a> ausgeführt,
ohne dass die mehr als 60 unterschiedlichen Prozessoren separat installiert werden müssen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-rm&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="p">${&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">data&lt;/span> &lt;span class="n">-w&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">data&lt;/span> &lt;span class="p">--&lt;/span> &lt;span class="n">ocrd&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">all&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="n">maximum&lt;/span> &lt;span class="n">bash&lt;/span> &lt;span class="n">workflow&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">sh&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="alert alert-warning">
&lt;div>
Das Image &lt;code>ocrd/all:maximum&lt;/code> ist mehrere Gigabyte groß!
&lt;/div>
&lt;/div>
&lt;h2 id="wo-docker-nicht-funktioniert">Wo Docker nicht funktioniert&lt;/h2>
&lt;p>Es gibt Software, die nicht als Docker Image vorliegt, oder als solche verwendet werden kann.
Dazu gehört Software, die eine systemspezifische GUI Bibliothek verwendet.&lt;/p>
&lt;p>Beispiele hierfür sind der &lt;a href="https://www.primaresearch.org/tools/PAGEViewer" target="_blank" rel="noopener">Page Viewer&lt;/a>
oder der &lt;a href="https://readcoop.eu/transkribus/download/" target="_blank" rel="noopener">Transkribus Expert Client&lt;/a>.
Diese benötigen beide Java als Laufzeitumgebung und stellen ihre GUI mit nativen Betriebssystemkomponenten dar.
Docker Container haben keine nativen GUI Komponenten, weshalb diese Programme in einem Docker Container nicht genutzt werden können &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>.&lt;/p>
&lt;h2 id="unser-fazit">Unser Fazit&lt;/h2>
&lt;p>Wir verwenden Docker um schnell und unkompliziert unterschiedlichste Anwendungen evaluieren zu können.
Inzwischen kommen Docker Container bei uns auch praktisch zum Einsatz.
Zum Beispiel um gemeinsame Projekte reproduzierbar bearbeiten zu können.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Die Standardisierung von Seefracht-Containern zu &lt;a href="https://de.wikipedia.org/wiki/ISO-Container" target="_blank" rel="noopener">ISO-Containern&lt;/a> optimierte die Transportkette im Güterverkehr.
Daher werden standardisierte virtuelle Container häufig mit Fracht-Containern verglichen.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Es gibt Bibliotheken, die die nativen GUI Komponenten für Webbrowser darstellen können.
Ein Beispiel hierfür ist &lt;a href="https://developer.gnome.org/gtk3/stable/gtk-broadway.html" target="_blank" rel="noopener">GTK Broadway&lt;/a>.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item></channel></rss>