Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
2009/12/16 Etienne Chové : > Il a réalisé une succession de requêtes sql qui permettent de faire des > comparaisons basées sur soundex dans les champs name. Mouais, pas mal de faux positifs, 1/4 à 1/3 à vue de nez. Moyen, moyen, tout ça. Pieren ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
2009/12/16 Etienne Chové > 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 Emilie Laffray ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
Le 16/12/2009 11:09, Pieren a écrit : > 2009/12/16 Etienne Chové: >> Il a réalisé une succession de requêtes sql qui permettent de faire des >> comparaisons basées sur soundex dans les champs name. > > Mouais, pas mal de faux positifs, 1/4 à 1/3 à vue de nez. Moyen, moyen, tout > ça. C'est un essai, j'ai fait quelques décomptes des erreurs proposées : http://osmose.openstreetmap.fr/~etienne/analyser_gis_soundex.post.res A vrai dire je n'y connais rien à soundex, je ne sait même pas comment ça marche et si c'est améliorable. Ce que je vois, c'est qu'il y a du bon et du mauvais, mais je ne serai pas d'une grande utilité pour savoir comment améliorer. Je laisse Frédéric répondre aux remarques. Si ce backend dessert la cause OSM, alors il passera à la trappe comme d'autres l'ont fait. Mais il y a sûrement moyen de faire un truc sur le même principe mais pas forcément en utilisant soundex. -- Etienne ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
Selon Emilie Laffray : > 2009/12/16 Etienne Chové > > > 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
Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
Le mercredi 16 décembre 2009 13:28:02, f.rodr...@free.fr a écrit : > 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 Voila le backend est patché pour ne pas tenir compte de la case et des différences de tirets et longueur minimale d'analyse de la seconde partie du name est de 7 caractères. Ce qui enlève beaucoup de (faut) bruit. Le résultat est déjà disponible. ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
Frédéric Rodrigo a écrit : > Voila le backend est patché pour ne pas tenir compte de la case et des > différences de tirets et longueur minimale d'analyse de la seconde partie du > name est de 7 caractères. Ce qui enlève beaucoup de (faut) bruit. > > Le résultat est déjà disponible. Le top 1 en nombre d'occurrence est un faux positif :-( http://osmose.openstreetmap.fr/~etienne/analyser_gis_soundex.post.res Je pense qu'il faut analyser le résultat donné ci avant et écrire une requête moins générale mais qui conviendrai mieux. J'ai l'impression que la proportion faux-positif/total a augmenté. -- Etienne ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr
Re: [OSM-talk-fr] [osmose] backend basé sur soun dex
Le Wed 16 Dec 2009 à 21:24 +0100, Etienne Chové a ecrit : > Je pense qu'il faut analyser le résultat donné ci avant et écrire une > requête moins générale mais qui conviendrai mieux. J'ai l'impression que > la proportion faux-positif/total a augmenté. Je viens juste de tester autour de Grenoble. Je ne sais pas ce qui a été corrigé depuis le 16, mais pour moi c'est plutôt positif : sur 7 signalements : - 4 vrais positifs, des rues avec des noms de personnes mal orthographiées - 2 faux positifs, des toponymes locaux - 1 vrai-faux positif : Rue des Chevalieres proposé en "Rue des Chevaliers" (à Biviers, 38) En fait il s'agit bien de la Rue des ChevaliÈres. J'ai fait la correction, mais pas celle proposée, donc. Je ne sais pas si l'algo l'aurait signalé ou pas du coup. Donc ici, une pertinence des signalements de 71%. Pas mal. -- ° /\Guillaume AllègreMembre de l'April /~~\/\ allegre.guilla...@free.fr Promouvoir et défendre le logiciel libre / /~~\tél. 04.76.63.26.99 http://www.april.org ___ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr