Normalisation d'adresses

Fermé
musica_san - 22 déc. 2004 à 11:50
 musica_san - 22 déc. 2004 à 15:37
Bonjour,
je cherche à faire coïncider des noms de rues non organisés avec leur équivalent normalisé.
Je m'explique:
j'ai par exemple d'un coté "Av. V. HUGO"
et dans le fichier normalisé j'ai "AVENUE VICTOR HUGO"
il faut faire coïncideer les deux.

J'ai donc fait un algorithme de rapprochement, mais les résultats obtenus ne sont pas assez bons (70-75% sur +de 2000 noms).

J'aimerais donc savoir si des gens se sont déjà penchés sur le problème pour me donner des idées.
A voir également:

7 réponses

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
22 déc. 2004 à 12:45
Salut,
Problème intéressant. Pour 2000 noms, pas la peine de penser génération de règle ou réseaux neuronal, tu n'as pas assez de valeurs pour leur apprendre, le plus simple à mon avis est de partir du mot qui n'a pas de . derrière (donc le mot complet) et de chercher celui ci dans ton fichier normalisé...
Tu fais comment toi?

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
Bonjour musica_san,

En général, vu le grand nombre de cas, on n'atteint pas 100 % avec un algorithme.

Ma propre expérience montre qu'on travaille en passes successives. Après le traitement N, on analyse le reliquat que l'algorithme n'a pas traité, on voit ce qu'il faut ajouter pour traiter des cas supplémentaires dans un traitement N+1, etc.

Il arrive toujours un moment où il est plus avantageux de terminer le travail à la main que de bosser sur un algo qui résoudra tous les cas.

C'est vrai même avec de très gros volumes où, à partir d'un certain résultat, des "petites mains" se coltinent à la main les derniers rapprochements.

Dans ton cas, vu le faible volume, avec 75 % de cas traités, tu n'es pas loin de ce stade...

Armojax.
0
Le fait est que j'ai 1 fichier de 2000 rues rien que pour une ville, et je ne sais pas combien je peux en aoir au maximum (ca peut etre énorme!)...
Schant que les noms de rues peuvent etre "Avenue ---------", "Av. ------", "AV ----", "BOULEVARD ---",
"Bd ----" etc....., voila mon raisonnement:

1-Mettre le nom en majuscule (et donc sans accents), et sans ponctuation
2-Isoler le type de voie
3-Extraire du reste les mots significatifs (plus de 2 caratères)
4-Requete recherchant les fichiers normalisés commencant par la 1ere lettre du type (de l'étape 2) et contenant les meme mots significatifs

Le problème est que de nombreuses adresses passent à la trappe surement à cause de fautes d'orthographe...
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
22 déc. 2004 à 15:13
OK, autrement dit c'est pour un service type "mapy" non?

Si tu as pas mal de temps renseigne toi sur les algorithme à génération de règles, et aussi les réseaux de neurones.

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pour Armojax:
Ta méthode proposée est celle que j'avais testée ce matin, j'ai analysé les noms sans correspondance et déduit qu'il fallait une 2e séléction basée sur la phonétique (pour contrer les fautes d'orthographe), mais je ne sais pas comment m'y prendre...
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
22 déc. 2004 à 15:24
Déjà il faut obligatoirement appliquer ça QUE si tu n'as pas trouvé autrement, mais tu peux faire un tableau des choses à "simplifier":

eau
au
aux
eaux
o
ss
c
tt
ll
...

Et tu remplaces ça par un * (n'importe quelle suite de charactères) et tu recommences ta recherche avec le mot et ses wildcards...ça va durer plus longtemps évidement...

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
Merci de vous décarcasser ^_^
Je pense que je vais faire un algo basé sur "Soudex" (poids phonétique), que j'utiliserais effectivement si la 1ere méthode n'abouti pas...
Et, oui, c'est le meme principe que sur mappy que je recherche (mais pour une utilisation bien différente).
0