Re: [OSM-talk-fr] [osmose] backend basé sur soun dex

2009-12-16 Thread Pieren
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 Thread 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

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

2009-12-16 Thread Etienne Chové
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

2009-12-16 Thread f . rodrigo
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

2009-12-16 Thread Frédéric Rodrigo
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

2009-12-16 Thread Etienne Chové
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

2009-12-20 Thread Guillaume Allegre
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