Skip to content

Historische Ortsnamen in Verlustlisten des 1. Weltkrieges vereinheitlichen

License

Notifications You must be signed in to change notification settings

dominikmn/compgen-ii-cgv

 
 

Repository files navigation

compgen-ii-cgv

forthebadge forthebadge

Ziel des Projektes ist es, historische Ortsnamen in den Verlustlisten des 1. Weltkrieges zu vereinheitlichen.

Das Python package compgen2 bietet ein Interface, um Namen und Listen von Namen gegen das GOV abzugleichen und mögliche Matches zu identifizieren. Hierbei wird versucht, häufig vorkommende Fehler wie falsche Schreibweisen oder häufige Verhörer zu korrigieren und so ein Match zu ermöglichen.

Setup

Das Python package kann mit dem folgenden Befehl installiert werden:

$ pip install -r requirements.txt

Danach steht das compgen2 package bereit zur Nutzung.

Daten

Die notwendigen Daten können über den folgenden Link aus der Nextcloud geladen werden.

Der Ordner final_data enthält die entsprechenden Datenbankauszüge sowie die Verlustliste und die Abkürzungslisten. Den gesamten Ordner als Archiv herunterladen und lokal entpacken. Der Pfad zu diesem Ordner wird als data_root für die verschiedenen Anwendungen gebraucht.

Die csv-Dateien gov_a_{}.csv können alternativ per aktuellem Auszug von der Datenbank erstellt werden.

Quickstart

compgen2 bietet für Anwender ein Kommandozeilen-Interface sowie Klassen, die im Code importiert werden können.

compgen2 über die Kommandozeile

compgen2 stellt den gleichnamigen Befehl compgen2 für die Kommandozeile bereit.

Der Aufruf

$ compgen2 -h

zeigt das Interface.

Grundsätzlich werden zwei Modi unterstützt:

  • -i: interaktiv. In diesem Modus wird das Gov nur am Anfang geladen und der Benutzer kann über die Kommandozeile jeweils einen Ortsnamen eingeben und bekommt dann mögliche Treffer angezeigt.
  • -f: Dateiliste. In diesem Modus liest das Programm alle Namen aus einer TXT Datei ein und speichert das Ergebnis als JSON in eine Datei Namens compgen2.json.

Für beide Modi ist die Angabe eines Ordners mit der Gov-Datenbank notwendig. Dies geschieht als Pfadangabe über den Parameter -d.

compgen2 package

Das Python package compgen2 kann mittels import compgen2 Anweisung geladen werden.

Es stehen im Wesentlichen die Klassen Gov, Matcher und Preprocessing bereit, sowie einige Hilfsmethoden.

Die genaue Verwendung dieser Klassen zeigen die showcase notebooks.

Die grundlegende Verwendung des Matching-Algorithmus sieht wie folgt aus:

from compgen2 import Gov, Matcher

data_root = "data"
gov = Gov(data_root)
matcher = Matcher(gov)

matcher.get_match_for_locations(["location1", "location2"])

matcher.results

Matching Algorithmus

Erkenntnisse aus dem Projekt

Alle während des Projektes gesammelten Erkenntnisse wurden im GitHub Wiki gesammelt.

Unter anderem findet sich dort auch eine Sammlung von Lücken, Unregelmäßigkeiten und Fehlern im GOV

Notebooks

  • performance_comparison: Enthält die Evaluierung unseres Ansatzes auf 3 verschiedenen Test Sets und berechnet die Metriken
  • showcase_levenshtein: Enthält eine Demo für die Anwendung der Levenshtein-Distanz zum Auffinden von Kandidaten für ein Wort aus einer Liste ähnlicher Wörter.
  • showcase_matcher: Enthält eine Demo für die Anwendung des Matching-Algorithmus zum Auffinden von möglichen Treffern für einen Ortsnamen im GOV.
  • showcase_preprocessing: Enthält eine Demo für die Anwendung des Preprocessings zum Verbessern der Auffindbarkeit von Ortsnamen im GOV.
  • showcase_gov: Enthält eine Sammlung von typischen Aufrufen mit der Gov Klasse
  • showcase_koelner_phonetik: Enthält eine Einführung in die Kölner Phonetik mitsamt Beispielen ihrer Schwächen und Stärken
  • showcase_synthetic: Enthält Beispiel-Anwendungen der Synthetic Klasse

Für Entwickler

Aktueller Auszug GOV, SQL Dateien

Für einen aktuellen Abzug aus dem GOV und einer Erklärung der SQL Dateien siehe hier.

Arbeiten mit Notebooks dank jupytext

Wir verwenden jupytext, um Notebooks in .ipynb und .py Format zu synchronisieren.

License information

Code

The code is licensed by CorrelAid e.V. under a MIT License. Please see LICENSE.md for more detailed information.

About

Historische Ortsnamen in Verlustlisten des 1. Weltkrieges vereinheitlichen

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.5%
  • Python 0.5%