Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3562[/thread]

suchbegriff nicht eindeutig. was tun?: mysql



<< >> 8 Einträge, 1 Seite
steinwolf
 2005-04-24 13:46
#33179 #33179
User since
2003-08-04
367 Artikel
BenutzerIn
[default_avatar]
Hi,

ein Anwender gibt einen Suchbegriff in meine suchmaschine ein.
Dabei schreibt er allerdings das gesuchte wort falsch.

Bsp:
Eingabe: "Infromatik"
Der Suchbegriff sollte aber eigentlich "Informatik" lauten.
Gibt es nun eine Möglichkeit Abweichungen vom Suchbegriff mit in die Suche einfließen zu lassen?

Wie kann ich solche Probleme angehen?
"Did you know? You can use your old motor oil to fertilize your lawn." - Blinkster - Professionelles EDV Forum
Ronnie
 2005-04-24 13:52
#33180 #33180
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
evtl. ist http://search.cpan.org/~markm/Text-Soundex-3.02/Soundex.pm nützlich.
pKai
 2005-04-24 14:22
#33181 #33181
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Levenshtein-Distanz wäre ein Ansatz.
I sense a soul in search of answers.
Dubu
 2005-04-24 15:25
#33182 #33182
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
MySQL selber hat eine SOUNDEX() Funktion.

Nachteile sind, dass erstens Soundex wesentlich besser fuer englische als fuer deutsche Woerter funktioniert, und zweitens, dass Soundex nur die klangliche Aehnlichkeit zwischen zwei Woertern beruecksichtigt. Damit findet man zwar "Mayer" und "Meier", aber "Infromatik" ist vom Klang her schon anders als "Informatik". Im letzteren Fall ist die Levenshtein-Distanz ein besseres Kriterium, eignet sich aber wenig fuer eine Suchfunktion; schliesslich muesste jedes Wort der Zielmenge mit dem Suchwort einzeln verglichen werden (waehrend man Soundex-Werte fuer die Woerter in der Datenbank im Voraus berechnet und ablegt und bei der Suche nur auf Identitaet vergleicht).
pq
 2005-04-25 20:47
#33183 #33183
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
frag doch mal google, wie die das machen =)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
ptk
 2005-04-25 23:11
#33184 #33184
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Uebrigens macht String::Approx matching a la Levenshtein.
Strat
 2005-04-26 15:26
#33185 #33185
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
vielleicht, wenn nichts gefunden wird, andere woerter vorschlagen, die aehnlich klingen und zu denen schon mal was gefunden wurde? (String::Trigram? String::Approx)\n\n

<!--EDIT|Strat|1114514815-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2005-05-17 17:37
#33186 #33186
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich glaub nicht, dass Google das verrät ;)

Interessant ist, dass die das ja auch schon merken, wenn man nur wenige Treffer zurückbekommt, aber einen Buchstabendreher drin hatte, den andere auf ihren Seiten auch gemacht haben. Wäre wirklich spannend zu wissen, ob das eine maschinelle Lösung bei denen ist, oder ob da im Hintergrund Listen gefüllt werden, die von falschen zur richtigen Schreibweise zeigen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 8 Einträge, 1 Seite



View all threads created 2005-04-24 13:46.