Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#20

AW: Abfrage über mehrere Felder optimieren

  Alt 19. Aug 2015, 20:04
@Dejan Vu
Die Levenshteindistanz hat auch schon was, mir ist nur bisher keine Idee gekommen, wie man die sinnvoll in der Datenbank ablegen kann, hier muss man in einer Abfrage konkret zwei Werte mit einander vergleichen, in dem man die Levenshteindistanz berechnen lässt.

Die Kölner Phonetik ermittelt man einmal (pro Wort) und legt sie zusätzlich zum Wort in der Datenbank ab. Für die Eingabe ermittelt man sie ebenfalls und sucht dann in der Datenbank den ermittelten Wert. Da mehrere Worte den gleichen Wert für die Kölner Phonetik haben können, bekommt man hier ggfls. eine höhere Treffermenge.

Bei der Levenshteindistanz müsste man ja dann für 'Michael Jackson' und 'Jackson, Michael' einen Wert ablegen, einen für 'Michael Jackson' und 'Jakson, Michael' ... für alle möglichen Kombinationen von Schreibweisen.
Oder hab' ich hier was nicht verstanden? Die Levenshteindistanz gibt ja letztlich an, wieviele Mutationen erforderlich sind, um aus der Zeichenfolge A die Zeichenfolge B zu erhalten.

Beim dem von Dir beschriebenen Szenario erscheint sie mir aber eine durchaus brauchbare Möglichkeit für die Ähnlichkeitssuche zu sein.
Die Kölner Phonetik würde ja bei den beiden Zeichenfolgen 'Michael Jackson' und 'Jakson, Michael' gnadenlos scheitern, man müsste hier also erst die Zeichenfolgen in Einzelwörter zerlegen und dann nach der "Ähnlichkeit" der Einzelworte suchen und entscheiden, ob's 'ne Übereinstimmung gibt.

Bei dem von Dir beschriebenen (beinahe schon Prosa-)Vergleich dürfte die Levenshteindistanz (zumindest bei einem einmaligen) Vergleich gegenüber den anderen Algorithmen schon fast unschlagbar sein.

Nur aus Neugier: Wie lang hat der Abgleich von den 100 Mio. Sätzen gedauert?
  Mit Zitat antworten Zitat