Fuzzy-Suchalgorithmus (ungefährer String-Matching-Algorithmus)

Ich möchte einen Fuzzy-Suchalgorithmus erstellen. Nach stundenlangen Recherchen habe ich jedoch große Probleme.

ch möchte einen Algorithmus erstellen, der eine Fuzzy-Suche in einer Liste von Schulnamen durchführ

Das habe ich mir bisher angeschaut:

Die meisten meiner Forschungen zeigen auf "string metrics "bei Google und Stackoverflow, z. B .:

Levenshtein Entfernung Damerau-Levenshtein Abstand Needleman – Wunsch Algorithmus

Allerdings gibt dies nur eine Punktzahl, wieähnlic 2 Strings sind. Nur so kann ich mir vorstellen, es als @ zu implementiereuchalgorithm führt eine lineare Suche durch, führt den String-Metrik-Algorithmus für jeden String aus und gibt die Strings mit Punktzahlen über einem bestimmten Schwellenwert zurück. (Ursprünglich hatte ich meine Saiten in einem Probebaum gespeichert, aber das hilft mir hier offensichtlich nicht weiter!)

Obwohl dies für kleine Listen keine so schlechte Idee ist, wäre es für Listen mit beispielsweise 100.000 Namen problematisch, und der Benutzer führte viele Abfragen durch.

Ein anderer Algorithmus, den ich angeschaut habe, ist das Rechtschreibprüfung, wo Sie nur nach möglichen Rechtschreibfehlern suchen. Dies ist jedoch auch sehr ineffizient, da für ein Wort der Länge 7 und einer Fehleranzahl von nur 2 mehr als 75.000 Wörter erforderlich sind.

Was ich brauche

Kann mir bitte jemand ein @ vorschlaguter effizienter Fuzzy-Suchalgorithm. mit

Name des AlgorithmusWie es funktioniert oder ein Link, wie es funktioniert Vor- und Nachteile und wann es am besten genutzt wird (optional)

ch verstehe, dass alle Algorithmen ihre Vor- und Nachteile haben und es kein @ gibBest algorithm.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage