Normalisation d'adresses
musica_san
-
musica_san -
musica_san -
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.
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:
- Normalisation d'adresses
- Logiciel normalisation audio gratuit - Télécharger - Édition & Montage
- Itinéraire google map entre deux adresses - Guide
- Mon carnet d'adresses - Télécharger - Bureautique
- Comment supprimer des adresses mail sur gmail - Guide
- Adresses mac - Guide
7 réponses
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
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
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.
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.
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...
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...
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
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
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...
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...
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
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