<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Erfahrungen | FDMLab@LABW</title><link>https://fdmlab.landesarchiv-bw.de/tag/erfahrungen/</link><atom:link href="https://fdmlab.landesarchiv-bw.de/tag/erfahrungen/index.xml" rel="self" type="application/rss+xml"/><description>Erfahrungen</description><generator>Wowchemy (https://wowchemy.com)</generator><language>de-de</language><lastBuildDate>Thu, 10 Oct 2024 15:00:00 +0000</lastBuildDate><image><url>https://fdmlab.landesarchiv-bw.de/media/sharing.jpg</url><title>Erfahrungen</title><link>https://fdmlab.landesarchiv-bw.de/tag/erfahrungen/</link></image><item><title>Deutscher Archivtag 2024</title><link>https://fdmlab.landesarchiv-bw.de/event/2024-ki-dat/</link><pubDate>Thu, 10 Oct 2024 15:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2024-ki-dat/</guid><description/></item><item><title>Schleswig-Holsteinischer Archivtag 2024</title><link>https://fdmlab.landesarchiv-bw.de/event/2024-ki-labw/</link><pubDate>Wed, 24 Apr 2024 10:50:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2024-ki-labw/</guid><description/></item><item><title>Abschluss des FDMLab@LABW</title><link>https://fdmlab.landesarchiv-bw.de/post/2023-07-abschluss-des-fdmlab/</link><pubDate>Mon, 31 Jul 2023 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2023-07-abschluss-des-fdmlab/</guid><description>&lt;p>Nach drei Jahren endet das Projekt FDMLab@LABW.
Wir nutzen die Gelegenheit, um hier im Blog noch einmal einen Überblick über unsere Ergebnisse und Projekte zu geben.&lt;/p>
&lt;div class="alert alert-">
&lt;div>
Einen ausführlichen &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/">Rückblick über die Arbeit in den ersten beiden Jahren des FDMlab&lt;/a> haben wir schon letztes Jahr geschrieben.
&lt;/div>
&lt;/div>
&lt;p>In der &amp;ldquo;Phase II&amp;rdquo; unserer Förderzeit haben wir uns mehr auf praktische Aufgaben konzentriert.&lt;/p>
&lt;h2 id="ki-im-archiv">KI im Archiv&lt;/h2>
&lt;p>Das FDMLab wurde dazu eingeladen an den EDV-Tagen 2022 einen &lt;a href="https://fdmlab.landesarchiv-bw.de/event/2022-ki-fuer-erschliessung/">Vortrag zum Thema KI im Archiv&lt;/a> zu halten.
Das Thema beschäftigte uns auch mit dem Aufkommen eines allgemeinen Zugangs zu Large Language Modellen via ChatGPT bei einer Gastvorlesung bei der &lt;a href="https://ufind.univie.ac.at/de/course.html?lv=070185&amp;amp;semester=2022W" target="_blank" rel="noopener">VU Digitalisierung an der Universität Wien im Wintersemester 2022/2023&lt;/a>.&lt;/p>
&lt;p>Gerade das Thema Künstliche Intelligenz ist ein Bereich, für den es scheinbar schon viele fertige Lösungen gibt.
In der Domäne von archivischem Material liefern diese fertigen Lösungen häufig noch nicht die benötigte Qualität.
Umso wichtiger ist ein regelmäßiger Austausch zu funktionierenden und nicht funktionierenden Ansätzen.
Bei unserem Vortrag an den EDV-Tagen konnten wir nicht nur über unsere Erfahrungen berichten, sondern darauf aufbauend Feedback, Ideen und weitere Datenservices anderer Projekte kennen lernen.&lt;/p>
&lt;h2 id="openrefine">OpenRefine&lt;/h2>
&lt;p>Die OpenRefine Workshops wurden mit weiteren Anleitungen versehen.
Zum Beispiel, wie man &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/16-erweiterter-abgleich-mit-wikidata/">komplexe Datenabgleiche mit Wikidata&lt;/a> und den &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/17-erweiterter-abgleich-mit-getty/">Getty Thesauri&lt;/a> durchführen kann.
Außerdem wurden weitere Tricks zum &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/12-daten-zwischen-projekten-abgleichen/">Abgleich von Daten zwischen Projekten&lt;/a> ergänzt.&lt;/p>
&lt;p>Neben der Begleitung von Workshops, führte das FDMLab zusammen mit &lt;a href="https://fdmlab.landesarchiv-bw.de/author/verena-mack/">Verena Mack&lt;/a> von der &lt;a href="https://www.leo-bw.de/web/guest/gnd-agentur" target="_blank" rel="noopener">GND-Agentur LEO-BW-Regional&lt;/a> einen &lt;a href="https://fdmlab.landesarchiv-bw.de/event/2023-normdatenworkshop/">Normdatenworkshop beim 82. Südwestdeutscher Archivtag&lt;/a> durch.&lt;/p>
&lt;div class="alert alert-">
&lt;div>
Die Inhalte der OpenRefine Workshops bleiben vorerst mit dem FDMLab Blog online verfügbar.
Es gibt jedoch Überlegungen die Workshop Inhalte vom Blog zu entkoppeln und in einem anderen Format anzubieten.
&lt;/div>
&lt;/div>
&lt;h2 id="dokument--layout--und-texterkennung">Dokument-, Layout- und Texterkennung&lt;/h2>
&lt;p>Mit unseren eher &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-09-training-strukturmodell-tabellen-mit-p2pala/">durchwachsenen Erfahrungen bei der Layouterkennung von tabellarischen Inhalten in Transkribus&lt;/a>, beschäftigten wir uns mit Technologien, die für uns für die Formular- und Tabellenerkennung besser geeignet sein könnten.
Außerdem beschäftigte uns nach wie vor die Erkennung von Texten, die aus unterschiedlichen Handschriften bestehen.&lt;/p>
&lt;p>Dabei betrachteten wir unter anderem &lt;a href="https://github.com/facebookresearch/detectron2/" target="_blank" rel="noopener">Detectron2&lt;/a> und die Transformer basierte Texterkennung (TrOCR bzw. TrHTR).
Da diese Technologien noch 2023 in Transkribus selbst verfügbar sein werden, verzichteten wir auf umfangreichere Experimente.&lt;/p>
&lt;p>Unsere Erkenntnisse konnten wir weiterhin bei der Unterstützung und der nun vertieften Zusammenarbeit im Projekt &lt;a href="https://www.landesarchiv-bw.de/de/landesarchiv/projekte/transformation-der-wiedergutmachung/71002" target="_blank" rel="noopener">Transformation der Wiedergutmachung&lt;/a> anwenden.&lt;/p>
&lt;h2 id="provenienzforschung">Provenienzforschung&lt;/h2>
&lt;p>In der Phase II kooperierte das FDMLab intensiv mit &lt;a href="https://fdmlab.landesarchiv-bw.de/author/katharina-hardt/">Katharina Hardt&lt;/a> bei der Bearbeitung des Projektes &lt;a href="https://www.landesarchiv-bw.de/de/landesarchiv/projekte/provenienzforschung-im-landesarchiv/projektueberblick-/61576" target="_blank" rel="noopener">Provenienzforschung im Landesarchiv&lt;/a>.&lt;/p>
&lt;p>Konkret ging es um eine Aufarbeitung von Metadaten mit Methoden des maschinellen Lernens.&lt;/p>
&lt;h3 id="extraktion-von-schlagwörten-zu-kunst--und-kulturobjekten">Extraktion von Schlagwörten zu Kunst- und Kulturobjekten&lt;/h3>
&lt;p>Es sollten automatisiert aus relevanten Akten spezifische Schlagwörter extrahiert werden.
Dabei konnten wir zeigen, dass wir mit einem selbst trainierten Modell zum Named-entity Recognition mit überschaubarem Mehraufwand deutlich bessere Ergebnisse erzielen konnten, als mit lexikon- oder regelbasierten Ansätzen. Details zum Vorgehen und dem Diagramm in Abbildung 1 finden sich unter &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>.&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/2023-07-abschluss-des-fdmlab/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_670776311626ecdef0eb7da8ead0b65c.webp 400w,
/post/2023-07-abschluss-des-fdmlab/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_015a3bc5bbc9919d78426f9f78d34840.webp 760w,
/post/2023-07-abschluss-des-fdmlab/metrics_hu25f59ad08821a07f7e62d84347c9b3d7_25695_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-07-abschluss-des-fdmlab/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;h3 id="massenabgleich-mit-gnd">Massenabgleich mit GND&lt;/h3>
&lt;p>Die extrahierten Schlagwörter wurden anschließend mit den Daten der Gemeinsamen Normdatei (GND) angereichert.
Fehlende Begriffe wurden in Kooperation mit der &lt;a href="https://www.leo-bw.de/web/guest/gnd-agentur" target="_blank" rel="noopener">GND-Agentur LEO-BW-Regional&lt;/a> in der GND angelegt.&lt;/p>
&lt;div class="mermaid">---
title: Workflow GND
config:
look: handDrawn
theme: neutral
---
flowchart LR
filtern["Filtern"]
ner["NER"]
normalisieren["Normalisieren"]
gnd_abgleich["GND Abgleich"]
gnd_netzwerk["Netzwerk erstellen"]
gnd_beantragen["Begriffe Beantragen"]
netzwerk_anpassen["Netzwerk anpassen"]
import["Importieren"]
filtern --> ner --> normalisieren --> gnd_abgleich --> gnd_netzwerk &amp; gnd_beantragen --> netzwerk_anpassen --> import
&lt;/div>
&lt;p>Neben dem Vorteil, dass Normdaten durch einheitliche Benennung und Identifizierung die Auffindbarkeit erhöhen, konnten wir die Netzwerkstruktur der GND verwenden, um die Schlagwörter durch weitere relevanten Schlagwörter anzureichern.
Details zum Vorgehen finden sich im Artikel &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2023-02-ner-und-gnd-zur-verbesserung-der-erschliessung/">Named-entity Recognition und Gemeinsame Normdatei zur Verbesserung der Erschließung&lt;/a>.&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;h3 id="schlagwörter-netzwerk">Schlagwörter Netzwerk&lt;/h3>
&lt;p>Die Anreicherung mit Oberbegriffen, funktionierte nicht in allen Schlagwortbereichen wie erwartet.
Darüber haben wir ausführlich unter &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2023-03-gnd-hierarchie-zur-verbesserung-der-erschliessung/">GND Hierarchieinformationen zur Verbesserung der Erschließung&lt;/a> berichtet.
Bei einer erweiterten Analyse der Netzwerkstrukturen der Schlagwörter in der GND konnten wir nicht nur zeigen, dass es sehr viele unverknüpfte Schlagwörter gibt. Wie in Abbildung 2 zu sehen, gibt es viele Strukturen, die nur aus einem Oberbegriff und sehr vielen direkten Unterbegriffen bestehen.&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-07-abschluss-des-fdmlab/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_f3f65ead298de022d683cbda529f81c3.webp 400w,
/post/2023-07-abschluss-des-fdmlab/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_7d4d0a7e2424787f62b2d02185cce7b4.webp 760w,
/post/2023-07-abschluss-des-fdmlab/gnd-hierarchy-analyze-boxplot-degree_hu87aeaab33c49bee17e43933941fdaea1_99270_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-07-abschluss-des-fdmlab/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>Mit Methoden der Netzwerkanalyse und manuellen Verknüpfungen erarbeiteten wir das in Abbildung 3 annotierte Netzwerk von verknüpften Schlagwörten für relevante Akten für die Provenienzforschung in den Archivabteilungen des Landesarchivs Baden-Württemberg.&lt;/p>
&lt;figure id="figure-annotierte-visualisierung-des-schlagwortnetzwerkes-von-prov-relevanten-akten">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Annotierte Visualisierung des Schlagwortnetzwerkes von Prov. relevanten Akten." srcset="
/post/2023-07-abschluss-des-fdmlab/netzwerk-nach-restrukturierung_hu21ac6ff23c36a1c7eb015ad7158805e9_574541_37eade792fef720490e5a67bad2f4603.webp 400w,
/post/2023-07-abschluss-des-fdmlab/netzwerk-nach-restrukturierung_hu21ac6ff23c36a1c7eb015ad7158805e9_574541_07db364cd2f153c52910d2524e938d90.webp 760w,
/post/2023-07-abschluss-des-fdmlab/netzwerk-nach-restrukturierung_hu21ac6ff23c36a1c7eb015ad7158805e9_574541_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-07-abschluss-des-fdmlab/netzwerk-nach-restrukturierung_hu21ac6ff23c36a1c7eb015ad7158805e9_574541_37eade792fef720490e5a67bad2f4603.webp"
width="683"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Annotierte Visualisierung des Schlagwortnetzwerkes von Prov. relevanten Akten.
&lt;/figcaption>&lt;/figure>
&lt;h3 id="ner-für-metadaten-im-archiv">NER für Metadaten im Archiv&lt;/h3>
&lt;p>Neben der Erkennung von spezifischen Objekten experimentierten wir auch mit der Möglichkeit ein allgemeineres Modell für NER zu trainieren.&lt;/p>
&lt;p>Hier ein mit einem Standard NER Modell verarbeiteter Beispieltext über das Landesarchiv Baden-Württemberg, welcher von der englischsprachigen Wikipedia angepasst wurde. &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="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:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;hr>
&lt;p>Eine ähnliche Auswahl an Entitätenklassen und Qualität wäre natürlich auch für unsere Daten im Archiv wünschenswert.
Daher haben wir zusätzliche Experimente mit dem Training eines spezifischen NER Modells mit den folgenden Klassen durchgeführt:&lt;/p>
&lt;ul>
&lt;li>PER: Person - Personen und fiktive Personen wie z.B. Künstlernamen&lt;/li>
&lt;li>ORG: Organization - Firmen, Behörden, Institutionen, Vereine, &amp;hellip;&lt;/li>
&lt;li>FAC: Facility - Gebäude, Flughäfen, Straßen, Brücken, &amp;hellip;&lt;/li>
&lt;li>GPE: Geopolitical Entities - Länder, Bundesländer, Landkreise, Städte&lt;/li>
&lt;li>LOC: Location - Non-GPE Locations - Berge, Landschaftsgebiete, Flüsse, Seen, &amp;hellip;&lt;/li>
&lt;li>EVENT: Benannte Events - Weltmeisterschaften, Zweiter Weltkrieg, &amp;hellip;&lt;/li>
&lt;/ul>
&lt;p>Mit dem auf Transformern basierten Modell von &lt;a href="https://spacy.io/" target="_blank" rel="noopener">spaCy&lt;/a> konnten wir auf unseren Testdaten die in der folgenden Tabelle gelisteten Werte erzielen:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Label&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-Score&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>GPE&lt;/td>
&lt;td style="text-align:right">96,10&lt;/td>
&lt;td style="text-align:right">97,14&lt;/td>
&lt;td style="text-align:right">96,62&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>PER&lt;/td>
&lt;td style="text-align:right">96,45&lt;/td>
&lt;td style="text-align:right">96,62&lt;/td>
&lt;td style="text-align:right">96,54&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>FAC&lt;/td>
&lt;td style="text-align:right">95,11&lt;/td>
&lt;td style="text-align:right">94,40&lt;/td>
&lt;td style="text-align:right">94,76&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>ORG&lt;/td>
&lt;td style="text-align:right">91,72&lt;/td>
&lt;td style="text-align:right">89,78&lt;/td>
&lt;td style="text-align:right">90,74&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>LOC&lt;/td>
&lt;td style="text-align:right">90,48&lt;/td>
&lt;td style="text-align:right">89,76&lt;/td>
&lt;td style="text-align:right">90,12&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>EVENT&lt;/td>
&lt;td style="text-align:right">94,41&lt;/td>
&lt;td style="text-align:right">90,00&lt;/td>
&lt;td style="text-align:right">92,15&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Das Modell hat für die Klassen EVENT, FAC und LOC jedoch zu wenig Beispiele in den Trainings- und Testdaten, um verlässliche Aussagen zu treffen.
Auch sind die Metadaten für die für die Provenienzforschung relevanten Akten sehr spezifisch, so dass das Modell für die Anwendbarkeit auf anderen Beständen ein Nachtraining erfordert.&lt;/p>
&lt;p>Im Vergleich zum Training des spezifischen NER Modells für die Erkennung von Kunst- und Kulturobjekten war das Training deutlich aufwendiger. Wir gehen jedoch davon aus, die Trainingsdaten in anderen Projekten ergänzen zu können und so Schritt für Schritt zu einem generischen Modell für unsere Daten zu kommen.&lt;/p>
&lt;div class="alert alert-">
&lt;div>
Da etwas mehr als die Hälfte der für die Provenienzforschung relevanten Akten noch einer Sperrfrist unterliegen, können wir weder die Trainings- bzw. Testdaten noch das Modell veröffentlichen.
&lt;/div>
&lt;/div>
&lt;h3 id="spancat-für-personendaten">SpanCat für Personendaten&lt;/h3>
&lt;p>Ein komplexerer Fall stellt die Erkennung von semi-strukturierten Pesonendaten in den Akten und Metadaten unserer Aktenbestände dar. Hier hatten wir Probleme mit klassischen NER Ansätzen, da wir teilweise sehr lange Entitäten haben, die sich auch überlappen können.&lt;/p>
&lt;p>Hier experimentierten wir mit &lt;a href="https://explosion.ai/blog/spancat" target="_blank" rel="noopener">SpanCat&lt;/a> und konnten initial recht gute Ergebnisse erzielen.&lt;/p>
&lt;figure id="figure-erkennung-von-strukturierten-personendaten-mit-spancat">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Erkennung von strukturierten Personendaten mit SpanCat." srcset="
/post/2023-07-abschluss-des-fdmlab/labw-span-per-example_hu38b48133166d875a38630c05e607b05a_12036_ecb2520151642ac7f9bdac2e6e1302c3.webp 400w,
/post/2023-07-abschluss-des-fdmlab/labw-span-per-example_hu38b48133166d875a38630c05e607b05a_12036_9fe6547ceae69780f5201cc5529be1ca.webp 760w,
/post/2023-07-abschluss-des-fdmlab/labw-span-per-example_hu38b48133166d875a38630c05e607b05a_12036_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2023-07-abschluss-des-fdmlab/labw-span-per-example_hu38b48133166d875a38630c05e607b05a_12036_ecb2520151642ac7f9bdac2e6e1302c3.webp"
width="759"
height="71"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Erkennung von strukturierten Personendaten mit SpanCat.
&lt;/figcaption>&lt;/figure>
&lt;p>Es stellte sich jedoch heraus, dass wir im Vergleich zu unserem oben beschriebenen NER Modell deutlich mehr und diversere Trainingsdaten benötigen. Besonders das Trainieren von proportional unterrepräsentierten Features, wie zum Beispiel Berufsangaben, Titel und Aliasen, stellte sich als problematisch heraus.
Als Zwischenlösung trainierten wir für diese Features separate Modelle und fassten sie mit dem ursprünglichen SpanCat Modell in einer Pipeline zusammen. Dies stellte sich als komplizierter raus, als ursprünglich erwartet. &lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="mermaid">---
title: Pipeline für Personendaten
config:
look: handDrawn
theme: neutral
---
flowchart LR
text["Text"] ---> spancat1
custom_component --> entities["Entities"]
subgraph pipeline["Pipeline"]
direction LR
spancat1["SpanCat1"] --> spancat2["SpanCat2"]
spancat2 --> custom_component
subgraph custom_component["Custom Component"]
sc
end
end
subgraph pipeline_spancat1["Pipeline SpanCat1"]
subgraph component_spancat1["Spancat1"]
direction LR
spancat1_tok2vec["Tok2Vec"]
sc_spancat1
end
end
subgraph pipeline_spancat2["Pipeline SpanCat2"]
subgraph component_spancat2["Spancat2"]
direction LR
spancat2_tok2vec["Tok2Vec"]
sc_spancat2
end
end
sc_spancat1 -.merge-.-> sc
sc_spancat2 -.merge-.-> sc
component_spancat1 -.source-.-> spancat1
component_spancat2 -.source-.-> spancat2
&lt;/div>
&lt;p>Insgesamt ist der Ansatz jedoch sehr vielversprechend und wir hätten gerne mehr Zeit gehabt, ausführlicher über unsere Ansätze zu berichten und sie weiter zu vertiefen.&lt;/p>
&lt;p>Hierzu standen wir auch im fachlichen Austausch mit dem &lt;a href="https://www.leuphana.de/institute/ipk/provenance-lab.html" target="_blank" rel="noopener">Provenance Lab an der Leuphana&lt;/a>, die in &lt;a href="https://doi.org/10.1515/jbwg-2023-0005" target="_blank" rel="noopener">Hidden Value: Provenance as a Source for Economic and Social History&lt;/a> die Umsetzung einer ähnlichen Anwendung von SpanCat beschreiben.&lt;/p>
&lt;h2 id="weitere-datenprojekte">Weitere Datenprojekte&lt;/h2>
&lt;h3 id="reichskammergericht">Reichskammergericht&lt;/h3>
&lt;div class="mermaid">---
title: Workflow Reichskammergericht
config:
look: handDrawn
theme: neutral
---
flowchart LR
text[fas:fa-file-alt Text]
data[fas:fa-table Table]
gnd[fas:fa-database GND]
semantic[fas:fa-project-diagram Graph]
text --> data --> semantic
gnd --> semantic
&lt;/div>
&lt;p>Wir hatten schon in Phase I über die Retrodigitalisierung von analogen Findbüchern berichtet.
Unter anderem haben wir exemplarisch einen &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-07-findbuch-index-mit-openrefine-aufbereiten/">Findbuch Index mit OpenRefine aufbereitet&lt;/a>.&lt;/p>
&lt;p>Für Findbücher zu den Akten des Reichskammergerichts&lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup> haben wir nun die Personen- und Orts-Indizes ebenfalls in Tabellenform überführt und mit Normdaten der Gemeinsamen Normdatei abgeglichen.&lt;/p>
&lt;p>Neben weiteren Erfahrungen mit dem Massenabgleich von Daten über die OpenRefine Schnittstell der &lt;a href="https://lobid.org/gnd/reconcile/" target="_blank" rel="noopener">lobid-gnd&lt;/a>, konnten wir dabei zusammen mit &lt;a href="https://fdmlab.landesarchiv-bw.de/author/verena-mack/">Verena Mack&lt;/a> von der &lt;a href="https://www.leo-bw.de/web/guest/gnd-agentur" target="_blank" rel="noopener">GND-Agentur LEO-BW-Regional&lt;/a> einige Dubletten identifizieren und fehlende Einträge ergänzen.&lt;/p>
&lt;h3 id="digitalisierung-von-heimlisten">Digitalisierung von Heimlisten&lt;/h3>
&lt;p>Für das Projekt &lt;a href="https://www.landesarchiv-bw.de/de/landesarchiv/projekte/aufarbeitung-von-heimerziehung-und-zwangsunterbringungen/projektueberblick/61032" target="_blank" rel="noopener">Aufarbeitung von Heimerziehung und Zwangsunterbringungen&lt;/a> wurden ursprünglich analog vorliegende Adresslisten von Heimen digitalisiert, tabellarisch aufbereitet und die Ortsangaben mit Normdaten, sowie Geokoordinaten versehen.&lt;/p>
&lt;h3 id="abgleich-von-findbüchern-mit-dateistrukturen">Abgleich von Findbüchern mit Dateistrukturen&lt;/h3>
&lt;p>Im AV Archiv im Hauptstaatsarchiv Stuttgart werden digitale Medien erfasst und archiviert.
Das FDMLab unterstützte das AV Archiv bei einer Analyse der vorliegenden Dateistruktur und einem Abgleich mit den zugehörigen Findmitteln.&lt;/p>
&lt;h3 id="verlinkung-der-tomi-actorum">Verlinkung der Tomi Actorum&lt;/h3>
&lt;p>Bei der &lt;a href="https://www.landesarchiv-bw.de/de/aktuelles/nachrichten/74877" target="_blank" rel="noopener">Digitalisierung der Verhandlungsprotokolle der württembergischen Landstände&lt;/a> wurden im Hauptstaatsarchiv Stuttgart Protokolle digitalisiert und die Sachregister zusätzlich transkribiert.
Es konnte in dem &lt;a href="http://www.landesarchiv-bw.de/plink/?f=1-2861" target="_blank" rel="noopener">Online Findmittelsystem&lt;/a> jedoch keine direkte Verbindung zwischen einem Eintrag im Sachregister zu dem zugehörigen Digitalisat des Protokolleintrags genutzt werden.
Das FDMLab unterstützte das Projekt, indem etwa 50.000 Verlinkungen von Sachregistereinträgen zu den zurgehörigen Protokolleinträgen mit der Unterstützung von Methoden der Mustererkennung automatisch vorgenommen wurde.&lt;/p>
&lt;h3 id="veröffentlichung-von-forschungsdaten">Veröffentlichung von Forschungsdaten&lt;/h3>
&lt;p>Das FDMLab unterstützte das Staatsarchiv Wertheim bei der Veröffentlichung einer &lt;a href="https://www.landesarchiv-bw.de/de/aktuelles/nachrichten/75633" target="_blank" rel="noopener">Forschungsdatenbank auf Radar4Culture&lt;/a>. Dazu gehörte die Auswahl eines geeigneten Forschungsdatenrepositoriums, die Konvertierung in ein geeignetes Veröffentlichungsformat, sowie Hinweise zur Datenbeschreibung, Lizenzierung und Anreicherung mit Normdaten.&lt;/p>
&lt;h2 id="schluss-">Schluss ⛔&lt;/h2>
&lt;p>In den drei Jahren FDMLab@LABW konnten wir viele Projekte bei der Umsetzung von Digitalisierungsaufgaben unterstützen.
Dabei versuchten wir neue Wege zu gehen und dabei nachvollziehbare Beschreibungen unserer Wanderungen zu hinterlassen.&lt;/p>
&lt;p>Ohne die fachliche Zusammenarbeit mit Kolleginnen und Kollegen hätte das FDMLab nicht funktionieren können.
Vielen Dank an alle, die sich mit Fragen, Beiträgen und fachlicher Unterstützung an den Projekten des FDMLabs beteiligt haben.&lt;/p>
&lt;p>Finanziert wurde das FDMLab@LABW aus Mitteln der Zukunftsoffensive III durch das Ministerium für Wissenschaft, Forschung und Kunst Baden-Württemberg.&lt;/p>
&lt;p>Nach drei Jahren endet die Förderung und wir schließen das FDMLab@LABW.&lt;/p>
&lt;p>Die Inhalte des FDMLab Blogs werden wir vorläufig in einer statischen Form weiter vorhalten.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&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:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&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:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>Siehe auch &lt;a href="https://github.com/explosion/spaCy/discussions/12462" target="_blank" rel="noopener">https://github.com/explosion/spaCy/discussions/12462&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>Akten des Reichskammergerichts im Hauptstaatsarchiv Stuttgart: Inventar des Bestands C. Bearb. von A. Brunotte, R.J. Weber, Veröffentlichungen der Staatlichen Archivverwaltung Baden-Württemberg, Band 46 Nr.1-8, Stuttgart 1993-2008. Außerdem: Akten des Reichskammergerichts im Staatsarchiv Sigmaringen: Inventar des Bestands R 7. Bearb. von R.J. Weber, Veröffentlichungen der Staatlichen Archivverwaltung Baden-Württemberg; Band 57, Stuttgart 2004.&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>EDV-Tage 2022</title><link>https://fdmlab.landesarchiv-bw.de/event/2022-ki-fuer-erschliessung/</link><pubDate>Thu, 29 Sep 2022 13:45:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2022-ki-fuer-erschliessung/</guid><description>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/fS3-4b58crY" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div></description></item><item><title>Ein Rückblick auf zwei Jahre FDMLab</title><link>https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/</link><pubDate>Tue, 26 Jul 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/</guid><description>&lt;p>Nach zwei Jahren steht das FDMLab@LABW kurz vor dem Ende der ersten Projektlaufzeit. Dies nehmen wir zum Anlass, zurückzublicken und eine Zwischenbilanz zu ziehen: Was waren unsere wichtigsten Projekte? Was haben wir erreicht und was war schwierig? Was würden wir in Zukunft gerne tun?&lt;/p>
&lt;h2 id="formung-des-projektteams-und-einarbeitung">Formung des Projektteams und Einarbeitung&lt;/h2>
&lt;p>Das FDMLab hat den Auftrag, am &lt;a href="https://www.landesarchiv-bw.de/" target="_blank" rel="noopener">Landesarchiv Baden-Württemberg&lt;/a> eine Basisinfrastruktur im Bereich &lt;a href="https://mwk.baden-wuerttemberg.de/de/forschung/forschungslandschaft/e-science/" target="_blank" rel="noopener">E-Science&lt;/a> und &lt;a href="https://www.forschungsdaten.info/" target="_blank" rel="noopener">Forschungsdatenmanagement (FDM)&lt;/a> aufzubauen, welche einen Beitrag zur &lt;a href="https://www.nfdi.de/" target="_blank" rel="noopener">NFDI&lt;/a> leistet. Das zentrale Ziel ist dabei stets, die Auffindbarkeit, Zugänglichkeit und Nutzbarkeit unseres Archivguts zu erhöhen und die Nutzungsmöglichkeiten an einer zunehmend digitalen Forschungspraxis auszurichten. Dazu haben wir bereits vorhandene Konzepte und Technologien aus dem Data Science und KI-Bereich für den Einsatz im Landesarchiv evaluiert, einige geeignete Instrumente (ggf. mit Anpassungen) testweise implementiert und uns aktiv in die GLAM-Labs-Community eingebracht, um die Bedarfe der Archive zu kommunizieren und Impulse für die Weiterentwicklung relevanter Werkzeuge zu liefern.&lt;/p>
&lt;p>Um diese Aufgaben anzugehen, braucht es einerseits das Verständnis archivischer Quellen und der Arbeitsprozesse rund um die Erschließung, Digitalisierung und Bereitstellung im Archiv. Andererseits sind umfangreiche Kenntnisse in den Bereichen Data Science und Maschinelles Lernen wichtig. Das Kernteam unseres Projekts besteht aus einer &lt;a href="https://fdmlab.landesarchiv-bw.de/author/elisabeth-klindworth/">Archivarin&lt;/a> und einem &lt;a href="https://fdmlab.landesarchiv-bw.de/author/benjamin-rosemann/">Data Scientist&lt;/a>. Diese Kombination von Expertisen ist für das FDMLab ein wichtiger Erfolgsfaktor. Besonders die Anfangszeit des Projekts war geprägt von einem Kommunikationsprozess, in dessen Verlauf das Projektteam zu einer gemeinsamen Sprache fand und viel aus der Denkweise der Teammitglieder lernte. Hierbei gab es auch immer wieder wertvollen Input von zahlreichen Kolleginnen und Kollegen aus ganz unterschiedlichen Abteilungen des Landesarchivs.&lt;/p>
&lt;p>Das FDMLab war von vornherein als experimentelles Forschungsprojekt geplant. Daher entschieden wir uns für ein iteratives Vorgehen. Anstatt einen starren Projektplan zu entwerfen, bearbeiteten wir verschiedene inhaltlich stark verzahnte Themenfelder parallel. Dies hatte den Vorteil, dass wir auf Erfolge und Rückschläge bei Experimenten flexibel reagieren konnten. Auch konnte das FDMLab immer wieder kurzfristig Hilfe leisten, wenn andere Projekte oder Abteilungen des Landesarchivs eine Frage zur Datenaufbereitung stellten. Dadurch konnten wir unsere Arbeitsweise und unseren Fokus auf die direkten Bedürfnisse unserer Kolleginnen und Kollegen anpassen.&lt;/p>
&lt;h2 id="volltextgenerierung">Volltextgenerierung&lt;/h2>
&lt;p>Die Volltexterkennung bildete einen der thematischen Schwerpunkte der vergangenen Projektlaufzeit. Das FDMLab hat verschiedene OCR- und HTR-Werkzeuge für die Erkennung von Text in digitalisiertem Archivgut getestet.&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>
Als Testmaterial dienten hierbei die digitalisierten Kriegs- und Friedensstammrollen aus dem Hauptstaatsarchiv Stuttgart (&lt;a href="https://www2.landesarchiv-bw.de/ofs21/olb/struktur.php?archiv=1&amp;amp;klassi=1.12.002.002&amp;amp;anzeigeKlassi=1.12.002.002&amp;amp;zeigehauptframe=1" target="_blank" rel="noopener">Bestände LABW HStA M 430/1 – M 631&lt;/a>) und dem Generallandesarchiv Karlsruhe (&lt;a href="http://www.landesarchiv-bw.de/plink/?f=4-7883" target="_blank" rel="noopener">Beständegruppe XIV. (Badisches) Armeekorps&lt;/a>) und die ebenfalls digitalisierten Kriegsgräberlisten aus der Abteilung Staatsarchiv Ludwigsburg (&lt;a href="http://www.landesarchiv-bw.de/plink/?f=2-2362044&amp;amp;a=fb" target="_blank" rel="noopener">Bestand LABW StAL EL 20/1 VI&lt;/a>). Diese Bestände weisen einige Merkmale auf, die für einen größeren Teil des jüngeren Archivguts im Landesarchiv Baden-Württemberg charakteristisch sind: ein komplexes tabellarisches Layout, sowie eine Mischung aus Handschrift, Druckschrift und Schreibmaschinenschrift, wie in Abbildung 1 gezeigt.&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;figure id="figure-beispiel-für-mischung-aus-druck--und-maschinenschrift-2fn2">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Beispiel für Mischung aus Druck- und Maschinenschrift [[2](#fn:2)]." srcset="
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/personalblatt_hua229dce7e6a679abb9314318f4089406_985121_e3e584e5cc042ae1080b49dea033a767.webp 400w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/personalblatt_hua229dce7e6a679abb9314318f4089406_985121_7b60937e75f0c40f0acd0939fd36d46c.webp 760w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/personalblatt_hua229dce7e6a679abb9314318f4089406_985121_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/personalblatt_hua229dce7e6a679abb9314318f4089406_985121_e3e584e5cc042ae1080b49dea033a767.webp"
width="507"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Beispiel für Mischung aus Druck- und Maschinenschrift [&lt;a href="#fn:2">2&lt;/a>].
&lt;/figcaption>&lt;/figure>
&lt;p>Anhand dieser Testbestände konnten wir wertvolle Erfahrungen mit dem Aufbau geeigneter Workflows für die Volltexterkennung sammeln. Für gedruckte Archivalien des Landesarchivs eignen sich vor allem die Werkzeuge von &lt;a href="https://ocr-d.de/" target="_blank" rel="noopener">OCR-D&lt;/a> und &lt;a href="http://www.ocr4all.org/" target="_blank" rel="noopener">OCR4All&lt;/a>.&lt;/p>
&lt;div class="mermaid">---
title: OCR Tools
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph ocr[fas:fa-font OCR-Tools]
OCRopus --> Kraken --> Calamari
OCRopus --> Calamari
OCRopus -.-> Tesseract
Qurator
end
subgraph gui[far:fa-window-maximize GUI-Tools]
Calamari --> OCR4All
Kraken --> eScriptorium
Tesseract --> tesseractXplore
end
subgraph cli[fas:fa-terminal CLI-Tools]
ocr-d
Calamari &amp; Qurator --> origami
end
ocr --> ocr-d
&lt;/div>
&lt;p>Bei handschriftlichem Archivgut hat sich die Software &lt;a href="https://transkribus.eu" target="_blank" rel="noopener">Transkribus&lt;/a> bewährt. Eine “One fits all”-Lösung für alle Bestände des Landesarchivs kann es dabei nicht geben, was wir bereits zu Projektbeginn auch vermutet hatten. Unser Archivgut aus verschiedenen Jahrhunderten ist sowohl im Schriftbild als auch im Layout sehr heterogen. Daher müssen für unterschiedliche Bestände jeweils eigene Workflows aufgebaut und die Parameter der Erkennungssoftware darauf angepasst werden.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-oberfläche-von-transkribus">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Oberfläche von Transkribus." srcset="
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-transkribus-stammrolle_hue3f8d6066532e7486957a122047e26a2_1486919_395ae6c679f7503278a5f8035ee41520.webp 400w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-transkribus-stammrolle_hue3f8d6066532e7486957a122047e26a2_1486919_11eb8a6699816af3216c4f08369480c0.webp 760w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-transkribus-stammrolle_hue3f8d6066532e7486957a122047e26a2_1486919_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-transkribus-stammrolle_hue3f8d6066532e7486957a122047e26a2_1486919_395ae6c679f7503278a5f8035ee41520.webp"
width="760"
height="408"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Oberfläche von Transkribus.
&lt;/figcaption>&lt;/figure>
&lt;p>Um komplexere Layouts wie das der militärischen Stammrollen zu verarbeiten, führt nach dem aktuellen Stand der Technik außerdem kein Weg daran vorbei, eigene &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-09-training-strukturmodell-tabellen-mit-p2pala/">Erkennungsmodelle zur Layouterkennung zu trainieren&lt;/a>. Transkribus besitzt zwar auch eine eingebaute Layouterkennung. Diese kann mit Tabellen und Formularen jedoch nicht ohne Weiteres umgehen. Um ein eigenes Modell zu trainieren, muss man zunächst umfangreiche Ground Truth-Daten manuell erstellen, die dem Algorithmus der Texterkennungssoftware als “Übungsbeispiele” dienen können. Hierfür sind erhebliche Personal- und Zeitressourcen notwendig. Auch nach Abschluss eines Modelltrainings fällt weiterhin eine intellektuelle Nachbearbeitung der automatisch generierten Volltexte an, soweit das Ergebnis noch nicht den Qualitätsansprüchen genügt.&lt;/p>
&lt;p>Die Bewertung von Ergebnissen einer Volltexterfassung von unserem Archivmaterial gestaltete sich zunächst aufwendiger als gedacht. Die Standardmetrik &lt;em>Character Error Rate&lt;/em> (CER) berücksichtigt auch das Layout, was in den meisten Fällen auch Sinn ergibt. Im Falle von tabellarischen Inhalten, kann jedoch schon eine Abweichung der Lesart (zeilenweise vs. spaltenweise) zu sehr schlechten Bewertungen bei eigentlich guten OCR-Ergebnissen führen. In der folgenden Tabelle ist ein Beispiel mit neun Zahlen, wo nur auf Grund der unterschiedlichen Lesart eine Fehlerrate von über 66 Prozent erzeugt wird.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>1&lt;/th>
&lt;th>2&lt;/th>
&lt;th>3&lt;/th>
&lt;th>-&lt;/th>
&lt;th>Lesart&lt;/th>
&lt;th>Reihenfolge&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>4&lt;/td>
&lt;td>5&lt;/td>
&lt;td>6&lt;/td>
&lt;td>-&lt;/td>
&lt;td>zeilenweise&lt;/td>
&lt;td>&lt;strong>1&lt;/strong> 2 3 4 &lt;strong>5&lt;/strong> 6 7 8 &lt;strong>9&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>7&lt;/td>
&lt;td>8&lt;/td>
&lt;td>9&lt;/td>
&lt;td>-&lt;/td>
&lt;td>spaltenweise&lt;/td>
&lt;td>&lt;strong>1&lt;/strong> 4 7 3 &lt;strong>5&lt;/strong> 8 3 6 &lt;strong>9&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Daher haben wir uns mit alternativen Metriken zur Bewertung von OCR-Ergebnissen beschäftigt und für uns die &lt;em>Flexible Character Accuracy&lt;/em> entdeckt.&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup> Diese ist zwar weitaus aufwendiger zu berechnen, lässt sich dafür aber von Abweichungen von der Lesart eines Formates nicht so stark beeinflussen.&lt;/p>
&lt;p>Als hilfreich beim Aufbau von speziellen Workflows zur OCR-Erkennung hat sich das Projekt &lt;a href="https://ocr-d.de/" target="_blank" rel="noopener">OCR-D&lt;/a> erwiesen, mit dem sich verschiedenste Open-Source-Anwendungen aus dem Texterkennungsbereich über eine einheitliche Schnittstelle bedienen lassen. So können zum Beispiel unterschiedliche Werkzeuge zur Layoutbestimmung und Zeichenerkennung miteinander kombiniert und mit eigenen Modulen, ergänzt werden.
Als Oberfläche zur Erstellung von so genannten Ground Truth Daten haben wir uns zu Beginn unseres Projektes für &lt;a href="http://www.ocr4all.org/" target="_blank" rel="noopener">OCR4All&lt;/a> entschieden, welches in &lt;a href="https://ocr-d.de/en/phase3" target="_blank" rel="noopener">Phase III&lt;/a> auch ein Teil des OCR-D Projektes wurde.&lt;/p>
&lt;div class="mermaid">---
title: OCR Prozess
config:
look: handDrawn
theme: neutral
---
flowchart LR
original[fas:fa-archive Original]
scan(fas:fa-camera Scannen)
subgraph manual[fas:fa-hand-paper semi-manuell]
preprocessing_m(fas:fa-file-image Vorverarbeitung)
layout_m(fas:fa-draw-polygon Layout-Seg.)
lines_m(fas:fa-align-justify Zeilen-Seg.)
transcription(fas:fa-pencil-alt Transkription)
end
subgraph engine[fas:fa-magic automatisch]
preprocessing[fas:fa-file-image Vorverarbeitung]
layout(fas:fa-draw-polygon Layout-Seg.)
lines(fas:fa-align-justify Zeilen-Seg.)
ocr(fas:fa-font OCR)
end
quality(fas:fa-search Qualitätskontrolle)
text[fas:fa-file-word Text]
original --> scan
scan --> preprocessing &amp; preprocessing_m
preprocessing_m --> layout_m --> lines_m --> transcription --> quality
preprocessing --> layout --> lines --> ocr --> quality
quality --> text
&lt;/div>
&lt;p>Neben der vollständigen Digitalisierung von analogem Material, sind wir manchmal auch an Teildigitalisierungen interessiert. Beispielsweise werden bei der Digitalisierung von Findmitteln oder Übergabelisten nicht alle analogen Inhalte in der digitalen Version benötigt. Für diesen Zweck haben wir mit dem Einsatz von Scanstiften experimentiert. Diese sind ähnlich groß wie Textmarker und können einzelne Wörter, Phrasen oder Zeilen scannen, OCR erfassen und z.B. direkt in das zugehörige Formularfeld einer Erfassungssoftware übertragen. Es benötigt etwas Eingewöhnung, bis man den richtigen Winkel und die richtige Geschwindigkeit zur Bedienung herausgefunden hat. Bei richtiger Bedienung funktionieren die Scanstifte für moderne Drucke ähnlich gut wie kommerzielle Software für die OCR-Erfassung (die unter der Haube teilweise auch eingesetzt wird). Es gibt jedoch keine direkte und für technische Laien verständliche Möglichkeit die Scanstifte für die Erfassung behördlicher Schreibmaschinenschrift, Handschriften oder historischer Drucke anzupassen.&lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Neben der Erfassung von Volltexten beschäftigten wir uns auch mit verschiedenen Möglichkeiten der Darstellung von Volltexten in Webanwendungen. Dafür setzten wir die Anzeige von Volltexten für den Bestand &lt;a href="https://www.landesarchiv-bw.de/plink/?f=4-8457" target="_blank" rel="noopener">Abschiedsrede von Anton Geiß, GLAK N Geiss Nr. 6&lt;/a> in einem Prototyp für verschiedene Möglichkeiten wie &lt;a href="https://github.com/kba/hocr-spec" target="_blank" rel="noopener">hOCR&lt;/a> und den &lt;a href="https://dfg-viewer.de/" target="_blank" rel="noopener">DFG-Viewer&lt;/a> um und testeten die Bedienung der verschiedenen Anzeigevarianten, wobei der Fokus auf der Benutzung und nicht der Qualität des Volltextes bzw. des Designs lag (siehe Abbildungen 3 und 4).&lt;/p>
&lt;p>
&lt;figure id="figure-bildschirmfoto-der-übersicht-unseres-prototypen-zur-darstellung-von-volltexten">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Übersicht unseres Prototypen zur Darstellung von Volltexten." srcset="
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-overview_hu2d8379ef29ba97a4b8f17a7a2b6240a5_369313_d0ffeb462e701f6addde35baed383828.webp 400w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-overview_hu2d8379ef29ba97a4b8f17a7a2b6240a5_369313_715923775f1228c48062e50bd2834612.webp 760w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-overview_hu2d8379ef29ba97a4b8f17a7a2b6240a5_369313_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-overview_hu2d8379ef29ba97a4b8f17a7a2b6240a5_369313_d0ffeb462e701f6addde35baed383828.webp"
width="760"
height="746"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Übersicht unseres Prototypen zur Darstellung von Volltexten.
&lt;/figcaption>&lt;/figure>
&lt;figure id="figure-bildschirmfoto-der-detailsansicht-unseres-prototypen-zur-darstellung-von-volltexten-mit-hocr">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Detailsansicht unseres Prototypen zur Darstellung von Volltexten mit hOCR." srcset="
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-detail_hu89be6a5423a2a5818a272c25c8f6b0ff_1392172_a3f29fbf26b6b74f21e4dbafc62f315a.webp 400w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-detail_hu89be6a5423a2a5818a272c25c8f6b0ff_1392172_940b32a65d6d365bb9238fb01cb1e26e.webp 760w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-detail_hu89be6a5423a2a5818a272c25c8f6b0ff_1392172_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-fulltext-viewer-detail_hu89be6a5423a2a5818a272c25c8f6b0ff_1392172_a3f29fbf26b6b74f21e4dbafc62f315a.webp"
width="760"
height="514"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Detailsansicht unseres Prototypen zur Darstellung von Volltexten mit hOCR.
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h2 id="datenanalyse-und--anreicherung">Datenanalyse und -anreicherung&lt;/h2>
&lt;p>Eine Aufgabe im Archiv ist die Retrodigitalisierung, also die zur Verfügungstellung analog vorliegender Daten in digitaler Form für die wissenschaftliche Nutzung. Dies ermöglicht in der Regel nicht nur einen einfacheren Zugang zu den Daten, sondern unterstützt zusätzlich auch die Bestandserhaltung. Neben der (Retro)Digitalisierung von Archivalien gehört hier auch die Digitalisierung der entsprechenden Metadaten, also der Findmittel dazu, aber auch die Umwandlung von schon digital vorliegenden Daten in strukturierte Formate oder semantisch beschriebene Datensätze.&lt;/p>
&lt;p>Eines unserer ersten Projekte im FDMLab war die Überführung des gedruckten Findbuches “Fürstlich Thurn und Taxissches Archiv Obermarchtal Grafschaft Friedberg-Scheer&amp;quot; in unser archivisches Fachinformationssystem (AFIS).&lt;sup id="fnref:5">&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref">5&lt;/a>&lt;/sup> Hierbei konnten wir schnell feststellen, dass vermeintlich durchstrukturierte Findbücher in vielen Punkten minimal vom vermeintlich einheitlichen Schema abweichen, sodass eine komplett automatische Einsortierung der einzelnen Textbestandteile in die entsprechenden Formularfelder nicht sinnvoll ist.&lt;/p>
&lt;div class="mermaid">---
title: Prozess Datenextraktion
config:
look: handDrawn
theme: neutral
---
flowchart LR
text[fas:fa-file-word Text]
corr(Korrekturen)
subgraph entries[fas:fa-address-card Einträge]
extraction(Extraktion)
line_breaks(Zeilenumbrüche)
structure(Strukturerkennung)
conversion(Mapping)
end
subgraph index[fas:fa-address-book Index]
extraction_i(Extraktion)
classification(Klassifizierung)
person[fas:fa-user Personen]
place[fas:fa-map-marker Orte]
extend(Anreicherung)
end
combine(Zusammenführen)
afis[(AFIS)]
db[(Externe DBs)]
text --> corr --> extraction &amp; extraction_i
extraction --> line_breaks --> structure --> conversion --> combine
extraction_i --> classification --> person &amp; place --> extend --> combine --Import--> afis
db --> extend
&lt;/div>
&lt;p>Bei unserem Folgeprojekt, der &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-07-findbuecher-mit-openrefine-in-datenbank-uebernehmen/">(Retro)Digitalisierung der Findbücher zu den Reichskammergerichtsakten&lt;/a>, haben wir daher OpenRefine eingesetzt. Das hat den Vorteil, dass wir einerseits automatisch strukturierte Daten in Massenbearbeitungen aus dem Text extrahieren können, andererseits die problematischen Abweichungen schnell identifizieren und separat behandeln können.&lt;sup id="fnref:6">&lt;a href="#fn:6" class="footnote-ref" role="doc-noteref">6&lt;/a>&lt;/sup>&lt;/p>
&lt;blockquote>
&lt;div class="entities" style="line-height: 2.5; direction: ltr">1 &lt;mark class="entity" style="background: #b3e2cd; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;"> 1 &lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">Nr&lt;/span> &lt;/mark> ( &lt;mark class="entity" style="background: #f4cae4; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;"> C 2145 &lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">Altsignatur&lt;/span> &lt;/mark> ) &lt;mark class="entity" style="background: #e6f5c9; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;"> 1597 – 1600 &lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">Laufzeit&lt;/span> &lt;/mark> &lt;br> Vorsignatur: &lt;mark class="entity" style="background: #cbd5e8; padding: 0.45em 0.6em; margin: 0 0.25em; line-height: 1; border-radius: 0.35em;"> R Rep. 9 Nr. 230 &lt;span style="font-size: 0.8em; font-weight: bold; line-height: 1; border-radius: 0.35em; vertical-align: middle; margin-left: 0.5rem">Vorsignatur&lt;/span> &lt;/mark> &lt;/div>
&lt;p>Strukturbeispiel (Abschnitt 1) für Findbuch zu Akten des Reichskammergerichts.&lt;/p>
&lt;/blockquote>
&lt;p>OpenRefine hat uns dabei so gefallen und wir haben so positiv davon berichtet, dass wir von mehreren Kolleginnen und Kollegen gebeten wurden dazu doch einen internen &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/warum-openrefine/">OpenRefine Einsteigerworkshop&lt;/a> anzubieten. Dieser wurde wiederum so positiv aufgenommen, dass wir den &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/warum-openrefine/">OpenRefine Einsteigerworkshop&lt;/a> inzwischen schon viermal durchgeführt haben und darauf aufbauend einen &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/warum-openrefine/">OpenRefine Fortgeschrittenenworkshop&lt;/a> erstellt und ebenfalls bereits zweimal durchgeführt haben. Die zugehörigen Materialien und Anleitungen haben wir zusätzlich für unseren Blog aufbereitet und dort &lt;a href="https://fdmlab.landesarchiv-bw.de/workshops/">zur Verfügung gestellt&lt;/a>.&lt;/p>
&lt;p>&lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/warum-openrefine/">
&lt;figure id="figure-link-zum-einsteiger-workshop-für-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://fdmlab.landesarchiv-bw.de/post/2022-04-openrefine-workshop-veroeffentlicht/einsteiger-workshop.png" alt="Folie zum Einsteiger Workshop zu OpenRefine" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Link zum Einsteiger Workshop für OpenRefine
&lt;/figcaption>&lt;/figure>
&lt;/a>&lt;/p>
&lt;p>Die Resonanz aus dem deutschsprachigen GLAM-Bereich (Galerien, Bibliotheken (Libraries), Archive und Museen) zu OpenRefine ist bisher recht positiv und uns erreichen aus dem deutschsprachigen Raum auch immer mal wieder Anfragen zu konkreten Problemen oder Projekten, bei denen wir im Rahmen unserer Möglichkeiten gerne weiterhelfen.&lt;/p>
&lt;p>&lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/warum-openrefine/">
&lt;figure id="figure-link-zum-fortgeschrittenen-workshop-für-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img src="https://fdmlab.landesarchiv-bw.de/post/2022-04-openrefine-workshop-veroeffentlicht/fortgeschrittenen-workshop.png" alt="Folie zum Fortgeschrittenen Workshop zu OpenRefine" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Link zum Fortgeschrittenen Workshop für OpenRefine
&lt;/figcaption>&lt;/figure>
&lt;/a>&lt;/p>
&lt;p>Ein weiteres Daten-Projekt, welches wir im FDMLab technisch begleiten durften, ist das &lt;a href="https://www.leo-bw.de/themenmodul/juedisches-leben-im-suedwesten/gurs" target="_blank" rel="noopener">Themenmodul Gurs&lt;/a> im &lt;a href="https://www.leo-bw.de/" target="_blank" rel="noopener">Landeskundlichen Informationssystem Baden-Württemberg (LEO-BW)&lt;/a>. Konkret wurde hier mit OpenRefine eine von mehreren Kolleginnen und Kollegen zusammengetragene Excel-Datei inhaltlich und strukturell vereinheitlicht und für die Veröffentlichung als Datenbank im XML-Format aufbereitet. Dazu gehörte auch die Einbindung von Bildern, die Anreicherung von Orten mit Normdaten und Geokoordinaten sowie die Recherche und Normdatenerstellung in Kooperation mit &lt;a href="https://fdmlab.landesarchiv-bw.de/author/verena-mack/">Verena Mack&lt;/a> von der &lt;a href="https://www.leo-bw.de/gnd-agentur" target="_blank" rel="noopener">GND-Agentur LEO-BW-Regional&lt;/a>.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-kartenansicht-des-themenmodul-gurshttpswwwleo-bwdethemenmoduljuedisches-leben-im-suedwestengurs-in-leo-bw">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Kartenansicht des [Themenmodul Gurs](https://www.leo-bw.de/themenmodul/juedisches-leben-im-suedwesten/gurs) in LEO-BW." srcset="
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-leo-bw-gurs-karte_hu1719a32351d11bd69bc5dc8ef81202ab_914267_995786493ec5f6e626b3833b07d4b4c3.webp 400w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-leo-bw-gurs-karte_hu1719a32351d11bd69bc5dc8ef81202ab_914267_75d018831b6c7b47cbeb7f6a315e243d.webp 760w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-leo-bw-gurs-karte_hu1719a32351d11bd69bc5dc8ef81202ab_914267_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/screenshot-leo-bw-gurs-karte_hu1719a32351d11bd69bc5dc8ef81202ab_914267_995786493ec5f6e626b3833b07d4b4c3.webp"
width="760"
height="483"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Kartenansicht des &lt;a href="https://www.leo-bw.de/themenmodul/juedisches-leben-im-suedwesten/gurs" target="_blank" rel="noopener">Themenmodul Gurs&lt;/a> in LEO-BW.
&lt;/figcaption>&lt;/figure>
&lt;p>Ähnlich wurde vom FDMLab das &lt;a href="https://www.leo-bw.de/web/guest/themen/landesgeschichte/der-erste-weltkrieg/winterberg-tunnel" target="_blank" rel="noopener">Projekt Winterberg-Tunnel auf LEO-BW&lt;/a> unterstützt.&lt;sup id="fnref:7">&lt;a href="#fn:7" class="footnote-ref" role="doc-noteref">7&lt;/a>&lt;/sup> Wobei hier der Fokus auf der Restrukturierung der Personendaten lag, damit diese auf LEO-BW als Datenbank angeboten werden können, sowie die Ergänzung und Erstellung von Normdaten für Orte wiederum in Kooperation mit &lt;a href="https://fdmlab.landesarchiv-bw.de/author/verena-mack/">Verena Mack&lt;/a>.&lt;/p>
&lt;p>Bei unserer Arbeit mit Normdaten zu Orten in Baden-Württemberg in der &lt;a href="https://www.dnb.de/DE/Professionell/Standardisierung/GND/gnd_node.html" target="_blank" rel="noopener">Gemeinsamen Normdatei (GND)&lt;/a> stolperten wir hin und wieder über Dubletten. Gemeinsam mit &lt;a href="https://fdmlab.landesarchiv-bw.de/author/verena-mack/">Verena Mack&lt;/a> führten wir ein Experiment mit SPARQL auf einem &lt;a href="https://jena.apache.org/" target="_blank" rel="noopener">Apache Jena Triple Store&lt;/a> durch, um solche Orte zu identifizieren und eine Bereinigung der Daten beauftragen zu können. Dabei konnten wir circa 600 eindeutige Dubletten bei 33.000 Ortsdatensätzen für Baden-Württemberg identifizieren. Details dazu unter unserem &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2022-06-doppelte-orte-in-gnd/">Bericht zum Experiment zur Identifikation von doppelten Orten in der GND&lt;/a>.&lt;/p>
&lt;p>Weitere Erfahrungen bei der Arbeit mit Normdaten konnten wir bei der Unterstützung der Aufbereitung des Bestandes &lt;a href="http://www.landesarchiv-bw.de/plink/?f=2-5684305" target="_blank" rel="noopener">StAL EL 68 IX Landesvermessungsamt Baden-Württemberg: Landesbefliegung Baden-Württemberg 1968 - Luftbilder und digitales Orthophoto&lt;/a> sammeln. Hier wurden 21.132 Datensätze mit 19.569 digitalisierten Luftbildern und 30.000 georeferenzierten Orthofotokacheln automatisiert mit insgesamt 195.988 teils neuen, normierten Ortsdeskriptoren verknüpft. Siehe dazu auch &lt;a href="https://landesarchiv-bw.de/de/aktuelles/nachrichten/72620" target="_blank" rel="noopener">Luftbilder aus der Sammlung des Landesvermessungsamts Baden-Württemberg online&lt;/a>.&lt;/p>
&lt;p>Auch die Überführung in neuere Datenformate gehört zu unseren Aufgaben im Archiv. Zum Beispiel liegen die Daten der &lt;a href="http://www.landesarchiv-bw.de/plink/?f=2-1915280" target="_blank" rel="noopener">Volkszählung 1961 (Bestand StAL EL 413/4)&lt;/a> seit 2005 in Form von Textdateien im Staatsarchiv Ludwigsburg. Dort wurden sie als alternative Repräsentation in CSV mit ergänzenden XML-Metadaten gespeichert. Zur besseren Zugänglichkeit wurden die Daten im FDMLab zusätzlich in eine SQLite-Datenbank überführt, wobei eine Verknüpfung der Daten in den CSV-Dateien mit den XML-Metadaten vorgenommen wurde. Dadurch erhoffen wir uns eine bessere Nutzbarkeit durch Forschende.&lt;/p>
&lt;p>Die Unterstützung bei der Aufbereitung von Metadaten für die Datenweitergabe an Portale, die Daten zu einem bestimmten Thema aggregieren, gehört ebenfalls zu den Routineaufgaben des FDMLab. Eine Anforderung solcher Portale ist häufig die Ergänzung von Geodaten, um die einzelnen Bestände auf einer Karte visualisieren zu können. Hierfür vervollständigen wir im FDMLab Bestände des Landesarchivs mit Ortsnormdaten und ergänzen die Metadaten für die Weitergabe mit für das Zielsystem passenden Geokoordinaten.&lt;/p>
&lt;p>Weitere Kooperationen bei der Datenverarbeitung gab es mit der &lt;a href="https://pro.deutsche-digitale-bibliothek.de/team/abteilung/fachstellen-40/abteilung/fachstelle-archiv-42" target="_blank" rel="noopener">Fachstelle Archiv des DDB-Teams&lt;/a> bei der Aufbereitung und der Automatisierung des Imports von Archivdaten in das &lt;a href="https://www.archivportal-d.de/" target="_blank" rel="noopener">Archivportal-D&lt;/a>.&lt;/p>
&lt;p>Neben Erfolgsgeschichten hatten wir auch Projekte, die wir von Beginn an abgelehnt, verworfen oder nach kurzer Evaluation abgebrochen haben. Hier ein Projekt, welches erst nach einer mehrtätigen Evaluationsphase verworfen wurde. Das Ziel des Projektes war es, über einen Dublettenabgleich zwischen zwei digital vorliegenden Findbüchern mit insgesamt etwa 64.000 verzeichneten Personenakten, Dubletten über im Titel genannte Personendaten automatisch zu identifizieren. Auf den ersten Blick schien das direkt umsetzbar. Es stellte sich jedoch heraus, dass die 30 unterschiedlichen Informationsbestandteile zu Personen- und Ortsdaten von Orten weltweit, in unterschiedlicher Tiefe und Reihenfolge erfasst waren. Der Dublettenabgleich konnte in der erforderlichen Qualität also nicht vollautomatisch durchgeführt werden. Eine Evaluation basierend auf Vor- und Nachnamen ergab, dass der Anteil an (möglichen) Dubletten höchstens bei 10 Prozent lag und damit weitaus geringer war als erwartet, jedoch zu groß um eine manuelle Prüfung durchzuführen. Im Nachhinein wäre es sinnvoller gewesen, die Prüfung auf mögliche Dubletten zuerst durchzuführen und sich dadurch die langwierige Arbeit mit den vielen Informationsbestandteilen zu den einzelnen Personen zu sparen.&lt;/p>
&lt;h2 id="fair-prinzipien-für-die-datenbereitstellung">FAIR-Prinzipien für die Datenbereitstellung&lt;/h2>
&lt;p>Das FDMLab arbeitete nicht nur an der Generierung und Analyse von Daten, sondern evaluierte auch die bisherige Praxis des Landesarchivs bei der Datenbereitstellung über das &lt;a href="https://www2.landesarchiv-bw.de/ofs21/home.php" target="_blank" rel="noopener">Online-Findmittelsystem (OLF)&lt;/a>. Richtschnur waren dabei die sogenannten FAIR-Prinzipien für die Datenbereitstellung, die in der Forschungsdatenmanagementcommunity inzwischen eine weite Verbreitung gefunden haben. Die Abkürzung “FAIR” setzt sich zusammen aus den englischen Adjektiven &lt;em>findable&lt;/em> (auffindbar), &lt;em>accessible&lt;/em> (zugänglich), &lt;em>interoperable&lt;/em> (interoperabel) und &lt;em>reusable&lt;/em> (nachnutzbar). Diese Eigenschaften sollten Daten bzw. die Datenbereitstellung besitzen, um eine nachhaltige (wissenschaftliche) Nutzung zu gewährleisten.&lt;sup id="fnref:8">&lt;a href="#fn:8" class="footnote-ref" role="doc-noteref">8&lt;/a>&lt;/sup>&lt;/p>
&lt;figure id="figure-die-fair-leitprinzipien-für-daten-8fn8">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Die FAIR Leitprinzipien für Daten [[8](#fn:8)]." srcset="
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/fair_data_principles_hu4960df34c0cdf9a6c6ba50e723c5ac83_41875_bacb4382dd9c913bdf74ed166cfb8593.webp 400w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/fair_data_principles_hu4960df34c0cdf9a6c6ba50e723c5ac83_41875_1a1a38c4712626a71647a2928d297d41.webp 760w,
/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/fair_data_principles_hu4960df34c0cdf9a6c6ba50e723c5ac83_41875_1200x1200_fit_q75_h2_lanczos.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-07-ein-rueckblick-auf-zwei-jahre-fdmlab/fair_data_principles_hu4960df34c0cdf9a6c6ba50e723c5ac83_41875_bacb4382dd9c913bdf74ed166cfb8593.webp"
width="760"
height="258"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Die FAIR Leitprinzipien für Daten [&lt;a href="#fn:8">8&lt;/a>].
&lt;/figcaption>&lt;/figure>
&lt;p>Die Untersuchung ergab, dass das Online-Findmittelsystem einige der 15 FAIR-Kriterien bereits erfüllt, sie jedoch noch nicht in vollem Umfang umsetzt. Bei der anstehenden Neuentwicklung eines archivischen Fachinformationssystems, welches künftig auch das jetzige Online-Findmittelsystem ablösen wird, sollen die FAIR-Prinzipien vollständig berücksichtigt werden. Das FDMLab lieferte hier Impulse für die Definition von Anforderungen an das neue AFIS. Die Präsentationskomponente des neuen AFIS soll archivische Daten unter transparenten und leicht verständlichen Nutzungsbedingungen bereitstellen – und dies so offen wie möglich. Dabei gilt es selbstverständlich auf der anderen Seite auch, den Datenschutz, das Urheberrecht und andere Schutzrechte zu wahren.&lt;/p>
&lt;p>Eine der bei der Evaluation definierten Anforderungen ist die Einführung eines global eindeutigen &lt;em>Persistent Identifiers&lt;/em> (PID), der sowohl die Daten als auch die Metadaten des Landesarchivs weltweit und zeitlich unbegrenzt kennzeichnet und somit eine sichere Zitation ermöglicht.&lt;/p>
&lt;p>Die rechtlichen Nutzungsbedingungen sollen über die derzeitige zentrale Infoseite auf der Homepage des Landesarchivs hinaus auch auf den Detailseiten der einzelnen digitalen Objekte verlinkt werden. Dadurch soll es noch einfacher werden, sich über Lizenzen etc. zu informieren.&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>Außerdem soll das neue AFIS eine frei zugängliche Schnittstelle besitzen, über die Daten in einem maschinenlesbaren Format und in flexiblem Umfang (einzelne Digitalisate oder Batch-Verarbeitung) zum Download bereitstehen. Dies wäre dann eine ergänzende Möglichkeit zum Download, zusätzlich zu den bereits heute verfügbaren Downloadmöglichkeiten über die DDB bzw. das Archivportal-D.&lt;/p>
&lt;p>Weiter wurden die Voraussetzungen zur Verwendung eines &lt;a href="https://iiif.io/" target="_blank" rel="noopener">IIIF&lt;/a>-kompatiblen Viewers untersucht. Um Metadaten auch in einem semantischen Datenmodell anzubieten, soll im neuen AFIS der neue archivische Erschließungsstandard &lt;a href="https://www.ica.org/standards/RiC/ontology" target="_blank" rel="noopener">Records in Context (RiC)&lt;/a> des &lt;a href="https://www.ica.org/" target="_blank" rel="noopener">International Council on Archives (ICA)&lt;/a> genutzt werden.&lt;/p>
&lt;h2 id="konferenzen-und-veranstaltungen">Konferenzen und Veranstaltungen&lt;/h2>
&lt;p>Neben unserer praktischen Tätigkeit waren wir als FDMLab auch auf einigen Veranstaltungen, wie dem Südwestdeutschen Archivtag und der Konferenz &amp;ldquo;Offene Archive&amp;rdquo; sowohl als Teilnehmende, als auch zur fachlichen und technischen Unterstützung oder als Vortragende aktiv.
Eine Liste von Vorträgen und Präsentationen des FDMLab haben wir auf unserer Webseite unter dem Menüpunkt &lt;a href="https://fdmlab.landesarchiv-bw.de/event/">Vorträge&lt;/a> veröffentlicht.&lt;/p>
&lt;p>Im Bereich Forschungsdatenmanagement waren wir während unserer ersten Projektlaufzeit eher in der Orientierungs- und Planungsphase und haben die tatsächliche Implementierung und Umsetzung in Form von Vorarbeiten an andere Projekte innerhalb des Landesarchives weitergegeben.&lt;/p>
&lt;p>Eine abwechslungsreiche Ausnahme unserer Tätigkeiten war die &lt;a href="https://landesarchiv-bw.de/de/aktuelles/nachrichten/73476" target="_blank" rel="noopener">Unterstützung von Datenberaterinnen und Datenberatern für Archive in Baden-Württemberg&lt;/a> für den &lt;a href="https://codingdavinci.de/de/tags/cdv-baden-wuerttemberg-2022" target="_blank" rel="noopener">Kultur-Hackathon Coding da Vinci Baden-Württemberg 2022&lt;/a>.&lt;/p>
&lt;h2 id="ausblick">Ausblick&lt;/h2>
&lt;p>Das FDMLab hat sich in seiner ersten Projektlaufzeit mit verschiedenen Themen beschäftigt, die für Archive noch weitestgehend Neuland sind. Bei der automatischen Erstellung von Volltexten und der Datenanalyse und –anreicherung mit Hilfe verschiedener Tools und Technologien konnte wertvolles Wissen und bei vielen praktischen Projekten Erfahrungen gesammelt werden. Dennoch bleibt auch weiterhin viel zu tun: Ergebnisse aus Experimenten und Prototypen sollen in den Produktivbetrieb überführt werden, Volltexte und angereicherte Metadaten in größerem Umfang generiert werden. Und so freuen wir uns außerordentlich, dass das Projekt FDMLab@LABW nach der ersten Projektlaufzeit verlängert wird und wir mit der Unterstützung des &lt;a href="https://mwk.baden-wuerttemberg.de/" target="_blank" rel="noopener">Ministeriums für Wissenschaft, Forschung und Kunst Baden-Württemberg&lt;/a> ein weiteres Jahr von August 2022 bis Juli 2023 das Thema &lt;em>Maschinelles Lernen im Archiv&lt;/em> vorantreiben dürfen.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Eine Übersicht über die im FDMLab getesteten Tools finden Sie unter &lt;a href="https://fdmlab.landesarchiv-bw.de/event/2021-werkzeuge-zur-texterkennung/">Werkzeuge zur Texterkennung: ein Blick in die digitale Werkstatt des FDMLab am Landesarchiv Baden-Württemberg&lt;/a> und unter &lt;a href="https://fdmlab.landesarchiv-bw.de/event/2021-ocr-im-archiv/">OCR im Archiv – ein Blick in das FDMLab@LABW&lt;/a>.&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>GLAK 465 c Nr. 418, &lt;a href="https://www.leo-bw.de/themenmodul/sudwestdeutschearchivalienkunde/querschnittsartikel/ns-uberlieferung" target="_blank" rel="noopener">NS Überlieferung in staatlichen Archiven&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>C. Clausner, S. Pletschacher, A. Antonacopoulos , &lt;a href="https://www.primaresearch.org/publications/PRL_Clausner_FlexibleCharacterAccuracy" target="_blank" rel="noopener">&amp;ldquo;Flexible character accuracy measure for reading-order-independent evaluation&amp;rdquo;&lt;/a>, Pattern Recognition Letters, Volume 131, March 2020, Pages 390-397, &lt;a href="https://doi.org/10.1016/j.patrec.2020.02.003" target="_blank" rel="noopener">https://doi.org/10.1016/j.patrec.2020.02.003&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>Theoretisch ist es möglich die vom Scanstift gescannten Bilder in einen Zielordner zu speichern und dann automatisiert zum Beispiel mit einem OCR-D Workflow weiter zu verarbeiten. Das setzt jedoch ein recht tieferes technisches Grundverständnis voraus.&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>Dep. 30/1 T1 Fürstlich Thurn und Taxissches Archiv Obermarchtal Grafschaft Friedberg-Scheer. Urkundenregesten 1304-1802. Bearb. Von Robert Kretzschmar. Stuttgart 1993 (Inventare der nichtstaatlichen Archive in Baden-Württemberg ; Bd. 18), &lt;a href="https://www2.landesarchiv-bw.de/ofs21/olf/struktur.php?bestand=2240&amp;amp;klassi=001" target="_blank" rel="noopener">Online-Version&lt;/a> des gedruckten Inventars.&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>Akten des Reichskammergerichts im Hauptstaatsarchiv Stuttgart: Inventar des Bestands C. Bearb. von A. Brunotte, R.J. Weber, Veröffentlichungen der Staatlichen Archivverwaltung Baden-Württemberg, Band 46 Nr.1-8, Stuttgart 1993-2008. Außerdem: Akten des Reichskammergerichts im Staatsarchiv Sigmaringen: Inventar des Bestands R 7. Bearb. von R.J. Weber, Veröffentlichungen der Staatlichen Archivverwaltung Baden-Württemberg; Band 57, Stuttgart 2004.&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>Bestände GLAK 456 C Nr. 2656-2661, GLAK 456 C Nr. 2664 und GLAK 456 D Nr. 226-228&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>&amp;ldquo;&lt;a href="https://de.wikipedia.org/wiki/Datei:FAIR_data_principles.jpg" target="_blank" rel="noopener">FAIR data principles&lt;/a>&amp;rdquo; von SangyaPundir ist lizenziert unter einer &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/deed.de" target="_blank" rel="noopener">CC BY-SA 4.0 Lizenz&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>Die Metadaten des Landesarchivs stehen unter der &lt;a href="https://creativecommons.org/publicdomain/zero/1.0/" target="_blank" rel="noopener">Creative Commons-Lizenz CC0&lt;/a>. Die Digitalisate werden, wenn dem aus rechtlicher Sicht nichts entgegensteht und sie nicht sowieso gemeinfrei sind, unter der &lt;a href="http://creativecommons.org/licenses/by/" target="_blank" rel="noopener">Creative Commons-Lizenz CC-BY&lt;/a> weitergegeben. Siehe dazu die &lt;a href="https://landesarchiv-bw.de/de/recherche/rechtsgrundlagen---nutzungsbedingungen/auf-einen-blick/46047" target="_blank" rel="noopener">Nutzungsbedingungen auf einen Blick&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;/ol>
&lt;/div></description></item><item><title>Konferenz "Offene Archive" 2022</title><link>https://fdmlab.landesarchiv-bw.de/event/2022-ki-im-archiv/</link><pubDate>Mon, 13 Jun 2022 16:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2022-ki-im-archiv/</guid><description/></item><item><title>Verborgene Datenschätze heben: Das FDMLab experimentiert mit KI im Archiv</title><link>https://fdmlab.landesarchiv-bw.de/publication/2022-archivnachrichten-64/</link><pubDate>Thu, 28 Apr 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/publication/2022-archivnachrichten-64/</guid><description/></item><item><title>Gemeinsam an OpenRefine-Projekten arbeiten</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/</link><pubDate>Tue, 07 Dec 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/</guid><description>&lt;p>Im FDMLab testeten wir verschiedene Möglichkeiten mit OpenRefine gemeinsam an Projekten zu arbeiten.
Dieser Artikel fasst unsere Erfahrungen beim kollaborativen Arbeiten mit OpenRefine 3.5.0 zusammen.&lt;/p>
&lt;p>Wir hatten in
&lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-09-fuenf-dinge-die-wir-an-openrefine-moegen/">Fünf Dinge, die wir an OpenRefine mögen&lt;/a>
schon darüber berichtet, dass uns die Architektur von OpenRefine gefällt,
da sie es ermöglicht OpenRefine sowohl auf einem Client (Laptop, Rechner), als auch auf einem Server laufen zu lassen.
Die Bedienung erfolgt anschließend über den Browser.&lt;/p>
&lt;div class="mermaid">---
title: OpenRefine Setup
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph server[fas:fa-server Server]
server_or[fas:fa-gem OpenRefine]
end
subgraph laptop[fas:fa-laptop Laptop]
browser[far:fa-window-maximize Browser]
laptop_or[fas:fa-gem OpenRefine]
end
browser -.-> laptop_or &amp; server_or
&lt;/div>
&lt;p>Da läge es nahe, dass OpenRefine auch eine Benutzerverwaltung und eine Möglichkeit zum Kollaborativen Arbeiten an Projekten anbietet.
Dafür gab es Pläne ein &lt;a href="https://github.com/OpenRefine/OpenRefine/wiki/Broker-Protocol" target="_blank" rel="noopener">Broker Protokoll für OpenRefine&lt;/a> einzuführen, die bisher aber weder umgesetzt noch eingeplant wurden.&lt;/p>
&lt;p>In der &lt;a href="https://docs.openrefine.org/" target="_blank" rel="noopener">Dokumentation von OpenRefine&lt;/a> wird folgendes Vorgehen empfohlen:&lt;/p>
&lt;blockquote>
&lt;p>Die beste Art, mit einer anderen Person zusammenzuarbeiten, ist, Projekte zu exportieren und zu importieren, wobei alle Änderungen gespeichert werden, so dass Sie an der Stelle weiterarbeiten können, wo die andere Person aufgehört hat.&lt;/p>
&lt;p>Übersetzt von &lt;a href="https://docs.openrefine.org/manual/starting#import-a-project" target="_blank" rel="noopener">Starting a project: Import a project&lt;/a>, aufgerufen am 01.12.2021.&lt;/p>
&lt;/blockquote>
&lt;div class="mermaid">---
title: Gemeinsam arbeiten - Strategie 1
config:
look: handDrawn
theme: neutral
---
flowchart TD
subgraph a["fa:fa-user Alice"]
vaa["fa:fa-table Version A"]
vab["fa:fa-table Version B"]
vac["fa:fa-table Version C"]
vad["fa:fa-table Version D"]
end
subgraph b["fa:fa-user Bob"]
vba["fa:fa-table Version A"]
vbb["fa:fa-table Version B"]
end
subgraph c["fa:fa-user Charly"]
vcb["fa:fa-table Version B"]
vcc["fa:fa-table Version C"]
end
vaa -.Übergabe.-> vba --Arbeiten--> vbb -.Übergabe.-> vab -.Übergabe.-> vcb --Arbeiten--> vcc -.Übergabe.-> vac --Arbeiten--> vad
&lt;/div>
&lt;p>Konkret bedeutet das, dass bei einer Kooperation von Alice, Bob und Charly zwar alle an dem gleichen Projekt arbeiten können, jedoch nicht gleichzeitig. Nachdem Alice das Projekt an Bob übergeben hat, arbeitet Bob daran. Nachdem Bob fertig ist, übergibt er das Projekt an Alice zurück, die es an Charly übergibt. Nachdem Charly fertig ist, übergibt er das Projekt an Alice zurück,
die dann erst daran weiterarbeiten kann.
Das war für uns im FDMLab ein eher unbefriedigender Zustand, weshalb wir zu einer anderen Strategie gewechselt haben.&lt;/p>
&lt;div class="mermaid">---
title: Gemeinsam Arbeiten - Strategie 2
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph a["fa:fa-user Alice"]
va["fa:fa-table Version A"]
vb["fa:fa-table Version B"]
vc["fa:fa-table Version C"]
vd["fa:fa-table Version D"]
end
subgraph b["fa:fa-user Bob"]
pa["fa:fa-table Part A"]
end
subgraph c["fa:fa-user Charly"]
pb["fa:fa-table Part B"]
end
va -.-> pa
vb -.-> pb
pa -.-> vc
pb -.-> vd
va --Arbeiten--> vb --Arbeiten--> vc --Arbeiten--> vd
&lt;/div>
&lt;p>Wir haben angefangen Teile eines Projektes in OpenRefine auszulagern und nach erfolgreicher Bearbeitung wieder in das Originalprojekt einzupflegen.
So kann in unserem Beispiel Alice weiter an dem Projekt arbeiten, während Bob und Charly sie durch die Bearbeitung einzelner Teile unterstützen. Diese Teile werden anschließend von Alice wieder in das Originalprojekt eingepflegt.
Wie das funktioniert besprechen wir in den folgenden Unterpunkten.&lt;/p>
&lt;h2 id="zeilenweise-zusammenführen">Zeilenweise zusammenführen&lt;/h2>
&lt;p>Manchmal ist es möglich, ein Projekt zeilenweise aufzuteilen. Also dass Alice die ersten 100 Zeilen, Bob die nächsten 100 und Charly die letzten 75 Zeilen bearbeitet.&lt;/p>
&lt;p>Die Ergebnisse können nach der Bearbeitung als CSV-Dateien exportiert und daraus anschließend ein neues OpenRefine-Projekt erstellt werden.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-dateiauswahl-oberfläche-von-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Dateiauswahl Oberfläche von OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-1_hu402989673ec7c7ca2e68b32580c83e60_3527_f8f279f4f94d7c5e8446255ac0f8e90a.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-1_hu402989673ec7c7ca2e68b32580c83e60_3527_6bff2ecacd8694f256793a04bf94172b.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-1_hu402989673ec7c7ca2e68b32580c83e60_3527_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-1_hu402989673ec7c7ca2e68b32580c83e60_3527_f8f279f4f94d7c5e8446255ac0f8e90a.webp"
width="304"
height="77"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Dateiauswahl Oberfläche von OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Wie in Abbildung 1 gezeigt, kann OpenRefine ein Projekt aus mehreren Dateien erstellen.
Das kann auch ein Dateiarchiv sein, dessen Dateien in ein neues Projekt importiert werden.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-dateifilter-oberfläche-von-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Dateifilter Oberfläche von OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-2_hu632d044bc7e37669654237939b6eb031_22723_1399221371f58cd8b77ea03867927303.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-2_hu632d044bc7e37669654237939b6eb031_22723_fabc96d2b52b33acf2c43c94a595e0fd.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-2_hu632d044bc7e37669654237939b6eb031_22723_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-create-multiple-2_hu632d044bc7e37669654237939b6eb031_22723_1399221371f58cd8b77ea03867927303.webp"
width="760"
height="167"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Dateifilter Oberfläche von OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Bevor das Projekt konfiguriert wird, gibt es wie in Abbildung 2 gezeigt, die Möglichkeit einzelne Dateien aus- oder abzuwählen.
Im Idealfall haben die einzelnen Dateien schon die gleichen Spaltenüberschriften in der richtigen Reihenfolge.
Ansonsten bietet OpenRefine mit der Möglichkeit &lt;a href="https://docs.openrefine.org/manual/columnediting#join-columns" target="_blank" rel="noopener">Spalten zu verbinden&lt;/a> und &lt;a href="https://docs.openrefine.org/manual/columnediting#renaming-removing-and-moving" target="_blank" rel="noopener">Spalten zu verschieben&lt;/a> die Möglichkeit das nachträglich zu bereinigen.&lt;/p>
&lt;h2 id="spaltenweise-zusammenführen">Spaltenweise zusammenführen&lt;/h2>
&lt;p>Ein häufiger Anwendungsfall im FDMLab ist, dass das Aufräumen und Transformieren der Daten von einer Person erledigt wird, die zum Beispiel beim Reconciling oder dem Abgleich mit weiteren Datenquellen von weiteren Personen unterstützt wird. Dafür werden einzelne Spalten als CSV (oder Excel) exportiert, von der unterstützenden Person bearbeitet und die Ergebnisse dann wieder in das Originalprojekt übernommen.&lt;/p>
&lt;p>Ein anderer Fall kann sein, dass es schon einen anderen Datensatz gibt, dessen Daten komplett oder teilweise übernommen werden sollen.
Das haben wir in &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-findbuch-daten-mit-openrefine-wiederverwenden/">Findbuchdaten mit OpenRefine wiederverwenden&lt;/a> teilweise besprochen.&lt;/p>
&lt;h3 id="beispiel">Beispiel&lt;/h3>
&lt;p>In unserem fiktiven Beispiel arbeitet Alice mit einem Datensatz der 16 Bundesländer, wie er in Abbildung 3 gezeigt ist.
Diesen gibt sie an Bob und Charly weiter.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-oberfläche-von-openrefine-mit-den-16-bundesländern">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Oberfläche von OpenRefine mit den 16 Bundesländern." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender_hu834d87ba914778413fda02e8c0d2c96a_13980_40dbfda5bc30f47578f1087796953bee.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender_hu834d87ba914778413fda02e8c0d2c96a_13980_40fbe0ec9c8e7474c5eba9551e95a797.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender_hu834d87ba914778413fda02e8c0d2c96a_13980_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender_hu834d87ba914778413fda02e8c0d2c96a_13980_40dbfda5bc30f47578f1087796953bee.webp"
width="226"
height="367"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Oberfläche von OpenRefine mit den 16 Bundesländern.
&lt;/figcaption>&lt;/figure>
&lt;p>Bob unterstützt Alice, indem er für die 16 Bundesländer das &amp;ldquo;Motto&amp;rdquo; recherchiert, er kann jedoch nicht für alle Bundesländer ein Motto finden und liefert den in Abbildung 4 gezeigten Datensatz zurück. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-oberfläche-von-openrefine-mit-dem-motto-einiger-bundesländer">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Oberfläche von OpenRefine mit dem Motto einiger Bundesländer." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-motto_hue850d04bcf76bdb2f02a1168cb267115_9708_e3618f764baaa0d2c91b126a4d9aefef.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-motto_hue850d04bcf76bdb2f02a1168cb267115_9708_d3434bad2b7cf904e687d49ae311e4d2.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-motto_hue850d04bcf76bdb2f02a1168cb267115_9708_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-motto_hue850d04bcf76bdb2f02a1168cb267115_9708_e3618f764baaa0d2c91b126a4d9aefef.webp"
width="372"
height="174"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Oberfläche von OpenRefine mit dem Motto einiger Bundesländer.
&lt;/figcaption>&lt;/figure>
&lt;p>Charly hat die Aufgabe die Hauptstädte der einzelnen Bundesländer zu recherchieren, und liefert den in Abbildung 5 gezeigten Datensatz zurück. Dabei wurden jedoch die Namen der Bundesländer teilweise geändert, also zum Beispiel der Begriff &amp;ldquo;Freistaat&amp;rdquo; aus dem Namen wegoptimiert.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-oberfläche-von-openrefine-mit-den-hauptstädten-der-16-bundesländer">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Oberfläche von OpenRefine mit den Hauptstädten der 16 Bundesländer." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-hauptstadt_hudb6941757d764e7bc3df4946962e3922_15914_937e0ee52a239fc231180e731f64bfde.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-hauptstadt_hudb6941757d764e7bc3df4946962e3922_15914_5ded926aea1e6c28aa156d981867df94.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-hauptstadt_hudb6941757d764e7bc3df4946962e3922_15914_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-hauptstadt_hudb6941757d764e7bc3df4946962e3922_15914_937e0ee52a239fc231180e731f64bfde.webp"
width="297"
height="373"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Oberfläche von OpenRefine mit den Hauptstädten der 16 Bundesländer.
&lt;/figcaption>&lt;/figure>
&lt;h3 id="datensätze-herunterladen">Datensätze herunterladen&lt;/h3>
&lt;p>Die drei beschriebenen Datensätze können hier heruntergeladen werden, um die vorgestellten Methoden zum Zusammenführen von Daten beim gemeinsamen Arbeiten in OpenRefine selbst auszuprobieren&lt;/p>
&lt;blockquote>
&lt;p>💾 Wir benötigen drei Dateien (Rechtsklick und &amp;ldquo;Ziel speichern unter&amp;hellip;&amp;rdquo;):&lt;/p>
&lt;/blockquote>
&lt;a href="https://fdmlab.landesarchiv-bw.de/data/bundeslaender/bundeslaender.csv" target="_blank">
&lt;i class="fas fa-file-csv pr-1 fa-fw">&lt;/i>Bundesländer als CSV&lt;/a>
&lt;blockquote>
&lt;/blockquote>
&lt;a href="https://fdmlab.landesarchiv-bw.de/data/bundeslaender/bundeslaender-motto.csv" target="_blank">
&lt;i class="fas fa-file-csv pr-1 fa-fw">&lt;/i>Bundesländer Motto als CSV&lt;/a>
&lt;blockquote>
&lt;/blockquote>
&lt;a href="https://fdmlab.landesarchiv-bw.de/data/bundeslaender/bundeslaender-hauptstadt.csv" target="_blank">
&lt;i class="fas fa-file-csv pr-1 fa-fw">&lt;/i>Bundesländer Hauptstädte als CSV&lt;/a>
&lt;h3 id="id-spalte-erstellen">ID Spalte erstellen&lt;/h3>
&lt;p>Wir werden die Daten auf drei Arten abgleichen:&lt;/p>
&lt;ol>
&lt;li>Via einer dedizierten ID-Spalte&lt;/li>
&lt;li>Mit einer improvisierten ID-Spalte (Name des Bundeslandes)&lt;/li>
&lt;li>Via Reconciling&lt;/li>
&lt;/ol>
&lt;p>Idealerweise haben alle Datensätze eine einheitliche ID-Spalte zum Abgleichen.
Diese lässt sich in OpenRefine über
&amp;ldquo;Spaltenmenü&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add column based on this column&amp;hellip;&amp;rdquo;
mit dem folgenden GREL Ausdruck anlegen:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">row&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">index&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Wie in Abbildung 6 gezeigt, wird so eine ID-Spalte erzeugt, deren Nummerierung analog zur Nummerierung der Zeilen in OpenRefine verläuft.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-spalten-hinzufügen-dialogs-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Spalten hinzufügen Dialogs in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-add-id-col_hucd48aca33617d55cebd18e34c8369c9e_21645_259a34aa11dacb6cd88d12217fda7b0c.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-add-id-col_hucd48aca33617d55cebd18e34c8369c9e_21645_b9e3e4c99d43a2fa57a52ad9239a711c.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-add-id-col_hucd48aca33617d55cebd18e34c8369c9e_21645_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-add-id-col_hucd48aca33617d55cebd18e34c8369c9e_21645_259a34aa11dacb6cd88d12217fda7b0c.webp"
width="721"
height="530"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Spalten hinzufügen Dialogs in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Alternativ lassen sich manchmal auch ID-Spalten improvisieren, indem zum Beispiel bei Personen die Namen und Vornamen in eine ID-Spalte übernommen werden.&lt;/p>
&lt;h3 id="zusammenführen-mit-cross">Zusammenführen mit cross()&lt;/h3>
&lt;p>Alice hat von Bob und Charly zwei CSV-Dateien bekommen, die sie in ihr OpenRefine-Projekt übernehmen möchte.
Eine Möglichkeit, das innerhalb von OpenRefine zu erledigen, ist die Funktion
&lt;a href="https://docs.openrefine.org/manual/grelfunctions#crosscell-s-projectname-optional-s-columnname-optional" target="_blank" rel="noopener">cross()&lt;/a>.&lt;/p>
&lt;p>Im OpenRefine-Wiki gibt es einige
&lt;a href="https://github.com/OpenRefine/OpenRefine/wiki/Recipes#combining-datasets" target="_blank" rel="noopener">Beispiele zur Anwendung von cross()&lt;/a>.
Außerdem gibt es eine
&lt;a href="https://www.bits.vib.be/index.php/software-overview/openrefine" target="_blank" rel="noopener">OpenRefine-Erweiterung für cross()&lt;/a>
um die Funktion über Dialoge in der Oberfläche von OpenRefine zu verwenden.&lt;/p>
&lt;p>Wir verwenden die Funktion &lt;code>cross()&lt;/code> ohne Erweiterung. Dafür erstellen wir für die drei Datensätze jeweils ein Projekt.&lt;/p>
&lt;ol>
&lt;li>Projekt &amp;ldquo;Bundesländer&amp;rdquo; aus &lt;code>bundeslaender.csv&lt;/code>&lt;/li>
&lt;li>Projekt &amp;ldquo;Bundesländer Motto&amp;rdquo; aus &lt;code>bundeslaender-motto.csv&lt;/code>&lt;/li>
&lt;li>Projekt &amp;ldquo;Bundesländer Hauptstadt&amp;rdquo; aus &lt;code>bundeslaender-hauptstadt.csv&lt;/code>&lt;/li>
&lt;/ol>
&lt;div class="alert alert-info">
&lt;div>
Wir verwenden absichtlich Umlaute und Leerzeichen im Projektnamen, um zu testen, ob OpenRefine beim Auflösen mit &lt;code>cross()&lt;/code> damit klarkommt!
&lt;/div>
&lt;/div>
&lt;h4 id="zusammenführen-via-id">Zusammenführen via ID&lt;/h4>
&lt;p>Idealerweise haben wir eine eindeutige ID-Spalte, um die Projekte miteinander abzugleichen.
Mit &lt;code>cross()&lt;/code> können wir über die ID-Spalte Daten aus einem anderen OpenRefine-Projekt nachladen.
Das funktioniert aber nur, wenn die IDs eindeutig sind.&lt;/p>
&lt;h5 id="nachladen-des-mottos">Nachladen des Mottos&lt;/h5>
&lt;p>Zum Nachladen des Mottos der Bundesländer gehen wir im &amp;ldquo;Bundesländer&amp;rdquo;-Projekt über das Spaltenmenü
&amp;ldquo;ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add column based on this column&amp;hellip;&amp;rdquo;
und verwenden den folgenden GREL Ausdruck.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">cell&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">cross&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Bundesländer Motto&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;ID&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">cells&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Mottotext&amp;#34;&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">value&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Dabei ist &amp;ldquo;Bundesländer Motto&amp;rdquo; der Name des Projektes aus dem wir die Daten holen wollen,
und &amp;ldquo;ID&amp;rdquo; die ID-Spalte im Projekt &amp;ldquo;Bundesländer Motto&amp;rdquo;.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-spalten-hinzufügen-dialogs-mit-cross-für-den-mottotext-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für den Mottotext in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-1_hu8d6c0de36e7c11eb9e61089c401f8c9e_20478_0d2a60105870bc4d5e6d1f15a6ecd3ff.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-1_hu8d6c0de36e7c11eb9e61089c401f8c9e_20478_ee94f02329049b7f118eb1ad7acd41ed.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-1_hu8d6c0de36e7c11eb9e61089c401f8c9e_20478_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-1_hu8d6c0de36e7c11eb9e61089c401f8c9e_20478_0d2a60105870bc4d5e6d1f15a6ecd3ff.webp"
width="758"
height="537"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für den Mottotext in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Wie in Abbildung 7 gezeigt, werden die Daten (also der Mottotext) aus dem anderen Projekt nachgeladen.
Es haben nicht alle Bundesländer einen Mottotext hinterlegt, was den Abgleich nicht weiter stört.&lt;/p>
&lt;h5 id="nachladen-der-hauptstadt">Nachladen der Hauptstadt&lt;/h5>
&lt;p>Zum Nachladen der Hauptstadt der Bundesländer gehen wir im &amp;ldquo;Bundesländer&amp;rdquo;-Projekt über das Spaltenmenü
&amp;ldquo;ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add column based on this column&amp;hellip;&amp;rdquo;
und verwenden den folgenden GREL Ausdruck.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">cell&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">cross&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Bundesländer Hauptstadt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;ID&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">cells&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Hauptstadt&amp;#34;&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">value&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Dabei ist &amp;ldquo;Bundesländer Hauptstadt&amp;rdquo; der Name des Projektes aus dem wir die Daten holen wollen,
und &amp;ldquo;ID&amp;rdquo; die ID-Spalte im Projekt &amp;ldquo;Bundesländer Hauptstadt&amp;rdquo;.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-spalten-hinzufügen-dialogs-mit-cross-für-die-hauptstadt-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für die Hauptstadt in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-1_hu7b7640fd7f81d9ef7172d608638c0551_21900_60af84c29669edd40e4bd0e8a97c0b0c.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-1_hu7b7640fd7f81d9ef7172d608638c0551_21900_02cea76db379ba61cec116047373dad4.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-1_hu7b7640fd7f81d9ef7172d608638c0551_21900_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-1_hu7b7640fd7f81d9ef7172d608638c0551_21900_60af84c29669edd40e4bd0e8a97c0b0c.webp"
width="760"
height="537"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für die Hauptstadt in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Wie in Abbildung 8 gezeigt, werden die Daten (hier die Hauptstadt) aus dem anderen Projekt nachgeladen.
Es haben alle Bundesländer eine Hauptstadt, so dass der Abgleich hier für jeden Eintrag ein Ergebnis produziert.&lt;/p>
&lt;p>Außerdem ist zu erwähnen, dass sich OpenRefine hier auch nicht daran stört, dass die ID-Spalte bei uns im Projekt &amp;ldquo;Bundesländer&amp;rdquo; als Zahl, im Projekt &amp;ldquo;Bundesländer Motto&amp;rdquo; jedoch als Typ Text gespeichert ist.&lt;/p>
&lt;h4 id="zusammenführen-via-werte">Zusammenführen via Werte&lt;/h4>
&lt;p>Es ist nicht immer eine eindeutige ID-Spalte vorhanden. Das kommt zum Beispiel vor, wenn die Daten aus verschiedenen Projekten stammen.
Man kann auch ID-Spalten improvisieren, was aber nicht immer zum gewünschten Ergebnis führt.
Wir werden den Abgleich mit &lt;code>cross()&lt;/code> diesmal über die Spalte &amp;ldquo;Bundesland&amp;rdquo; durchführen.&lt;/p>
&lt;h5 id="nachladen-des-mottos-1">Nachladen des Mottos&lt;/h5>
&lt;p>Zum Nachladen des Mottos der Bundesländer gehen wir im &amp;ldquo;Bundesländer&amp;rdquo;-Projekt diesmal über das Spaltenmenü
&amp;ldquo;&lt;strong>Bundesland&lt;/strong>&amp;ldquo;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add column based on this column&amp;hellip;&amp;rdquo;
und verwenden den folgenden GREL Ausdruck.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">cell&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">cross&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Bundesländer Motto&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Bundesland&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">cells&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Mottotext&amp;#34;&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">value&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Wie in Abbildung 9 zu sehen ist, hat der Abgleich zwischen diesen beiden Projekten kein Problem, da die Bundesländer hier einheitlich geschrieben sind.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-spalten-hinzufügen-dialogs-mit-cross-für-den-mottotext-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für den Mottotext in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-2_hu6697b78a45b788c719d01c8a114442f9_24083_d0669a6f0087e5eea3f45d6c37792cd2.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-2_hu6697b78a45b788c719d01c8a114442f9_24083_5f781075b76ac04fe415c7507939cead.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-2_hu6697b78a45b788c719d01c8a114442f9_24083_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-motto-2_hu6697b78a45b788c719d01c8a114442f9_24083_d0669a6f0087e5eea3f45d6c37792cd2.webp"
width="760"
height="505"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für den Mottotext in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;h5 id="nachladen-der-hauptstadt-1">Nachladen der Hauptstadt&lt;/h5>
&lt;p>Zum Nachladen der Hauptstädte der Bundesländer gehen wir im &amp;ldquo;Bundesländer&amp;rdquo;-Projekt diesmal über das Spaltenmenü
&amp;ldquo;&lt;strong>Bundesland&lt;/strong>&amp;ldquo;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add column based on this column&amp;hellip;&amp;rdquo;
und verwenden den folgenden GREL Ausdruck.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">cell&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">cross&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Bundesländer Hauptstadt&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Bundesland&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">cells&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Hauptstadt&amp;#34;&lt;/span>&lt;span class="p">].&lt;/span>&lt;span class="nx">value&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Wie in Abbildung 10 zu sehen ist, hat der Abgleich hier Probleme, da die Bundesländer teilweise unterschiedlich geschrieben sind.
Es fehlen Ergänzungen wie &amp;ldquo;Freistaat&amp;rdquo;. Daher können die Daten für diese Bundesländer nicht nachgeladen werden.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-spalten-hinzufügen-dialogs-mit-cross-für-die-hauptstadt-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für die Hauptstadt in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-2_hu4c75d7fba194ae1d4237304cd6172606_24268_a132f64f5f87419fa9c7732f38156bd3.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-2_hu4c75d7fba194ae1d4237304cd6172606_24268_f7b3d12e0daab7746eb26507b37ab9d0.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-2_hu4c75d7fba194ae1d4237304cd6172606_24268_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-dialog-cross-hauptstadt-2_hu4c75d7fba194ae1d4237304cd6172606_24268_a132f64f5f87419fa9c7732f38156bd3.webp"
width="760"
height="473"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Spalten hinzufügen Dialogs mit cross() für die Hauptstadt in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;h4 id="ergebnis">Ergebnis&lt;/h4>
&lt;figure id="figure-bildschirmfoto-von-openrefine-mit-den-bundesländern-und-den-zusätzlichen-spalten-aus-anderen-projekten">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto von OpenRefine mit den Bundesländern und den zusätzlichen Spalten aus anderen Projekten." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-2_hu80e7646e9d78f4fe605d75de5ca9f324_25607_e877a2011489f5239b704e1e440398a0.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-2_hu80e7646e9d78f4fe605d75de5ca9f324_25607_4d9aabd79641cebb0a830ebcd68f03dc.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-2_hu80e7646e9d78f4fe605d75de5ca9f324_25607_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-2_hu80e7646e9d78f4fe605d75de5ca9f324_25607_e877a2011489f5239b704e1e440398a0.webp"
width="760"
height="363"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto von OpenRefine mit den Bundesländern und den zusätzlichen Spalten aus anderen Projekten.
&lt;/figcaption>&lt;/figure>
&lt;p>Der Abgleich mit &lt;code>cross()&lt;/code> innerhalb von OpenRefine funktioniert recht einfach, solange es eine Spalte mit eindeutigen Werten gibt.
Der Abgleich stört sich auch nicht an Sonderzeichen, Leerzeichen oder fehlenden Werten.&lt;/p>
&lt;p>Problematisch wird es, wenn die Werte der Spalten, die abgeglichen werden, nicht komplett übereinstimmen.
Diese sind in Abbildung 11 farblich hervorgehoben. In solchen Fällen empfiehlt sich das im nächsten Abschnitt besprochene lokale Reconciling.&lt;/p>
&lt;h3 id="zusammenführen-mit-lokalem-reconciling">Zusammenführen mit lokalem Reconciling&lt;/h3>
&lt;p>Wir hatten in
&lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-09-fuenf-dinge-die-wir-an-openrefine-moegen/">Fünf Dinge, die wir an OpenRefine mögen&lt;/a>
schon die Architektur von OpenRefine gelobt, da diese so gestaltet ist, dass OpenRefine auch mit anderen APIs kommunizieren kann.
Besonders unterstützt ist dabei das &lt;a href="https://reconciliation-api.github.io/specs/latest/" target="_blank" rel="noopener">Reconciliation Service API Protokoll&lt;/a>. Damit können Daten in einem OpenRefine-Projekt nicht nur gegen &lt;a href="https://docs.openrefine.org/manual/wikibase/overview" target="_blank" rel="noopener">Wikidata&lt;/a> oder die &lt;a href="https://lobid.org/gnd/reconcile" target="_blank" rel="noopener">GND&lt;/a> abgeglichen werden, sondern mit Werkzeugen wie &lt;a href="https://github.com/gitonthescene/csv-reconcile" target="_blank" rel="noopener">csv-reconcile&lt;/a> auch mit lokalen CSV-Dateien.&lt;/p>
&lt;div class="mermaid">---
title: OpenRefine Setup
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph server[fas:fa-server Server]
server_or[fas:fa-gem OpenRefine]
server_api[fas:fa-code Reconciliation Service API]
end
subgraph laptop[fas:fa-laptop Laptop]
browser[far:fa-window-maximize Browser]
laptop_or[fas:fa-gem OpenRefine]
laptop_api[fas:fa-code Reconciliation Service API]
end
browser -.-> laptop_or &amp; server_or
laptop_or -.-> laptop_api &amp; server_api
server_or -.-> server_api
&lt;/div>
&lt;p>Für die Verwendung von csv-reconcile benötigt man &lt;a href="https://www.python.org/downloads/" target="_blank" rel="noopener">Python&lt;/a> auf seinem System.
Ist Python vorhanden, dann kann csv-reconcile einfach via Shell (PowerShell, Git Bash, &amp;hellip;) installiert werden.
Wir erstellen dafür erst eine virtuelle Umgebung in unserem Arbeitsordner, um csv-reconcile ausschließlich dort zu installieren.&lt;/p>
&lt;p>Der Arbeitsordner ist der Ordner, in dem wir unsere CSV-Dateien liegen haben, mit denen wir hier arbeiten.&lt;/p>
&lt;p>Die virtuelle Umgebung für Python ermöglicht es uns, Python Bibliotheken nur für dieses Projekt zu installieren,
so dass sie nicht mit Bibliotheken oder Python Versionen in anderen Projekten in Konflikt kommen.&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="p">&amp;gt;&lt;/span> &lt;span class="n">python&lt;/span> &lt;span class="n">-m&lt;/span> &lt;span class="n">venv&lt;/span> &lt;span class="n">venv&lt;/span> &lt;span class="c"># virtuelle Umgebung erstellen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;gt;&lt;/span> &lt;span class="p">.\&lt;/span>&lt;span class="n">venv&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">Scripts&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">activate&lt;/span> &lt;span class="c"># virtuelle Umgebung aktivieren (Windows!)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">(&lt;/span>&lt;span class="n">venv&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">&amp;gt;&lt;/span> &lt;span class="n">pip&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="nb">csv-reconcile&lt;/span> &lt;span class="c"># csv-reconcile in virtuelle Umgebung installieren&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Da csv-reconcile in Version 0.3.0 den Vorschaudienst optional anbietet und keine automatische Erkennung von Encoding und Trennzeichen in CSV-Dateien hat, erstellen wir in unserem Arbeitsordner zusätzlich eine Datei &lt;code>config.py&lt;/code> mit dem folgenden Inhalt.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="n">CSVKWARGS&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="s1">&amp;#39;delimiter&amp;#39;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;,&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s1">&amp;#39;quotechar&amp;#39;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;&amp;#34;&amp;#39;&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">CSVENCODING&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s1">&amp;#39;UTF-8&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">MANIFEST&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;preview&amp;#34;&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="s2">&amp;#34;url&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;http://localhost:5000/preview/{{id}}&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="s2">&amp;#34;width&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">400&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;height&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">300&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;/code>&lt;/pre>&lt;/div>&lt;p>Anschließend können wir mit aktivierter virtueller Umgebung in unserem Arbeitsordner den lokalen Reconciling Service für die &amp;ldquo;Bundesländer Motto&amp;rdquo; CSV-Datei initiieren und starten.&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="p">(&lt;/span>&lt;span class="n">venv&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">&amp;gt;&lt;/span> &lt;span class="nb">csv-reconcile&lt;/span> &lt;span class="n">init&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-config&lt;/span> &lt;span class="n">config&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">py&lt;/span> &lt;span class="nb">bundeslaender-motto&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">csv&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="n">Bundesland&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">(&lt;/span>&lt;span class="n">venv&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">&amp;gt;&lt;/span> &lt;span class="nb">csv-reconcile&lt;/span> &lt;span class="n">serve&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Wenn wir mit dieser Datei fertig sind, können wir den lokalen Reconciling Service für die &amp;ldquo;Bundesländer Hauptstadt&amp;rdquo; CSV-Datei initiieren und starten.&lt;/p>
&lt;p>Ob die virtuelle Umgebung aktiv ist, sieht man an der Ergänzung &lt;code>(venv)&lt;/code> in der Shell.
Ansonnsten lässt sie sich mit &lt;code>.\venv\Scripts\activate&lt;/code> wieder aktivieren.&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="p">(&lt;/span>&lt;span class="n">venv&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">&amp;gt;&lt;/span> &lt;span class="nb">csv-reconcile&lt;/span> &lt;span class="n">init&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-config&lt;/span> &lt;span class="n">config&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">py&lt;/span> &lt;span class="nb">bundeslaender-hauptstadt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">csv&lt;/span> &lt;span class="n">ID&lt;/span> &lt;span class="n">Bundesland&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">(&lt;/span>&lt;span class="n">venv&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">&amp;gt;&lt;/span> &lt;span class="nb">csv-reconcile&lt;/span> &lt;span class="n">serve&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;div class="alert alert-note">
&lt;div>
Wir könnten die beiden lokalen Reconciling Services auch parallel laufen lassen, indem wir sie in unterschiedliche Ordner schieben und wie unter
&lt;a href="https://github.com/gitonthescene/csv-reconcile#common-configuration" target="_blank" rel="noopener">csv-reconcile: Common configuration&lt;/a>
beschrieben über die Variable &lt;code>SERVER_NAME&lt;/code> in der &lt;code>config.py&lt;/code> jeweils einen anderen Port setzen.
&lt;/div>
&lt;/div>
&lt;p>In OpenRefine fügen wir den lokalen Reconciliation Service hinzu, indem wir in einem Projekt über ein beliebiges
&amp;ldquo;Spaltenmenü&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Start reconciling&amp;rdquo; aufrufen und dort via &amp;ldquo;Add Standard Service&amp;hellip;&amp;rdquo;
die Adresse &lt;code>http://localhost:5000/reconcile&lt;/code> eingeben.
Der Port 5000 muss entsprechend angepasst werden, wenn er in der &lt;code>config.py&lt;/code> geändert wurde.&lt;/p>
&lt;p>Siehe auch die &lt;a href="https://docs.openrefine.org/manual/reconciling#getting-started" target="_blank" rel="noopener">OpenRefine-Dokumentation zu Reconciling: Getting started&lt;/a>.&lt;/p>
&lt;h4 id="zusammenführen-via-id-1">Zusammenführen via ID&lt;/h4>
&lt;p>Idealerweise haben wir eine eindeutige ID-Spalte, um die Projekte miteinander abzugleichen.
Dann ist der lokale Reconciliation Service fast schon etwas zu mächtig,
und wird von uns eher eingesetzt, wenn wir es vermeiden wollen,
zu viele OpenRefine-Projekte zu jonglieren.&lt;/p>
&lt;h5 id="nachladen-des-mottos-2">Nachladen des Mottos&lt;/h5>
&lt;p>Wir haben den lokalen Reconciling Service für das &amp;ldquo;Bundesländer Motto&amp;rdquo;-Projekt, wie im oberen Abschnitt beschrieben, am laufen.&lt;/p>
&lt;p>Zum Nachladen des Mottos der Bundesländer gehen wir im &amp;ldquo;Bundesländer&amp;rdquo;-Projekt über das Spaltenmenü
&amp;ldquo;ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Use values as identifiers&amp;rdquo;
und wählen unseren CSV Reconciliation Service aus.&lt;/p>
&lt;p>Die IDs werden nun alle zu Links. Wie im Maus-Hover in Abbildung 12 sehen wir, dass nicht alle IDs aufgelöst werden, sondern manchmal eine &amp;ldquo;Nicht gefunden&amp;rdquo; Meldung angezeigt wird.
Zur Erinnerung: es gibt nicht für alle Bundesländer ein Motto in unseren Daten!&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-maus-hover-not-found-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Maus-Hover &amp;#39;Not Found&amp;#39; in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-1_hu39c718e5b27e6e52ff7ac1c81fff5d86_15469_f8f093dccbd7b2a8850142009bb6489e.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-1_hu39c718e5b27e6e52ff7ac1c81fff5d86_15469_b3a651b1ac2fd52b17ddff702eb9bddc.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-1_hu39c718e5b27e6e52ff7ac1c81fff5d86_15469_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-1_hu39c718e5b27e6e52ff7ac1c81fff5d86_15469_f8f093dccbd7b2a8850142009bb6489e.webp"
width="454"
height="394"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Maus-Hover &amp;lsquo;Not Found&amp;rsquo; in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Den Mottotext können wir über
&amp;ldquo;ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add columns from reconciled values&amp;hellip;&amp;rdquo;
nachladen.
Wie in Abbildung 13 zu sehen ist, kann der Dienst auch mit nicht auflösbaren IDs umgehen und ignoriert diese einfach.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-reconciliation-dialogs-mit-dem-mottotext-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Reconciliation Dialogs mit dem Mottotext in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-2_hu8fbb82745c3be04cdb0e0c8fcbb4f230_18678_dd0eb9816e0f13c6bc8e21f81c61c1aa.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-2_hu8fbb82745c3be04cdb0e0c8fcbb4f230_18678_129cf3167d621935f4e2c6611f91fbf3.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-2_hu8fbb82745c3be04cdb0e0c8fcbb4f230_18678_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-2_hu8fbb82745c3be04cdb0e0c8fcbb4f230_18678_dd0eb9816e0f13c6bc8e21f81c61c1aa.webp"
width="760"
height="561"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Reconciliation Dialogs mit dem Mottotext in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;h5 id="nachladen-der-hauptstadt-2">Nachladen der Hauptstadt&lt;/h5>
&lt;p>Wir haben den lokalen Reconciling Service für das &amp;ldquo;Bundesländer Hauptstadt&amp;rdquo;-Projekt, wie im oberen Abschnitt beschrieben, am laufen.&lt;/p>
&lt;p>Zum Nachladen der Hauptstädte der Bundesländer gehen wir wieder im &amp;ldquo;Bundesländer&amp;rdquo;-Projekt über das Spaltenmenü
&amp;ldquo;ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Use values as identifiers&amp;rdquo;
und wählen unseren CSV Reconciliation Service aus.&lt;/p>
&lt;p>Die IDs werden nun alle wieder zu Links. Bei diesem Abgleich können alle IDs aufgelöst werden und wir sehen wie in Abbildung 14 überall Maus-Hover mit den entsprechenden Werten des gematchten Eintrags in der CSV-Datei.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-maus-hover-mit-csv-werten-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Maus-Hover mit CSV Werten in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-1_hu179a3c97bcee3c78ae52c69b1b89ffc0_9947_4b3ea587ba4655d167225c20f6e3dbd5.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-1_hu179a3c97bcee3c78ae52c69b1b89ffc0_9947_2af901b6da235bf730c1790b1d781bc9.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-1_hu179a3c97bcee3c78ae52c69b1b89ffc0_9947_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-1_hu179a3c97bcee3c78ae52c69b1b89ffc0_9947_4b3ea587ba4655d167225c20f6e3dbd5.webp"
width="452"
height="360"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Maus-Hover mit CSV Werten in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;h4 id="zusammenführen-via-werte-1">Zusammenführen via Werte&lt;/h4>
&lt;p>Es ist nicht immer eine eindeutige ID-Spalte vorhanden.
In so einem Fall spielt der lokale Reconciliation Service seine Stärke aus,
da wir mit ihm auch &amp;ldquo;ungenaue&amp;rdquo; Werte finden und matchen können.&lt;/p>
&lt;h5 id="nachladen-des-mottos-3">Nachladen des Mottos&lt;/h5>
&lt;p>Wir haben den lokalen Reconciling Service für das &amp;ldquo;Bundesländer Motto&amp;rdquo;-Projekt, wie im oberen Abschnitt beschrieben, am laufen.&lt;/p>
&lt;p>Zum Nachladen der Mottos der Bundesländer über die Wertespalte gehen wir zu
&amp;ldquo;Bundesland&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Start reconciling&amp;rdquo;
und wählen den &amp;ldquo;CSV Reconciling Service&amp;rdquo; aus.&lt;/p>
&lt;p>Wie in Abbildung 15 markiert, ist das automatische Matching etwas zu großzügig, so dass Bundesländer gematcht werden, weil sie zum Beispiel beide den Begriff &amp;ldquo;Freistaat&amp;rdquo; im Namen haben. Das kann manuell und bei größeren Datenmengen mit der Unterstützung von Facets auf den Konfidenzwerten (Wert wie gut das Matching passt) nachgearbeitet werden.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-ergebnis-des-automatischen-reconciling-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Ergebnis des automatischen Reconciling in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-3_hufaaadccb8b483f740a96e0e3e4446f9e_40846_ad0dc4da1e4daaaf27e3c0cfe4bc5541.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-3_hufaaadccb8b483f740a96e0e3e4446f9e_40846_726a2272f08749e7f5c6207a6c9f6f34.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-3_hufaaadccb8b483f740a96e0e3e4446f9e_40846_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-3_hufaaadccb8b483f740a96e0e3e4446f9e_40846_ad0dc4da1e4daaaf27e3c0cfe4bc5541.webp"
width="527"
height="640"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Ergebnis des automatischen Reconciling in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;p>Den Mottotext können wir dann wieder über
&amp;ldquo;Bundesland&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add columns from reconciled values&amp;hellip;&amp;rdquo;
nachladen.
Wie in Abbildung 16 zu sehen ist, kann der Dienst auch in diesem Fall mit nicht auflösbaren IDs umgehen und ignoriert diese einfach.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-reconciliation-dialogs-mit-dem-mottotext-in-openrefine">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des Reconciliation Dialogs mit dem Mottotext in OpenRefine." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-4_hua1c00797d48b58235eee6dfe3065f9bd_25066_bda04180895739bc24eb0236691f4c66.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-4_hua1c00797d48b58235eee6dfe3065f9bd_25066_b8e80e344cc0bd1f5426a6a31ce7ef3c.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-4_hua1c00797d48b58235eee6dfe3065f9bd_25066_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-motto-4_hua1c00797d48b58235eee6dfe3065f9bd_25066_bda04180895739bc24eb0236691f4c66.webp"
width="760"
height="555"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des Reconciliation Dialogs mit dem Mottotext in OpenRefine.
&lt;/figcaption>&lt;/figure>
&lt;h5 id="nachladen-der-hauptstadt-3">Nachladen der Hauptstadt&lt;/h5>
&lt;p>Wir haben den lokalen Reconciling Service für das &amp;ldquo;Bundesländer Hauptstadt&amp;rdquo;-Projekt, wie im oberen Abschnitt beschrieben, am laufen.&lt;/p>
&lt;p>Zum Nachladen der Hauptstädte der Bundesländer über die Wertespalte gehen wir zu
&amp;ldquo;Bundesland&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Start reconciling&amp;rdquo;
und wählen den &amp;ldquo;CSV Reconciliation Service&amp;rdquo; aus.&lt;/p>
&lt;p>Da wir in diesem Datensatz passende Einträge für alle Bundesländer haben, funktioniert das Matching, wie in Abbildung 17 zu sehen ist, recht gut, obwohl die Bundesländer teilweise anders geschrieben sind.&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-oberfläche-von-openrefine-mit-den-reconciliation-ergebnissen-für-die-bundesländer">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Oberfläche von OpenRefine mit den Reconciliation Ergebnissen für die Bundesländer." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-2_hu4c933afed31667bc96f7b0214c9301a9_28800_fc3c3332f7db8636609b779c541fe682.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-2_hu4c933afed31667bc96f7b0214c9301a9_28800_39b10a95abf5152d45e2c4c10f882a39.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-2_hu4c933afed31667bc96f7b0214c9301a9_28800_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-csv-reconcile-hauptstadt-2_hu4c933afed31667bc96f7b0214c9301a9_28800_fc3c3332f7db8636609b779c541fe682.webp"
width="311"
height="608"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto der Oberfläche von OpenRefine mit den Reconciliation Ergebnissen für die Bundesländer.
&lt;/figcaption>&lt;/figure>
&lt;h4 id="ergebnis-1">Ergebnis&lt;/h4>
&lt;p>Der Abgleich mit dem lokalen Reconciling Service hat initial einen höherne Aufwand,
da sowohl Python auf dem System als auch der CSV Reconciling Service in OpenRefine eingerichtet werden müssen.
Dann ist das Verfahren jedoch deutlich flexibler als das Zusammenführen mit &lt;code>cross()&lt;/code>,
da darüber sowohl ein exaktes ID Matching und Nachladen von Spalten durchgeführt werden kann,
als auch ein so genanntes Fuzzy-Matching, bei dem die Werte in den Spalten nicht exakt übereinstimmen.&lt;/p>
&lt;p>In Abbildung 18 sind nochmal alle nachgeladenen Spalten abgebildet, wobei&lt;/p>
&lt;ol>
&lt;li>via &lt;code>cross()&lt;/code> auf der ID-Spalte&lt;/li>
&lt;li>via &lt;code>cross()&lt;/code> auf der Werte-Spalte (Namen Bundesland)&lt;/li>
&lt;li>via lokalem Reconciling Service auf der ID-Spalte&lt;/li>
&lt;li>via lokalem Reconciling Service auf der Werte-Spalte (Namen Bundesland)&lt;/li>
&lt;/ol>
&lt;p>nachgeladen wurde.&lt;/p>
&lt;figure id="figure-bildschirmfoto-von-openrefine-mit-den-bundesländern-und-den-zusätzlichen-spalten-aus-anderen-projekten">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto von OpenRefine mit den Bundesländern und den zusätzlichen Spalten aus anderen Projekten." srcset="
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-3_huc3da5552be0ef16b9ee88e54332fa22a_26618_194dc0b3625ba75ea1a731c7431780d2.webp 400w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-3_huc3da5552be0ef16b9ee88e54332fa22a_26618_ed5d312a4e0a6be6d76c570357b24a80.webp 760w,
/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-3_huc3da5552be0ef16b9ee88e54332fa22a_26618_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-12-gemeinsam-an-openrefine-projekten-arbeiten/screenshot-openrefine-bundeslaender-3_huc3da5552be0ef16b9ee88e54332fa22a_26618_194dc0b3625ba75ea1a731c7431780d2.webp"
width="760"
height="220"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto von OpenRefine mit den Bundesländern und den zusätzlichen Spalten aus anderen Projekten.
&lt;/figcaption>&lt;/figure>
&lt;h2 id="ausblick-auf-weitere-methoden">Ausblick auf weitere Methoden&lt;/h2>
&lt;p>Für das Zusammenführen von Datensätzen mit OpenRefine gibt es noch weitere Möglichkeiten, die sich aktuell in der Planung und Entwicklung befinden.&lt;/p>
&lt;p>Zum einen gibt es &lt;a href="%28https://github.com/OpenRefine/OpenRefine/issues/2003%29">Überlegungen&lt;/a>
für Projekte in OpenRefine automatisch einen Reconciliation Service zu erstellen,
so dass analog zu &lt;code>cross()&lt;/code> direkt innerhalb von OpenRefine ein Reconciling gegen andere Projekte durchgeführt werden kann.
Also Reconciling innerhalb von OpenRefine ohne separaten lokalen Reconciling Service.&lt;/p>
&lt;p>Zum anderen gibt es mit &lt;a href="https://datasette.io/" target="_blank" rel="noopener">Datasette&lt;/a>
ein komplettes Ökosystem um &lt;a href="https://datasette.io/tools" target="_blank" rel="noopener">Daten in SQLite einzulesen&lt;/a>
und anschließend via &lt;a href="https://datasette.io/plugins" target="_blank" rel="noopener">unterschiedlicher APIs&lt;/a> zur Verfügung zu stellen.
Es wird gerade auch ein &lt;a href="https://github.com/drkane/datasette-reconcile" target="_blank" rel="noopener">Reconciliation Plugin für Datasette&lt;/a> entwickelt.&lt;/p>
&lt;p>Gibt es in Arbeitsgruppen Datensätze, die intern oder extern veröffentlicht und auch für Reconciliation genutzt werden sollen, dann lohnt sich ein Blick auf dieses Werkzeug.&lt;/p>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>OpenRefine bietet mit seiner Architektur das Potential zukünftig kollaboratives Arbeiten zu ermöglichen.
Bis dahin können wir uns selbst helfen und mit wenig Extraaufwand Aufgaben aufteilen und die Ergebnisse wieder zusammenführen.
Mit der &lt;code>cross()&lt;/code> Funktion können wir direkt Daten aus anderen OpenRefine-Projekten über ID-Spalten übernehmen.
Mit einem lokalem Reconciling Service können wir auch Daten aus unterschiedlichen Projekten verbinden.&lt;/p>
&lt;p>Bisher klappt das beschriebene Vorgehen im FDMLab ganz gut und wir beobachten weiterhin gespannt die Entwicklung sowohl von OpenRefine,
als auch von anderen Werkzeugen wie csv-reconcile und Datasette, die es hervorragend ergänzen.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Die Mottotexte wurden aus &lt;a href="https://www.wikidata.org/" target="_blank" rel="noopener">Wikidata&lt;/a> geladen und sind daher genauso (un)vollständig, wie die Daten dort.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Fünf Dinge, die wir mit OpenRefine nicht (gerne) machen</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-09-fuenf-dinge-die-wir-mit-openrefine-nicht-machen/</link><pubDate>Tue, 28 Sep 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-09-fuenf-dinge-die-wir-mit-openrefine-nicht-machen/</guid><description>&lt;p>Wir haben uns in den letzten Wochen im Blog ausgiebig mit OpenRefine beschäftigt und wollen einmal festhalten, wozu es sich unserer Ansicht nach nicht eignet.&lt;/p>
&lt;h2 id="batchverarbeitung">Batchverarbeitung&lt;/h2>
&lt;p>Die Idee von Batchverarbeitung von Daten mit OpenRefine (&lt;a href="https://docs.openrefine.org/manual/running#automating-openrefine" target="_blank" rel="noopener">Automating OpenRefine&lt;/a>) ist relativ simpel:
es wird eine Datei mit OpenRefine bearbeitet und die History anschließend mit einem Programm wie &lt;a href="https://github.com/opencultureconsulting/openrefine-batch" target="_blank" rel="noopener">openrefine-batch&lt;/a> auf die anderen Dateien angewendet.&lt;/p>
&lt;div class="mermaid">---
title: Batchverarbeitung mit OpenRefine
config:
look: handDrawn
theme: neutral
---
flowchart TD
openrefine[fas:fa-gem OpenRefine]
openrefine2[fas:fa-gem OpenRefine]
hist[fas:fa-file-code History]
subgraph input[fas:fa-sign-out-alt Input]
file1.xml[fas:fa-file-alt]
file2.xml[fas:fa-file-alt]
filex.xml[fas:fa-file-alt]
end
subgraph output[Output fas:fa-sign-in-alt]
file1.csv[fas:fa-file-excel]
file2.csv[fas:fa-file-excel]
filex.csv[fas:fa-file-excel]
end
filex.xml --> openrefine --> filex.csv
openrefine --> hist --> openrefine2
input --> openrefine2 --> output
&lt;/div>
&lt;p>Das funktioniert, solange die Dateien alle genau die gleichen Strukturen und Inhalte haben (&lt;a href="https://de.wikipedia.org/wiki/Testpfad#Happy_Path" target="_blank" rel="noopener">Happy Path&lt;/a>).
Problematisch wird es bei der Fehlerbehandlung oder Verzweigungen.
Wir haben in unserem Artikel
&lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-findbuch-daten-mit-openrefine-wiederverwenden/#operationen-%c3%bcbertragen">Findbuch Daten mit OpenRefine wiederverwenden&lt;/a>
über die Anwendung der History auf weitere Findbücher berichtet. Dort hatten wir unter anderem das Problem, dass die Kopfzeilen eine andere Struktur hatten.
Das lässt sich zwar in vielen Fällen mit &lt;a href="https://docs.openrefine.org/manual/grel#controls" target="_blank" rel="noopener">Kontrollstrukturen in OpenRefine&lt;/a> abbilden,
jedoch wird die Umsetzung schnell komplex.&lt;/p>
&lt;h2 id="big-data">Big Data&lt;/h2>
&lt;p>Mit Big Data meinen wir hier Datensätze, die auf Grund ihrer Größe nicht im Arbeitsspeicher (RAM) gehalten werden können.
Je nach Rechner, kann das schon bei Datensätzen mit einer Dateigröße unter einem Gigabyte der Fall sein.&lt;/p>
&lt;p>OpenRefine wurde so entwickelt, dass es ohne externe Datenbank funktioniert.
Stattdessen werden die Daten im Speicher vorgehalten (siehe &lt;a href="https://docs.openrefine.org/technical-reference/architecture#technology-stack" target="_blank" rel="noopener">Technology Stack&lt;/a>).
Dadurch können und sollen Datensätze ab einer bestimmten Größe mit OpenRefine nicht mehr verarbeitet werden. &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>In der Dokumentation zu OpenRefine steht, dass schon ab einer Dateigröße von mehr als 50 Megabyte,
die Standardeinstellungen von OpenRefine anzupassen sind (&lt;a href="https://docs.openrefine.org/manual/installing#increasing-memory-allocation" target="_blank" rel="noopener">Increasing memory allocation&lt;/a>).&lt;/p>
&lt;h2 id="xml-transformationen">XML Transformationen&lt;/h2>
&lt;p>OpenRefine &lt;strong>kann&lt;/strong> XML einlesen, verarbeiten und ausgeben,
es kann Daten als Tabelle darstellen und mit dem Konzept von &lt;a href="https://docs.openrefine.org/manual/exploring#rows-vs-records" target="_blank" rel="noopener">Records&lt;/a>
baumartige Strukturen zugänglich machen.&lt;/p>
&lt;p>Das Problem ist, dass XML noch &amp;ldquo;mehr&amp;rdquo; kann. In einer XML Datei können mehrere unterschiedliche Tabellen, Bäume und Netze gespeichert werden.
Diese lassen sich als Gesamtwerk in OpenRefine nicht sinnvoll darstellen und daher nicht komfortabel bearbeiten.&lt;/p>
&lt;p>Bei der Verarbeitung von XML mit OpenRefine kommt es also auf die Struktur der Daten in der XML Datei an.
Daher verwenden wir besonders bei XML Transformationsaufgaben häufig andere Technologien und Tools, die explizit für die Arbeit mit XML entwickelt wurden.&lt;/p>
&lt;h2 id="tabellenkalkulation">Tabellenkalkulation&lt;/h2>
&lt;p>Die folgende Tabelle ist in einer Software für Tabellenkalkulation wie MS Excel oder LibreOffice Calc in Sekunden erzeugt.
Als Bonus kann die Summenzeile als Formel definiert werden, die bei Änderungen automatisch die Werte aktualisiert.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:right">Jahr&lt;/th>
&lt;th style="text-align:right">Spalte 1&lt;/th>
&lt;th style="text-align:right">Spalte 2&lt;/th>
&lt;th style="text-align:right">Spalte 3&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:right">2019&lt;/td>
&lt;td style="text-align:right">1&lt;/td>
&lt;td style="text-align:right">4&lt;/td>
&lt;td style="text-align:right">7&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:right">2020&lt;/td>
&lt;td style="text-align:right">2&lt;/td>
&lt;td style="text-align:right">5&lt;/td>
&lt;td style="text-align:right">8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:right">2021&lt;/td>
&lt;td style="text-align:right">3&lt;/td>
&lt;td style="text-align:right">6&lt;/td>
&lt;td style="text-align:right">9&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:right">&lt;strong>Summe:&lt;/strong>&lt;/td>
&lt;td style="text-align:right">6&lt;/td>
&lt;td style="text-align:right">15&lt;/td>
&lt;td style="text-align:right">24&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>In OpenRefine ist das Hinzufügen einer Summenzeile im Vergleich ziemlich aufwendig, inklusive &lt;a href="https://docs.openrefine.org/manual/transposing#transpose-cells-across-columns-into-rows" target="_blank" rel="noopener">Transponieren der Tabelle&lt;/a>, da nur neue Spalten hinzugefügt werden können.
Eine automatische Aktualisierung der Summenzeile via Formel ist aktuell nicht möglich.&lt;/p>
&lt;h2 id="zeilenübergreifende-operationen">Zeilenübergreifende Operationen&lt;/h2>
&lt;p>OpenRefine arbeitet spaltenorientiert und tut sich schwer damit zeilenübergreifend zu agieren.
Ein Beispiel ist die Berechnung der kumulierten Werte wie in der folgenden Tabelle.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:right">Wert&lt;/th>
&lt;th style="text-align:right">Kumuliert&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:right">1&lt;/td>
&lt;td style="text-align:right">1&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:right">2&lt;/td>
&lt;td style="text-align:right">3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:right">3&lt;/td>
&lt;td style="text-align:right">6&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Das Problem ist, dass es in OpenRefine keine (direkte) Möglichkeit gibt, auf eine Spalte zuzugreifen.
Der Zugriff auf die aktuelle Zeile mit &lt;a href="https://docs.openrefine.org/manual/expressions#row" target="_blank" rel="noopener">row.cells&lt;/a> funktioniert problemlos!&lt;/p>
&lt;p>Hierfür gibt es zwei Workarounds:&lt;/p>
&lt;ol>
&lt;li>Verwendung der &lt;a href="https://github.com/OpenRefine/OpenRefine/wiki/Recipes#combining-datasets" target="_blank" rel="noopener">cross()&lt;/a> Funktion.&lt;/li>
&lt;li>Die Tabelle zu einem einzelnen Recordeintrag machen. Innerhalb eines &amp;ldquo;record&amp;rdquo; lässt sich via &lt;a href="https://docs.openrefine.org/manual/expressions#record" target="_blank" rel="noopener">row.record.cells&lt;/a> auf alle Spalten des &amp;ldquo;record&amp;rdquo; zugreifen.&lt;/li>
&lt;/ol>
&lt;p>Beide Varianten sind jedoch wenig intuitiv.&lt;/p>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>OpenRefine kann schnell zu &amp;ldquo;Maslows Hammer&amp;rdquo; werden.
Mit diesem Artikel wollen wir einige Probleme zeigen, die sich nach unserer Erfahrung
mit OpenRefine nicht oder im Vergleich mit anderen Werkzeugen nur sehr aufwendig lösen lassen.&lt;/p>
&lt;p>Nachtrag: der Artikel wurde auch auf der &lt;a href="https://groups.google.com/g/openrefine-dev/c/n1uzqIEj1pI" target="_blank" rel="noopener">OpenRefine Dev Mailingliste&lt;/a> kommentiert.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Dies ändert sich mit OpenRefine 4.0 und der geplanten Unterstützung von &lt;a href="https://spark.apache.org/" target="_blank" rel="noopener">Apache Spark&lt;/a>.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Erfahrungsbericht - Extraktion und Abgleich von Prokuratoren mit OpenRefine</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-09-erfahrungsbericht-extraktion-und-abgleich-von-prokuratoren-mit-openrefine/</link><pubDate>Tue, 21 Sep 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-09-erfahrungsbericht-extraktion-und-abgleich-von-prokuratoren-mit-openrefine/</guid><description>&lt;p>In diesem Beitrag beschreiben wir unsere Erfahrungen bei der Textextraktion, der Deduplikation und dem Abgleich mit der GND von Indizes aus zehn Findbüchern.&lt;/p>
&lt;p>Wir haben bisher in Tutorials gezeigt, wie wir einen
&lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-07-findbuch-index-mit-openrefine-aufbereiten/">Findbuch Index mit OpenRefine aufbereiten&lt;/a>
und wie wir diese &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-findbuch-daten-mit-openrefine-wiederverwenden/">Findbuch Daten mit OpenRefine wiederverwenden&lt;/a> können.&lt;/p>
&lt;p>Die dabei gesammelten Erfahrungen haben wir anschließend praktisch angewendet und
die Indizes der Prokuratoren aus den Findbüchern zu den Akten des Reichskammergerichts
in den Staatsarchiven Wertheim und Sigmaringen, sowie die Bände 1 - 8 im Hauptstaatsarchiv Stuttgart mit OpenRefine aufgearbeitet und mit der GND abgeglichen.&lt;/p>
&lt;h2 id="generelle-daten">Generelle Daten&lt;/h2>
&lt;p>&lt;strong>Text&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>10 Bände&lt;/li>
&lt;li>10.339 Textzeilen&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>CSV&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>2.912 Indexeinträge&lt;/li>
&lt;li>Davon 100 Aliase&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Deduplikation&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>472 Prokuratoren&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Abgleich mit GND&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>275 ohne GND Eintrag&lt;/li>
&lt;li>197 mit GND Eintrag (ca. 42 Prozent)&lt;/li>
&lt;/ul>
&lt;h2 id="anwenden-mehrerer-teilschritte">Anwenden mehrerer Teilschritte&lt;/h2>
&lt;div class="mermaid">---
title: Extraktionsprozess
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph books[fas:fa-book Bände]
band1[Band 46/1.txt]
bandn[Band 46/...]
band8[Band 46/8.txt]
band9[Band 46/57.txt]
band10[Band 57/Wertheim.txt]
end
subgraph csvs[fas:fa-file-csv CSV]
csv1[CSV Band 46/1.csv]
csvn[CSV Band 46/...]
csv8[CSV Band 46/8.csv]
csv9[CSV Band 57.csv]
csv10[CSV Band 57/Wertheim.csv]
end
db[fas:fa-file-csv Prokuratoren.csv]
gnd[fas:fa-database GND]
result[fas:fa-project-diagram Prokuratoren]
band1 --fas:fa-gem--> csv1 --fas:fa-magic--> db
bandn --fas:fa-gem--> csvn --fas:fa-magic--> db
band8 --fas:fa-gem--> csv8 --fas:fa-magic--> db
band9 --fas:fa-gem--> csv9 --fas:fa-magic--> db
band10 --fas:fa-gem--> csv10 --fas:fa-magic--> db
db &amp; gnd --fas:fa-gem--> result
&lt;/div>
&lt;p>Wir haben uns dazu entschieden, aus jeder Findbuch(text)datei mit OpenRefine eine CSV Datei mit den Informationen zu den Prokuratoren zu extrahieren und die zehn CSV Dateien anschließend zusammenzufassen.&lt;/p>
&lt;div class="mermaid">---
title: Extraktionsprozess
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph books[fas:fa-book Bände]
band1[Band 46/1.txt]
bandn[Band 46/...]
band8[Band 46/8.txt]
band9[Band 46/57.txt]
band10[Band 57/Wertheim.txt]
end
txt[fas:fa-file-txt Bände.txt]
db[fas:fa-file-csv Prokuratoren.csv]
gnd[fas:fa-database GND]
result[fas:fa-project-diagram Prokuratoren]
band1 &amp; bandn &amp; band9 &amp; band10 --fas:fa-magic--> txt --fas:fa-gem--> db
db &amp; gnd --fas:fa-gem--> result
&lt;/div>
&lt;p>Es wäre auch denkbar gewesen, die zehn Textdateien in einer Textdatei zusammenzufassen und daraus mit OpenRefine in einem Projekt eine CSV Datei zu erstellen.
Das Layout der einzelnen Findbücher unterschied sich jedoch so, dass wir uns anders entschieden.
Im Nachhinein wäre die Lösung mit einer Textdatei als Grundlage einfacher zu handhaben gewesen,
da wir bei unserem Vorgehen systematische Fehler in allen zehn Projekten nachzukorrigieren hatten.&lt;/p>
&lt;p>Um die einzelnen Operationen zwischen den Projekten besser austauschen zu können, haben wir die groben Schritte, wie zum Beispiel &amp;ldquo;zweispaltiges Layout in einspaltiges Layout umwandeln&amp;rdquo;, als Sammlung von mehreren Operationen in separaten &lt;code>.json&lt;/code> Dateien vorgehalten. Diese haben wir dann über die &amp;ldquo;History&amp;rdquo; Funktion von OpenRefine auf das aktuelle Projekt angewendet.
Darüber haben wir auch schon in &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-findbuch-daten-mit-openrefine-wiederverwenden/">Findbuch Daten mit OpenRefine wiederverwenden&lt;/a> geschrieben.&lt;/p>
&lt;p>So konnten wir iterativ mehrere Operationen gleichzeitig anwenden, das Ergebnis überprüfen
und bei Bedarf die Operationen wieder rückgängig machen, sie anpassen und neu anwenden.
Hierbei wäre es praktisch gewesen, wenn man sich einzelne Versionen in der History von OpenRefine hätte markieren können, um einfacher dorthin zurückspringen zu können.&lt;/p>
&lt;p>Nachdem wir die CSV Dateien zusammengefasst hatten und in einem neuen Projekt die Deduplikation mit OpenRefine begannen, stellten wir fest,
dass es trotz sorgfältiger manueller Prüfung nach wie vor Extraktionsfehler in den Einzelprojekten gab.&lt;/p>
&lt;p>Daher geben wir hier als Tipp weiter, die Projekte und Zwischenschritte automatisch zu validieren.
Dafür kann zum Beispiel in OpenRefine mit Textfiltern und regulären Ausdrücken überprüft werden,
ob es noch Zahlen oder andere unerwartete Zeichen in den Namen gibt, die Jahreszahlen und Verweise richtig formatiert sind, &amp;hellip;&lt;/p>
&lt;h2 id="deduplikation-mit-clusterverfahren">Deduplikation mit Clusterverfahren&lt;/h2>
&lt;p>Zur Deduplikation verwendeten wir die in &lt;a href="https://docs.openrefine.org/manual/cellediting#cluster-and-edit" target="_blank" rel="noopener">OpenRefine integrierten Cluster Verfahren&lt;/a>.
Da wir unterschiedliche Arten von Duplizierungen hatten, verwendeten wir mehrere der angebotenen Verfahren nacheinander, bis wir keine Cluster mehr automatisiert finden konnten.&lt;/p>
&lt;p>Probleme machten hierbei alternative Schreibweisen, die in unseren Findbüchern durch Klammerung kompakt zusammengefasst wurden.
Beispielsweise gab es für &lt;a href="http://d-nb.info/gnd/1019755717" target="_blank" rel="noopener">Re(c)hlinger, Johann&lt;/a>
in den Findbüchern auch die Schreibweise &lt;em>Rehlinger, Johann&lt;/em> und &lt;em>Re&lt;strong>c&lt;/strong>hlinger Johann&lt;/em>.&lt;/p>
&lt;p>Dies konnte durch die Clusterverfahren gut erkannt und zusammengeführt werden.&lt;/p>
&lt;p>Schwieriger wurde es bei der automatischen Zusammenführung von &lt;a href="http://d-nb.info/gnd/104263172" target="_blank" rel="noopener">Brandt, (Johann) Ferdinand Wilhelm von&lt;/a>,
mit &lt;em>Brandt, Ferdinand Wilhelm&lt;/em>, da hier der geklammerte Ausdruck relativ zum Namen recht lang ist.&lt;/p>
&lt;p>Wenn der Anteil des geklammerten Namens zu groß wird, dann finden die verfügbaren automatischen Clustermethoden keine (sinnvolle) Ähnlichkeit mehr.
Dies war beispielsweise bei &lt;a href="http://d-nb.info/gnd/1161753699" target="_blank" rel="noopener">Müller (Mulher), Christoph&lt;/a> und &lt;em>Müller, Christoph&lt;/em> der Fall.&lt;/p>
&lt;h2 id="abgleich-mit-der-gnd">Abgleich mit der GND&lt;/h2>
&lt;p>Der Abgleich der Daten mit der &lt;a href="https://lobid.org/gnd/reconcile" target="_blank" rel="noopener">GND via lobid&lt;/a> nahm die meiste Zeit in Anspruch.
Um die Sortierung der Suchtreffer zu verbessern, haben wir eine zusätzliche Spalte &amp;ldquo;Beruf&amp;rdquo; mit dem Wert &amp;ldquo;Jurist&amp;rdquo; eingefügt und mit der Eigenschaft &lt;a href="https://d-nb.info/standards/elementset/gnd#professionOrOccupation" target="_blank" rel="noopener">professionOrOccupation&lt;/a> abgeglichen.&lt;/p>
&lt;p>Probleme gab es mit den schon erwähnten Namen mit Alternativen in Klammern,
da &lt;a href="https://github.com/hbz/lobid-gnd/issues/287" target="_blank" rel="noopener">geklammerte Ausdrücke Probleme bei der Verarbeitung durch die lobid API&lt;/a> haben.&lt;/p>
&lt;p>Ein wesentlicher Aufwandsfaktor war die fehlende Möglichkeit zur Einschränkung der Lebens- und Wirkungsdaten.
Hier hatte lobid schon auf unseren letzten Blogpost reagiert und das Feature im März 2022 umgesetzt. &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="fazit">Fazit&lt;/h2>
&lt;p>Die Umwandlung der 10.339 Textzeilen zu 472 Prokuratoren ließ sich mit OpenRefine relativ problemlos bewältigen.
Durch den Abgleich der Prokuratoren über mehrere Findbücher konnten einige OCR-Fehler korrigiert oder alternative Schreibweisen aufgelöst werden.
Die anschließende Zuordnung zu GND-Nummern war hingegen langwierig.&lt;/p>
&lt;p>Mit 472 Juristen, die alle aus der gleichen Berufsgruppe kommen und auch an anderen Orten schriftliche Spuren (Doktorarbeiten, &amp;hellip;) hinterlassen haben,
war dieser Datensatz vergleichsweise einfach aufzuarbeiten.&lt;/p>
&lt;p>In den Findbüchern zu den Akten des Reichskammergerichts gibt es noch einen gemischten Orts- und Personenindex.
Dieser ist etwa 50mal so groß, wie der Index der Prokuratoren,
enthält unterschiedlichste Typen von Einträgen (Adel, Berufe, Familien, Orte, &amp;hellip;),
und enthält vermutlich deutlich weniger Treffer in der GND. &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Hier werden wir gegebenenfalls zusätzliche externe Werkzeuge bemühen,
wie wir es für den Artikel &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-ner-mit-openrefine-und-spacy/">Named Entity Recognition mit OpenRefine und spaCy&lt;/a>
getestet haben.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;strong>Update April 2022&lt;/strong>: Durch ein Update in dem lobid GND API für OpenRefine kann nun eine zeitliche Einschränkung beim Reconciliation vorgenommen werden. Details dazu finden sich unter &lt;a href="https://github.com/hbz/lobid-gnd/issues/304" target="_blank" rel="noopener">Using range query parameter via OpenRefine Reconciliation&lt;/a> auf GitHub und unter &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/15-erweiterter-gnd-abgleich-mit-lobid/">Erweiterter GND Abgleich mit lobid&lt;/a> auf unserem Blog.&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 kostet mehr Aufwand zu überprüfen, wenn etwas nicht da ist, als wenn es sofort ein eindeutiges Ergebnis gibt.&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>Fünf Dinge, die wir an OpenRefine mögen</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-09-fuenf-dinge-die-wir-an-openrefine-moegen/</link><pubDate>Tue, 14 Sep 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-09-fuenf-dinge-die-wir-an-openrefine-moegen/</guid><description>&lt;p>Wir haben uns in den letzten Wochen im Blog ausgiebig mit OpenRefine beschäftigt und wollen einmal festhalten, was uns daran so gefällt.&lt;/p>
&lt;div class="mermaid">---
title: OpenRefine Setup
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph server[fas:fa-server Server]
server_or[fas:fa-gem OpenRefine]
server_api[fas:fa-code Other API]
end
subgraph laptop[fas:fa-laptop Laptop]
browser[far:fa-window-maximize Browser]
laptop_or[fas:fa-gem OpenRefine]
laptop_api[fas:fa-code Other API]
laptop_python[fab:fa-python Python]
end
browser -.-> laptop_or &amp; server_or
laptop_python -.-> laptop_or &amp; server_or
laptop_or -.-> laptop_api &amp; server_api
server_or -.-> server_api
&lt;/div>
&lt;h2 id="architektur">Architektur&lt;/h2>
&lt;p>Zuerst mag es seltsam erscheinen, dass sich beim Starten von OpenRefine die Bedienoberfläche im Webbrowser öffnet.
Der Grund dafür ist, dass bei OpenRefine die Bedienoberfläche von der eigentlichen Anwendung getrennt ist (&lt;a href="https://docs.openrefine.org/technical-reference/architecture" target="_blank" rel="noopener">Architektur von OpenRefine&lt;/a>).
Die Kommunikation zwischen Bedienoberfläche und Programm erfolgt via einer Programmierschnittstelle (&lt;a href="https://docs.openrefine.org/technical-reference/openrefine-api" target="_blank" rel="noopener">API von OpenRefine&lt;/a>).&lt;/p>
&lt;p>Durch die Benutzung über den Webbrowser, kann OpenRefine sowohl auf dem eigenen PC oder Laptop betrieben, als auch auf einem Server zur Verfügung gestellt werden.
Über die OpenRefine API lässt sich das Programm programmatisch steuern.
Es gibt mehrere &lt;a href="https://docs.openrefine.org/technical-reference/openrefine-api#third-party-software-libraries" target="_blank" rel="noopener">Softwarebibliotheken für unterschiedliche Programmiersprachen&lt;/a>, die die Verwendung der OpenRefine API vereinfachen.
In dem obigen Diagramm haben wir das exemplarisch mit &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-weshalb-wir-python-nutzen/">Python&lt;/a> dargestellt.&lt;/p>
&lt;h2 id="scripting">Scripting&lt;/h2>
&lt;p>Neben den vorgefertigten Funktionen bietet OpenRefine mit der JavaScript ähnlichen
&lt;a href="https://docs.openrefine.org/manual/grel" target="_blank" rel="noopener">General Refine Expression Language (GREL)&lt;/a>
ein passendes Werkzeug um Daten zu transformieren.&lt;/p>
&lt;p>Mit der Einbindung der deutlich mächtigeren Programmiersprachen &lt;a href="https://clojure.org/" target="_blank" rel="noopener">Clojure&lt;/a> und &lt;a href="https://www.jython.org/" target="_blank" rel="noopener">Jython&lt;/a>
fühlen sich auch Entwickler wohl und können damit komplexe Probleme lösen.&lt;/p>
&lt;h2 id="schnittstellen">Schnittstellen&lt;/h2>
&lt;p>OpenRefine ist explizit offen entwickelt und es lassen sich auf unterschiedlichesten Wegen zig Formate &lt;a href="https://docs.openrefine.org/manual/starting#create-a-project-by-importing-data" target="_blank" rel="noopener">einlesen&lt;/a> und &lt;a href="https://docs.openrefine.org/manual/exporting" target="_blank" rel="noopener">exportieren&lt;/a>.&lt;/p>
&lt;p>Darüber hinaus lassen sich mit OpenRefine auch Webdienste beziehungsweise andere APIs verarbeiten.
Wir haben bereits gezeigt,
wie wir &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-07-findbuch-index-mit-openrefine-aufbereiten/">mit der Reconciliation API Daten mit dem von lobid bereitgestellten GND Service abgleichen&lt;/a>,
wie wir die &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-findbuch-daten-mit-openrefine-wiederverwenden/">Reconciliation API mit lokalen CSV Dateien verwenden&lt;/a>,
und wie wir &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-08-ner-mit-openrefine-und-spacy/">mit FastAPI beliebige lokale Services selbst erstellen und mit OpenRefine nutzen&lt;/a>.&lt;/p>
&lt;h2 id="history">History&lt;/h2>
&lt;p>Die &lt;a href="https://docs.openrefine.org/manual/running#history-undoredo" target="_blank" rel="noopener">History&lt;/a> ist ein prominentes Element im der Bedienoberfläche.
Mit ihr lassen sich Operationen in einem Projekt nachvollziehen und auf andere Projekte übertragen.&lt;/p>
&lt;p>Wir verwenden die Funktion häufig im Kontext eines iterativen Vorgehens.
Wir springen zu einem früheren Bearbeitungszustand zurück,
korrigieren einen Bearbeitungsschritt und wenden anschließend die Folgeschritte automatisiert erneut an.&lt;/p>
&lt;div class="alert alert-warning">
&lt;div>
Das funktioniert nicht bei der manuellen Bearbeitungen von Zellinhalten!
&lt;/div>
&lt;/div>
&lt;h2 id="filter">Filter&lt;/h2>
&lt;p>Bisher haben wir die Filterfunktionen (&lt;a href="https://docs.openrefine.org/manual/facets" target="_blank" rel="noopener">Facets&lt;/a>) nur eingeschränkt genutzt.
Die Möglichkeit unterschiedliche Filter miteinander zu kombinieren und sie zu invertieren und anschließend gezielt Operationen auf die Filterergebnisse anzuwenden ist jedoch ziemlich mächtig.
Beim Reconciling von Daten mit der GND konnten wir dadurch ziemlich schnell relevante Treffer identifizieren und uns lediglich mit diesen beschäftigen.&lt;/p>
&lt;h2 id="weitere-quellen">Weitere Quellen&lt;/h2>
&lt;p>Bei der Suche nach Lösungen sind wir über einige Anleitungen gestolpert, die wir an dieser Stelle gerne weiterempfehlen möchten.&lt;/p>
&lt;p>Das Projekt &lt;a href="https://histhub.ch" target="_blank" rel="noopener">histHub&lt;/a> in der Schweiz beschäftigte sich schon ausführlich mit OpenRefine und hat eine komplette &lt;a href="https://histhub.ch/histhub-lab-tutorials-zu-openrefine/" target="_blank" rel="noopener">deutschsprachige Tutorial-Serie zu OpenRefine&lt;/a> geschrieben. Weitere Artikel finden sich auf der Projektseite unter dem &lt;a href="https://histhub.ch/tag/openrefine" target="_blank" rel="noopener">Tag OpenRefine&lt;/a>.&lt;/p>
&lt;p>Das &lt;a href="https://programminghistorian.org/" target="_blank" rel="noopener">Programming Historian&lt;/a> Projekt hat zwei mehrsprachige Tutorials zum
&lt;a href="https://programminghistorian.org/en/lessons/cleaning-data-with-openrefine" target="_blank" rel="noopener">Säubern von Daten mit OpenRefine&lt;/a>
und zum &lt;a href="https://programminghistorian.org/en/lessons/fetch-and-parse-data-with-openrefine" target="_blank" rel="noopener">Aufbereiten von Daten aus dem Web mit OpenRefine&lt;/a>
im Angebot.&lt;/p>
&lt;p>Eine ausführliche Liste von weiteren Quellen gibt es im &lt;a href="https://github.com/OpenRefine/OpenRefine/wiki/External-Resources" target="_blank" rel="noopener">OpenRefine Wiki&lt;/a>.&lt;/p></description></item><item><title>80. Südwestdeutscher Archivtag 2021</title><link>https://fdmlab.landesarchiv-bw.de/event/2021-werkzeuge-zur-texterkennung/</link><pubDate>Fri, 18 Jun 2021 11:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2021-werkzeuge-zur-texterkennung/</guid><description>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/PaEjLgqzmo8" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div></description></item><item><title>Werkzeuge zur Texterkennung: ein Blick in die digitale Werkstatt des FDMLab am Landesarchiv Baden-Württemberg</title><link>https://fdmlab.landesarchiv-bw.de/publication/2021-suedwestdeutscher-archivtag/</link><pubDate>Fri, 18 Jun 2021 11:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/publication/2021-suedwestdeutscher-archivtag/</guid><description/></item><item><title>2. Workshop des OCR-BW-Projektes 2021</title><link>https://fdmlab.landesarchiv-bw.de/event/2021-ocr-im-archiv/</link><pubDate>Wed, 09 Jun 2021 11:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2021-ocr-im-archiv/</guid><description/></item><item><title>Der FDMLab Blog - Begrüßung</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-06-der-fdmlab-blog/</link><pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-06-der-fdmlab-blog/</guid><description>&lt;p>Das &lt;strong>FDMLab@LABW&lt;/strong> ist das &lt;strong>F&lt;/strong>orschungs&lt;strong>d&lt;/strong>aten&lt;strong>m&lt;/strong>anagement &lt;strong>Lab&lt;/strong>or am &lt;strong>La&lt;/strong>ndesarchiv &lt;strong>B&lt;/strong>aden &lt;strong>W&lt;/strong>ürttemberg. Hier beschäftigen wir uns -zusammengefasst- mit dem Thema Digitalisierung und Aufbereitung von Archivgut und Findmitteln.&lt;/p>
&lt;p>Daher sind unsere fünf Hauptthemen:&lt;/p>
&lt;ul>
&lt;li>
&lt;i class="fas fa-font pr-1 fa-fw">&lt;/i>/
&lt;i class="fas fa-signature pr-1 fa-fw">&lt;/i> Erkennung von Druckschriften (&lt;a href="https://de.wikipedia.org/wiki/Texterkennung" target="_blank" rel="noopener">OCR&lt;/a>) und Handschriften (&lt;a href="https://en.wikipedia.org/wiki/Handwriting_recognition" target="_blank" rel="noopener">HTR&lt;/a>)&lt;/li>
&lt;li>
&lt;i class="fas fa-brain pr-1 fa-fw">&lt;/i> Objekterkennung auf Bildern (z.B. &lt;a href="https://pjreddie.com/darknet/yolo" target="_blank" rel="noopener">YOLO&lt;/a>)&lt;/li>
&lt;li>
&lt;i class="fas fa-database pr-1 fa-fw">&lt;/i> Normdaten (z.B. &lt;a href="https://www.dnb.de/DE/Professionell/Standardisierung/GND/gnd_node.html" target="_blank" rel="noopener">Gemeinsame Normdatei&lt;/a>, &lt;a href="https://www.w3.org/standards/semanticweb/" target="_blank" rel="noopener">Linked Data&lt;/a>)&lt;/li>
&lt;li>
&lt;i class="fas fa-user-edit pr-1 fa-fw">&lt;/i> &lt;a href="https://de.wikipedia.org/wiki/User-generated_content" target="_blank" rel="noopener">User Generated Content (UGC)&lt;/a>&lt;/li>
&lt;li>
&lt;i class="fas fa-handshake pr-1 fa-fw">&lt;/i> &lt;a href="https://www.go-fair.org/fair-principles/" target="_blank" rel="noopener">FAIRe Daten&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Im FDMLab evaluieren, testen und nutzen wir eine Vielzahl von Technologien und Strategien. Auch um selbst einen Überblick über unsere Ergebnisse zu behalten, haben wir angefangen diese auszugsweise in Artikel aufzubereiten und als Blog zur Verfügung zu stellen.&lt;/p>
&lt;p>Wir schreiben über die von uns eingesetzten Technologien, über unsere Vorgehensweise, was sich bewährt hat und auch was nicht erfolgreich war. Daher wird es hier eine Mischung aus teilweise sehr technisch und archivfachlich orientierten Artikeln geben.&lt;/p></description></item></channel></rss>