Delphi-PRAXiS
Seite 1 von 2  1 2      

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 19:19


Die Ähnlichkeit eines Strings messen?
 
Hallo,

habt Ihr eine Idee, wie man messen kann wie ähnlich sich ein Sring ist. Also zum Beispiel:

Hallo ie geht es dir?
Hallo wie geht es dir?

Hier also 95 % ähnlich.

Leider habe ich über die Suche nichts gefunden zu diesem Thema.

Danke für Eure Hilfe!

quendolineDD 15. Feb 2009 19:21

Re: Die Ähnlichkeit eines Strings messen?
 
Du hast doch schon den mathematischen Lösungsweg gefunden.
Nun setze diesen einfach informatisch um, und du hast deine eigene Antwort gefunden.

Lg

DeddyH 15. Feb 2009 19:21

Re: Die Ähnlichkeit eines Strings messen?
 
Spontan fällt mir das SoundEx ein, das gibt es AFAIR in verschiedenen Ausprägungen. Ein Blick in die Hilfe sollte da weiterhelfen.

Namenloser 15. Feb 2009 19:22

Re: Die Ähnlichkeit eines Strings messen?
 
Die Levenshtein-Distanz wäre hier ein guter Ansatz.

Dragon27 15. Feb 2009 19:26

Re: Die Ähnlichkeit eines Strings messen?
 
Danke für die schnelle Antworten!

Zitat:

Zitat von NamenLozer
Die Levenshtein-Distanz wäre hier ein guter Ansatz.

Ja das sieht gut aus! Aber ich glaube an der Umsetzung würde es scheitern. Ich wüsste nicht wie ich das in einen schnellen Delphicode packen soll.

Gibt es da nicht ein paar Codebeispiele?

Danke!

Hawkeye219 15. Feb 2009 19:30

Re: Die Ähnlichkeit eines Strings messen?
 
Hallo,

bei deiner Delphi-Version wäre es wohl am einfachsten, die Soundex-Routinen der Unit StrUtils zu nutzen. Eine Levenshtein-Implementierung findest du in der CodeLib.

Gruß Hawkeye

mkinzler 15. Feb 2009 19:33

Re: Die Ähnlichkeit eines Strings messen?
 
Ja die Suche nach Hier im Forum suchenLevenshtein leifert z.B.
http://www.delphipraxis.net/internal...ct.php?t=89364

Dragon27 15. Feb 2009 19:50

Re: Die Ähnlichkeit eines Strings messen?
 
Hallo,

danke für die vielen Antworten. Also den Levenshtein-Algo. habe ich mir durchgesehen. Sieht sehr sehr gut aus!
Trotzdem wollte ich auch noch wissen für was genau das SoundEX ist. Ich bekomme da einen String zurückgeliefert
der bei "Hallo" so aussieht: "H400" aber bei "hallo" kommt ebenfalls "H400".

Nun würde ich gerne verstehen wie man den Befehl SoundEx genau verwendet bzw. welche genauer von den beiden
Varianten ist.

Danke!

Meflin 15. Feb 2009 19:52

Re: Die Ähnlichkeit eines Strings messen?
 
Zitat:

Zitat von Dragon27
Nun würde ich gerne verstehen wie man den Befehl SoundEx genau verwendet bzw. welche genauer von den beiden
Varianten ist.

Hier wird z.B. erklärt wie der Algorithmus funktioniert:
http://de.wikipedia.org/wiki/Soundex ;)

quendolineDD 15. Feb 2009 20:06

Re: Die Ähnlichkeit eines Strings messen?
 
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 ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.
Seite 1 von 2  1 2      

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