AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suche ähnlich wie Google

Ein Thema von GFEMajor · begonnen am 16. Jan 2009 · letzter Beitrag vom 16. Jan 2009
Antwort Antwort
Seite 2 von 3     12 3      
nahpets
(Gast)

n/a Beiträge
 
#11

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 08:56
Hallo,

Soundex hat für meine Begriffe den Nachteil, dass der erste Buchstabe übernommen wird und die Länge auf vier Zeichen begrenzt ist. Er ist ursprünglich auf englische/amerikanische Namen optimiert (im Jahre 1918).

Soundex bei Wikipedia

Schaut euch die Beispiele dort an und ihr merkt quasi sofort, wo die Schwachstellen liegen. Chaos und Kaos würden nie als identisch oder auch nur ähnlich erkannt.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#12

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:01
Zitat von nahpets:
Hallo,

Soundex hat für meine Begriffe den Nachteil, dass der erste Buchstabe übernommen wird und die Länge auf vier Zeichen begrenzt ist. Er ist ursprünglich auf englische/amerikanische Namen optimiert (im Jahre 1918).

Soundex bei Wikipedia

Schaut euch die Beispiele dort an und ihr merkt quasi sofort, wo die Schwachstellen liegen. Chaos und Kaos würden nie als identisch oder auch nur ähnlich erkannt.
Die Funktion SoundEx erwartet als zweiten Parameter eine Längenangabe als Integer. Hier könnte man die Länge des Input-Strings nehmen und angefügte Nullen nachher entfernen.

ShowMessage(StringReplace(SoundEx(Edit1.text, Length(Edit1.text)), '0', '', [rfReplaceAll]));
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#13

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:12
Zitat von Andreas L.:
Die Funktion SoundEx erwartet als zweiten Parameter eine Längenangabe als Integer. Hier könnte man die Länge des Input-Strings nehmen und angefügte Nullen nachher entfernen.

ShowMessage(StringReplace(SoundEx(Edit1.text, Length(Edit1.text)), '0', '', [rfReplaceAll]));
Diese Variante entspricht aber dann nicht dem patentierten SoundEx, was sicherlich im Bezug auf die Vergleichbarkeit bei längeren Vergleichswerten vorteilhaft ist. Das Problem mit dem Anfangsbuchstaben bleibt. Gerade bei Worten die mit c oder k, v oder w... ist SoundEx nicht wirklich hilfreich.

Nehmen wir mal die Wikipediabeispiele:
Code:
Britney => BRTN => B635,
Spears => SPRS => S162,
bewährten => BRTN => B635,
Superzicke => SPRZCK => S16222 => S162.
Von klanglicher Ähnlichkeit oder Schreibfehlern, wie Google sie erkennt, ist man hier weit entfernt.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#14

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:15
In diesem Link gibt es eine Abwandlung fürs slawische und jiddische
http://www.jewishgen.org/infofiles/soundex.html

Die kodieren auch den Anfangsbuchstaben
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#15

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:33
Hier gibts was dazu
http://www.delphipraxis.net/internal...ct.php?t=41897
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#16

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:34
Zitat von nahpets:
Zitat von Andreas L.:
Die Funktion SoundEx erwartet als zweiten Parameter eine Längenangabe als Integer. Hier könnte man die Länge des Input-Strings nehmen und angefügte Nullen nachher entfernen.

ShowMessage(StringReplace(SoundEx(Edit1.text, Length(Edit1.text)), '0', '', [rfReplaceAll]));
Diese Variante entspricht aber dann nicht dem patentierten SoundEx, was sicherlich im Bezug auf die Vergleichbarkeit bei längeren Vergleichswerten vorteilhaft ist. Das Problem mit dem Anfangsbuchstaben bleibt. Gerade bei Worten die mit c oder k, v oder w... ist SoundEx nicht wirklich hilfreich.

Nehmen wir mal die Wikipediabeispiele:
Code:
Britney => BRTN => B635,
Spears => SPRS => S162,
bewährten => BRTN => B635,
Superzicke => SPRZCK => S16222 => S162.
Von klanglicher Ähnlichkeit oder Schreibfehlern, wie Google sie erkennt, ist man hier weit entfernt.
Ja, du hast recht. Die Ergebnisse werden aber besser wenn man die Routine SoundExInt verwendet. Bsp.:
Zitat:
Britney->34444754
Spears->497547233
bewährten->34444754
Superzicke->497553407
Khaos->277416350
Chaos->57177422
Briete->34336709
Breite->34336709
Brite->34336709

Mach mal->333318833
Macht->332929871
Geländer->170254232
Gländer->170254232

Länder->308706182
Laender->308706182
Laendr->308706182
Ländr->308706182
Das ist nicht das Non-Plus-Ultra. Aber für einfache Suchen reicht das doch vollkommen, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:35
Und wenn man das ganze ohne Soundex machen will, was für Buchstabendreher und/oder Vertipper nur bedingt geeignet ist, muss man sich da über Levenshtein was selber basteln.

Ich habe da mal was vorbereitet http://www.delphipraxis.net/internal...t.php?t=134539

Eine direkte Funktion "Meinten Sie" ist nicht dabei, aber die alternativen Schreibweisen werden auch gefunden.
The angels have the phone box.
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#18

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:38
Zitat von Gausi:
Und wenn man das ganze ohne Soundex machen will, was für Buchstabendreher und/oder Vertipper nur bedingt geeignet ist, muss man sich da über Levenshtein was selber basteln.

Ich habe da mal was vorbereitet http://www.delphipraxis.net/internal...t.php?t=134539

Eine direkte Funktion "Meinten Sie" ist nicht dabei, aber die alternativen Schreibweisen werden auch gefunden.
Wurde ja schon im 2 Post verlinkt. Sieht jedenfalls interessant aus Sollte sich der Threadersteller mal reinziehen.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:41
Ups, das habe ich übersehen. Der ist aber auch kurz und versteckt.
The angels have the phone box.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#20

Re: Suche ähnlich wie Google

  Alt 16. Jan 2009, 09:46
Hallo,

@Andreas L.
Zitat von Andreas L.:
Ja, du hast recht. Die Ergebnisse werden aber besser wenn man die Routine SoundExInt verwendet. Bsp.:
Zitat:
Britney->34444754
Spears->497547233
bewährten->34444754
Superzicke->497553407
Khaos->277416350
Chaos->57177422
Briete->34336709
Breite->34336709
Brite->34336709

Mach mal->333318833
Macht->332929871
Geländer->170254232
Gländer->170254232

Länder->308706182
Laender->308706182
Laendr->308706182
Ländr->308706182
Das ist nicht das Non-Plus-Ultra. Aber für einfache Suchen reicht das doch vollkommen, oder?
Über SoundExInt bin ich noch nicht gestolpert , habe was ähnliches seinerzeit mit dBase und später mit Turbopascal realisiert, um größere Datenbestände zu überarbeiten (dBase IV war da noch ganz neu).
Ausgehend von Deinen Beispielen halte ich diese Variante für die gestellte Aufgabe für aussreichend, selbst für mein "Doppeltensuchprogramm" für unser CRM ist es eine Überlegung wert, dies noch zusätzlich mit einzubauen.

@Gausi:

Deine Routinen habe ich mir noch nicht angeschaut, werde es aber asap nachholen.

Die Kombination von Kölner Phonetik und Levenshtein, hat mir bisher die besten Ergebnisse gebracht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.
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