Selon Emilie Laffray <emilie.laff...@gmail.com>: > 2009/12/16 Etienne Chové <ch...@crans.org> > > > Bonjour, > > > > Frédéric Rodrigo ne postant pas l'annonce, je lui pique la place. > > > > Il a réalisé une succession de requêtes sql qui permettent de faire des > > comparaisons basées sur soundex dans les champs name. J'e n'ai pas > > regardé les requêtes, mais j'ai tout mis dans un backend pour voir ce > > que ça donne : > > > > http://osmose.openstreetmap.fr/map/cgi-bin/index.py?ch=109-1 > > > > Ca a l'air intéressant et plutôt pas mal dans beaucoup de cas. Je vous > > laisse ragarder ce que ça donne. La première version travaillait dans > > *_roads, mais à sa demande les requêtes se font dans *_line (donc tout > > les ways, et pas simplement les highway). > > > > La nouvelle (avec les _line) version est en cours d'analyse, mais comme > > tous les matins le serveur mouline les 60 backend. Vous pouvez pour le > > moment regarder les résultat sur les highway. > > > > > Hum, je ne suis pas sure qu'une requête SOUNDEX soit une bonne idée. SOUNDEX > est base sur des phonèmes anglo saxons et n'est pas très adaptée a la langue > française. De plus, la qualité dépend énormément des phonèmes utilisés et de > savoir quelle version est utilisée. Soundex était une des raisons pour > lesquels tu avais tellement de faux positif pour les contrôles aux aéroports > américains: ils utilisaient une version de cette algorithme sur des langues > qui n'étaient pas prévu pour afin de détecter potentiellement des homonymes. > Si tu veux utiliser un algorithme plus indépendant, il vaut mieux utiliser > double metaphone. SOUNDEX est douteux mais présent dans la quasi totalité > des bases de données, tandis que double métaphone ne l'est pas. > Dans une des mes précédentes boites, on avait utilise SOUNDEX pour améliorer > la recherche sur des titres de film. On a vite retire cette fonctionnalité > au vue des résultats, sans parler que l'on parle de films en langues > anglaises. > > http://fr.wikipedia.org/wiki/Double_Metaphone
L'algo utilisé n'est pas le soundex original. C'est l'algorithme soundex2 en version française. Le double metaphone de postgres donne un résultat sur 4 caractère, trop cours. Une autre possibilité est le metaphone (simple) qui donne un résultat de longueur variable, mais j'y ai préfère le soundex2. http://osmose.openstreetmap.fr/src/analyser_gis_soundex.py Le principe : - Calcule le soundex2 pour les parties du name (contenant un espace pour les quels la taille est au moins de 3+4 et qui ne ressemble pas à des références). - Compte les soundex2. - Calcule la fréquence d'apparition de la typographie pour un soundex2 (en pourcentage, pour les soundex2 présent au moins 20 fois). - Si un soundex2 est typographié à plus de 80% de la même façon (forme forte) alors propose de remplacer les typographies faibles (<20%) (pour les quels la distance de levenshtein<=2) Soundex2 : http://www-lium.univ-lemans.fr/~carlier/recherche/soundex.html#L3 Distance de Levenshtein : http://fr.wikipedia.org/wiki/Distance_de_Levenshtein Par contre il y a effectivement beaucoup de faux positifs qui sont en grande partie des problèmes de case ou de "-". Il faudrait peut être retirer ces résultats et laisser ces problèmes à d'autres plug-in (toponymie...). Fred _______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr