Seite 1 von 1
Fehlertolerantes Suchen
Verfasst: Dienstag 2. März 2010, 23:20
von anogayales
Hi Community,
gibt es unter python eine art fehlertolerantes Suchverhalten, sprich, der User tippt "Schwewin" ein und er bekommt als Verbesserungsvorschlag "Schwein" angeboten?
Ein Art Wörterbuch mit den verfügbaren Wörtern habe ich bereits.
Vielen Dank für eure Hilfe

Verfasst: Dienstag 2. März 2010, 23:35
von Pekh
Hallo,
für eine ähnliche Aufgabenstellung hatte ich mal das Modul difflib verwendet. Davon ausgehend könntest du dir etwas passendes basteln. Sowas richtig einzustellen bzw. zu trainieren kann aber ziemlich aufwändig werden. Wenn du nur einen relativ geringen "Wortschatz" hast, wäre es vermutlich einfacher, ein Dictionary mit gängigen Tippfehlern und den richtigen Versionen anzulegen.
Verfasst: Mittwoch 3. März 2010, 09:27
von Hyperion
In der Bioinformatik werden u.a. für solche Probleme Algorithmen entwickelt. Iirc gibt es für Python da einiges an Modulen; evtl. lohnt sich da mal ein Blick drauf zu werfen?
Verfasst: Mittwoch 3. März 2010, 10:57
von SElsner
Re: Fehlertolerantes Suchen
Verfasst: Mittwoch 3. März 2010, 12:00
von /me
anogayales hat geschrieben:Hi Community,
gibt es unter python eine art fehlertolerantes Suchverhalten, sprich, der User tippt "Schwewin" ein und er bekommt als Verbesserungsvorschlag "Schwein" angeboten?
Je nach Geschmack kann man da über die
Levenshtein-Distanz oder mit Soundex etwas basteln. Vorgefertigtes gibt es in der Standardbibliothek AFAIK nicht.
Re: Fehlertolerantes Suchen
Verfasst: Mittwoch 3. März 2010, 13:58
von HWK
/me hat geschrieben:Vorgefertigtes gibt es in der Standardbibliothek AFAIK nicht.
difflib wurde doch schon erwähnt. Ich habe mit der Funktion get_close_matches aus diesem Modul mal ein Script geschrieben, um eingescannte, deshalb zum Teil fehlerhafte Namen an Hand einer vorgegebenen Namensliste zu korrigieren. Das war ganz einfach und funktionierte recht gut.
MfG
HWK