Skip to content
Snippets Groups Projects
readme

Die folgende Anleitung soll eine Benutzung des Python-Skripts und eine Interpretation der Ergebnisse ermöglichen.

Bibliotheken:
Damit das Programm ausgeführt werden kann sind ggf. noch weitere Bibliotheken lokal zu installieren. In den ersten Zeilen des Skripts sind die benutzten Bibliotheken angegeben.
Eingangsdateien mit Berufsangaben:
Das Programm ist darauf ausgelegt, zwei verschiedene Arten von Eingangsdateien zu bearbeiten: (1.) CSV-Dateien und (2.) GEDCOM-Dateien. Je nachdem welche Art vorliegt ist im Programm der Parameter „typeOfData“ im Programmcode auf „csv“ oder „ged“ zu setzen. 
Liegen die Berufsangaben in einer CSV-Datei vor, so ist diese so zu strukturieren, dass sie eine Spalte enthält, in dessen erster Zeile die Überschrift „occupation“ steht. In den folgenden Zeilen folgen jeweils die zu lemmatisierten Berufsangaben. Am Ablageort des Skripts muss auch Ordner „data“ existieren, in dem die Datei ablegt ist. Sie trägt die Bezeichnung „occupations.csv“.
Falls die Berufsangaben in GEDCOM-Dateien vorliegen, so sind die GEDCOM-Dateien mit fortlaufenden Ziffern zu benennen („1.ged“, „2.ged“ etc.). Ziffern dürfen nicht doppelt genutzt werden. Auch diese Dateien werden im Unterordner „data“ platziert.

Variantenliste:
Wie die Eingangsdatei mit den neuen Berufsangaben wird auch die CSV-Datei mit den bestehenden Varianten dem Unterordner „data“ hinzugefügt.
Die Bezeichnung der Datei muss "variants.csv" sein. Sie enthält drei Spalten, die die Überschriften „variant“ und „OhdAB_01“ tragen. In der ersten Spalte steht die textuelle Bezeichnung und in der zweiten der zugeordnete OhdAb-Cod. Falls ein anderes Klassifizierungssysteme angewendet wird, kann in der dritten Spalte auch jede beliebige Codierung genutzt werden – die Überschrift sollte dennoch nicht verändert werden.

Parallelisierung:
Die Verarbeitung von GEDCOM-Dateien läuft parallel ab, um die Geschwindigkeit zu erhöhen. Hierzu kann festgelegt werden, wie viele Rechnerkerne genutzt werden. Dazu ist der Parameter der Funktion „Pool()“ jeweils zu verändern.  Bleibt er leer, so werden alle verfügbare Rechenkerne genutzt. Im Skript ist die Anzahl der Kerne standardmäßig auf einen Kern festgelegt.

Halbierung der Varianten:
Um die Halbierung der Varianten zu erreichen ist die Variable halving auf "yes" zu setzen. Diese Möglichkeit dient vorwiegend zu Testzwecken.
Weitere Iterationen mit den neuen Varianten:
Unter Hinzuziehung der neu lemmatisierten Berufsvarianten ist es wahlweise möglich weitere Berufsvarianten zu bearbeiten, zu der es in der ursprünglichen Variantenliste keinen Treffer gibt. Im Standard sind drei Iterationen angelegt. Sollen diese nicht stattfinden, sind die Code-Bestandsteile hinter dem Kommentar „second processing“ bzw. „third processing“ auszuklammern.

Ausgabedateien:
Als Ergebnis wird die Datei „occuResult.csv“ erzeugt und während des Programmdurchlaufs fortlaufend aufgebaut. Die jeweiligen Spalten sind mit Tabstopps voneinander separiert. Diese enthält die Bezeichnung der überprüften Variante („variant“), bei GEDCOM-Dateien den Namen der Datei, in der diese vorkam („source“), die Anzahl der Häufigkeit dieser Variante in dieser Quelle („number“). In den weiteren Spalten finden sich für die einzelnen Berufsangaben (occupation1-occupation5) in der Bezeichnung verschiedene Informationen. Es werden maximal fünf einzelne Berufe identifiziert (z. B. aus der Angabe „Häusler und Fleischer und Gastwirt und Richter und Schenker“). Die Informationen sind wie folgend gegliedert:

Schema: Bezeichnung - Erläuterung
occupation - bereinigte Berufsbezeichnung
KldB 2010 - OhdAB-Code, falls eine Zuordnung geschehen kann
best fit lemma - Bezeichnung der am besten passenden Variante
row of best fit lemma - Zeile der am besten passenden Variante in der Variantenliste
titel - aus der ursprünglichen Berufsangabe rausgefilterte Titularangabe
role - aus der ursprünglichen Berufsangabe rausgefilterte Rollenangabe
year - aus der ursprünglichen Berufsangabe rausgefilterte Jahresangabe
url - aus der ursprünglichen Berufsangabe rausgefilterte Angabe einer URL
location - aus der ursprünglichen Berufsangabe rausgefilterte Angabe eines Ortes
further info - aus der ursprünglichen Berufsangabe rausgefilterten sonstigen Angaben (waren in Klammern vorhanden)
selection info - Information, ob die Berufsangabe einer bestehenden Variante zugeordnet werden konnte („found direct“, „not found“, „found after levenshtein“, „no occupational designation“)
absolute distance - absolute Levenshtein-Distanz zur am besten passenden Variante
relative distance - relative Levenshtein-Distanz zur am besten passenden Variante 

Zudem wird im Unterordner „data“ eine Datei „newVariants.csv“ erzeugt, die die Bezeichnung der neuen Variante („variant“), die Bezeichnung der bereits bestehenden Variante („lemma“) sowie den Code der OhdAB („OhdAB_01“) enthält.


Jan Michael Goldberg, 22. Februar 2022