Die Anwendung wurde mit
Django entwickelt und stellt
einen einfachen Frontend für die verschiedenen Operationen auf
Kontakten zur Verfügung.
Funktionsumfang
Erstellen
Eine Datei im Excel oder CSV Format wird hochgeladen und ein neuer
Datensatz erstellt. Basierend auf den Spaltennamen wird automatisch
eine Zuordnung der Spalten generiert, die noch manuell überprüft
werden muss.
Spaltenzuweisung
Die automatisch erstellten Spaltenzuweisungen müssen überprüft,
angepasst und ergänzt werden, danach ist der Import freigeschaltet.
Import
Jede Zeile im hochgeladenen Datensatz wird, basierend auf der
Spaltenzuweisung als neuer Kontakt gespeichert.
Aktualisieren
Dies ist nur möglich, wenn im Datensatz eine externe ID vorhanden
ist. Dabei werden Kontakte im hochgeladenen Datensatz mit bereits
existierender ID nicht neu erstellt, sondern aktualisiert. Kontakte
mit einer neuen externen ID werden neu erstellt und Kontakte, deren
externe ID in der hochgeladenen Datei nicht mehr vorkommen, werden
gelöscht.
Überschreiben
Diese Funktion löscht alle Kontakte im Datensatz und ersetzt diese
mit den neu importierten Kontakten.
Handynummern überprüfen
Wendet die Handynummerüberprüfung auf die Kontakte im Datensatz an
und speichert die Resultate mit Änderunggeschichte ab.
E-Mail Adressen überprüfen
Überprüft die E-Mail-Adressen auf Gültigkeit und speichert die
gefunden Fehler als ValidationError. Ausserdem werden die
konfigurierten Mappings angewandt um häufige Fehler direkt
umzuwandeln.
Vor- und Nachnamen überprüfen
Führt eine Plausibiliserung der Vor- und Nachnamen durch und gibt
einen Hinweis darauf, wann diese vertauscht sein könnten.
Adressen zuweisen
Wendet den Algorithmus für die Suche nach einer gültigen Adresse für
jeden Kontakt mit einer hinterlegten Adresse an. Wird eine Adresse
gefunden und besteht ein Unterschied zur für den Kontakt
hinterlegten, wird diese korrigiert. Dabei wird der Verlauf
festgehalten. Der Benutzer kann Auswählen, ob nach der angegebenen
PLZ gefiltert werden soll oder nicht (default: mit Filter).
Index erstellen
Berechnet für jeden Kontakt ein Encoding mit dem ausgewählten Modell
und speichert dieses in einem hnswlib-Index ab. Das Modell, das zur
Erstellung der Encodings verwendet wird, kann in den
Servereinstellungen konfiguriert werden. Zum momentanen Zeitpunkt
wird das paraphrase-MiniLM-L3-v2 nach $10$ Trainings
verwendet.
Duplikate finden
Führt den in dieser Arbeit entwickelten Algorithmus auf den
Kontaktdaten aus und speichert die Ergebnisse als Cluster und
ClusterEntries. Der Wert von $k$ ist fix auf $10$ gesetzt, der Wert
von $p$ kann vom Benutzer eingestellt werden, der voreingestellte
Wert ist ebenfalls in den Einstellungen des Servers konfigurierbar
und im Moment auf $3$ gesetzt.
Export
Ermöglicht den Export, dabei besteht die Möglichkeit die Felder für
den Export auszuwählen, ausserdem können auch die gefundenen Fehler
und durchgeführten Änderungen exportiert werden.