Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Die Ähnlichkeit eines Strings messen? (https://www.delphipraxis.net/129258-die-aehnlichkeit-eines-strings-messen.html)

Dragon27 15. Feb 2009 20:12

Re: Die Ähnlichkeit eines Strings messen?
 
Also danke für Eure Antworten! Ich werde mal versuchen ob ich etwas zusammenzimmern kann was beider hernimmt ;-)

Namenloser 15. Feb 2009 20:31

Re: Die Ähnlichkeit eines Strings messen?
 
Zitat:

Zitat von quendolineDD
Zitat:

Hinsichtlich des zweiten Kritikpunktes, der nur groben Analyse, hat sich in letzter Zeit das folgende Beispiel etabliert: Gemäß dem „soundex“-Verfahren sind die Begriffe „Britney Spears“ und „bewährten Superzicke“ phonetisch identisch:

Britney => BRTN => B635,
Spears => SPRS => S162,
bewährten => BRTN => B635,
Superzicke => SPRZCK => S16222 => S162.
Ist natürlich ein sehr gutes kritisches Beispiel :D
Also ich würde an deiner Stelle eher die Levenshtein-Distanz nehmen ...

Wieso, das spricht doch für SoundEx :mrgreen:

Teekeks 15. Feb 2009 20:36

Re: Die Ähnlichkeit eines Strings messen?
 
Und wiedermal siet man das Soundex recht hat :mrgreen: :mrgreen:

KingIR 15. Feb 2009 23:46

Re: Die Ähnlichkeit eines Strings messen?
 
Zitat:

Zitat von mkinzler

Der Thread tut ja in sämtlichen Gehirnwindungen weh. :?

Google, mit Levenshtein Delphi gefüttert, liefert hingegen ein paar ganz gute Ansätze für eine eigene Implementierung. Zum Beispiel: http://www.koders.com/delphi/fid54DC...spx?s=download (unbekannte Lizenz).

omata 16. Feb 2009 00:01

Re: Die Ähnlichkeit eines Strings messen?
 
Hier ist auch noch eine andere Variante.

sx2008 16. Feb 2009 05:22

Re: Die Ähnlichkeit eines Strings messen?
 
Also ich finde SoundEx ungeeignet für deutsche Sprache und Eigennamen.
Eigentlich ist der Algorithmus ziemlicher Schrott, denn er produziert jede Menge Fehler:
http://de.wikipedia.org/wiki/Soundex..._dem_Verfahren

Soundex ist untolerant gegenüber Fehler im 1. Buchstaben:
"Fehlerbeschreibung" und "ehlerbeschreibung" sind zwei sehr ähnliche Worte (Tippfehler im 2. Wort);
trotzdem haben sie andere Soudex Codes.
Allein schon die Idee, dass Wörter ähnlich klingen müssen um als gleich bewertet zu werden ist ungeeignet.
Fehler bei der Schreibweise kommen doch viel eher durch Fehler beim Tippen (Buchstabendreher, falsches Zeichen, fehlendes Zeichen) als durch Hörfehler bei der mündlichen Übermittlung zustande.

Ich kann wirklich nur von Soundex abraten und Levensthein empfehlen.

alzaimar 16. Feb 2009 07:06

Re: Die Ähnlichkeit eines Strings messen?
 
Leider vergisst Du bei dener Pauschalkritik den Einsatzbereich von Algorithmen zur Bestimmung der Ähnlichkeit: Sollen Schreibfehler, Tippfehler, Buchstabendreher erkannt, oder vielmehr die Aussprache verglichen werden? Grundsätzlich gebe ich Dir jedoch Recht, denn ich habe bisher auch keinen sinnvollen Einsatz für den Soundex alleine gesehen: In Kombination mit anderen Verfahren ist er jedoch geeignet, die Ähnlichkeit zweier Wörter zu beurteilen: Levenshtein z.B. ignoriert die phonetische Ähnlichkeit völlig: Für ihn ist 'KALT fast gleich KULT' aber 'BALD <> KALT'. Hier ist Soundex besser. Daneben gibt es noch andere Verfahren, die z.B. ein Wort zunächst in ihre Phoneme überführt und dann eine Ähnlichkeitssuche durchführt.

Weitergehende Informationen gibt es z.B. hier

HeinzJ 16. Feb 2009 07:38

Re: Die Ähnlichkeit eines Strings messen? - Levenstein Komp.
 
Hier eine Levenstein Komponente:

http://www.h-j-luecking.de/wiki/Einf...nstein_Distanz

HeinzJ


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz