Hallo zusammen,
ich stehe gerade vor der Herausforderung, Namen automatisiert auf Veränderung abgleichen zu müssen. Hintergrund ist, dass wir in einer Software einen Namen bereits hinterlegt haben und diesen mit einem neuen Wert abgleichen. Die Namen sollen, um fortfahren zu können, einander entsprechen. Kleiner Änderungen sollen aber erlaubt sein. Fokus liegt hier auf Buchstabendrehen, ausschreiben von Umlauten, Accents und andere Sprachspezifische Buchstaben. Einige Beispiele:
Müller == Müller
Mueller == Müller
Maier == Meier
Åkesson == Akesson
Schmitt =! Müller
Ling != Wong
Lucius =! Lukas
…
Im ersten Moment tendieren wir in Richtung, die Distanz mit Damerau-Levenshtein oder einem ähnlichen Vergleich zu ermitteln. Diese Distanz müsste man dann noch prozentual auf die Länge des Wortes umrechnen, um die Änderungen bei sehr langen oder sehr kurzen Namen ins Verhältnis zu setzen. Das würde aber dann auch bedeuten, dass ein Herr Wu, der eigentlich Wù heisst, 50% seines Namens geändert hätte…
Ich würde mal vermuten, dass wir nicht so einfach davon kommen sondern uns eine Lösung basteln müssen, die wir mit Buchstaben und Sequenzen füttern die wir für ähnlich halten, (also Å == A, ä == a == ae). Hat jemand schon mal sowas gemacht, oder kennt vielleicht eine elegante Lösung?