Beste Möglichkeit in php zu finden, die am ähnlichsten strings?
Hölle,
PHP hat eine Menge von string-Funktionen wie levenshtein, similar_text und soundex, die vergleichen können strings nach ähnlichkeit.
http://www.php.net/manual/en/function.levenshtein.php
Welche ist die beste für Genauigkeit und Leistung?
- Ich denke, das wäre besser geeignet als ein Community-Wiki
- Ohne zu viel zu wissen über die verschiedenen Funktionen, die mit der Umsetzung details, ich habe ein Bauchgefühl, dass man nicht das Ziel für Genauigkeit und Leistung. Sie sind wohl irgendwie Umgekehrt proportional.
- Sie können auch in der Lage sein zu beantworten, was ist besser für die Leistung, und was ist besser für die Genauigkeit jedoch.
- Ich kenne jemanden, der wollte etwas ein wenig so aus. Sie endete Aufruf eines Kommandozeilen-diff-tool!
Du musst angemeldet sein, um einen Kommentar abzugeben.
similar_text hat eine Komplexität von O(max(n,m)**3) und levenshtein eine Komplexität von O(m*n), wobei n und m die Längen der Saiten, so levenshtein sollte viel schneller sein. Beide sind 100% richtig, Sie geben die gleiche Ausgabe für die gleiche Eingabe, aber die Ausgaben für jede Funktion unterscheiden. Wenn Sie ein anderes Maß der Genauigkeit, müssen Sie erstellen Sie Ihren eigenen Vergleich-Funktion.
similar_text
besser für meinen Fall.levenshtein
zurück mehr ähnlichkeit, wenn die strings die gleiche Länge. Zum Beispiel: "marco blabla' im Vergleich zu 'rob blabla" gab 81.8% (similar_text) und 4 (levenshtein). Und "jan blabla' im Vergleich zu 'rob blabla' Gaben 70% (similar_text) und 3 (levenshtein). Solevenshtein
denkt, den letzten, ist mehr ähnlich undsimilar_text
denkt, dass die ersten, die sind mehr ähnlich.