Open Source · MIT

Kin

Dublettenzusammenführung: findet dieselbe Person in unterschiedlicher Schreibweise und zeigt, woraus die Bewertung besteht.

v1.0.0 Die Rechnung hinter der Bewertung
FastAPIPython 3.13PostgreSQL 18psycopg 3Jinja2Tailwind 4
Kin

Eine Person, drei Datensätze

In jeder Kundendatenbank liegt dieselbe Person irgendwann dreimal: einmal aus dem CRM-Export, einmal aus einem Webformular, einmal aus dem System, das vor zwei Jahren abgelöst wurde. Im Nachnamen steckt ein Tippfehler, die Telefonnummer ist anders geschrieben, beim Geburtsdatum sind Tag und Monat vertauscht, und das alte System schrieb alles lateinisch.

Werkzeuge zur Dublettensuche antworten mit einer Zahl und überlassen einem den Rest. Kin zeigt stattdessen die Rechnung: welche Felder übereinstimmten, wie viel jedes beitrug, wo die zwei Schwellen liegen und — anhand bereits getroffener Entscheidungen — wie viele Paare die aktuellen Schwellen falsch einsortieren würden.

Was drinsteckt

Blocking statt roher Gewalt

Jeder Datensatz bekommt mehrere grobe Schlüssel — Namensanfang mit Geburtsjahr, mit Vornamen, mit Stadt, die letzten sieben Ziffern der Telefonnummer, der lokale Teil der E-Mail. In der Demo werden daraus statt 2,1 Mio. möglicher Paare 5 934 Kandidaten, ohne eine einzige echte Dublette zu verlieren.

Metriken von Hand

Jaro-Winkler mit Präfixbonus, begrenztes Levenshtein, Token-Überschneidung für Adressen und ein Datumsvergleich, der die zwei häufigsten Eingabefehler kennt: vertauschte Tag/Monat und ein Zifferndreher im Jahr.

Transliteration eingebaut

«Соловьёва» trifft «Solovieva», «Королёв» trifft «Korolev». Namen werden im Original und transliteriert verglichen, gewertet wird das bessere Ergebnis — das alte lateinische System ist keine eigene Datenbank mehr.

Zwei Schwellen mit Vorschau

Die Regler liegen unter dem Histogramm und teilen dessen Skala. Beim Verschieben zählt der Bildschirm sofort neu, was automatisch zusammengeführt, was einem Menschen vorgelegt und was verworfen würde. Gespeichert wird erst danach.

Die Schlange ist die Referenz

Jede menschliche Entscheidung wird mit Autor gespeichert, und der Schwellenbildschirm meldet damit falsche und verpasste Zusammenführungen. Der Mensch schlägt die Maschine: «nicht zusammenführen» hält ein Paar bei jeder Bewertung getrennt.

Cluster mit schwächster Verbindung

Akzeptierte Paare werden per Union-Find verbunden, und jeder Cluster nennt seine schwächste innere Verbindung. Ketten, in denen A B ähnelt, B C ähnelt und A mit C nichts zu tun hat, stehen oben — die Hauptgefahr solcher Systeme.

Screenshots

Schwellen: das Histogramm und zwei bewegliche Linien
Schwellen: das Histogramm und zwei bewegliche Linien
Prüfung: Felder nebeneinander und ihr jeweiliger Beitrag
Prüfung: Felder nebeneinander und ihr jeweiliger Beitrag
Vorschau: was passiert, wenn die Schwellen wandern
Vorschau: was passiert, wenn die Schwellen wandern
Cluster: die verdächtigsten zuerst
Cluster: die verdächtigsten zuerst
Ein Cluster: seine Datensätze und der goldene
Ein Cluster: seine Datensätze und der goldene
Dunkles Thema
Dunkles Thema

Installation

git clone https://github.com/dripips/kin.git cd kin docker compose up --build

Haben Sie ein Projekt oder eine Idee?

Schreiben Sie mir, dann besprechen wir die Aufgabe.