Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 18h15   #21
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Jérôme, pour t'aider dans ton calcul de "vraisemblance", tu as peut-être songé aux fonctions de distance entre 2 chaînes de caractères ? (COMPGED et COMPLEV)
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2011, 13h55   #22
Membre éclairé
 
Homme
statisticien
Inscription : mai 2011
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : statisticien
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2011
Messages : 212
Points : 319
Points : 319
Merci Olivier, mais en fait je n'ai pas de corpus bien défini auquel comparer, alors bien sûr il y a les communes mais j'ai aussi lieux dits et adresses a redresser et là pas de corpus bien défini, mais peut être pour un nettoyage final...

En fait en première partie je dois raisonner en "absolu" et non pas en "relatif" (et par comparaison donc), enfin je ne sais pas si je suis très clair...

Par contre j'ai des soucis, le programme marche différemment selon l'ordinateur sur lequel je travaille , entre SAS sous vista, et SAS sous XP j'ai moi même des problèmes de conversion de caractères spéciaux.

Diabolique !
jerome_pdv2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2011, 15h33   #23
Membre éclairé
 
Homme
statisticien
Inscription : mai 2011
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : statisticien
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2011
Messages : 212
Points : 319
Points : 319
non , finalement c'est une erreur, je ne sais pas d'où ça viens, mais tout tourne normalement des deux côté à présent.

Par contre je suis un peu déçu de la performance de ma règle de décision, qui semble peu efficace sur les noms de commune...

Je la garde quand même elle l'est beaucoup plus sur les adresses.

Il me reste encore des problèmes de simple passage OEM à ANSI qui ne se sont pas bien passées (voir qui n'ont pas du tout été gérés), et certains ne sont pas possible a régler avec cette méthode, je vais alors passer à présent aux comparaisons de corpus pour affiner les résultats (et peut être utiliser les fonctions citées par Olivier).


En pièce jointe l'état actuellement d'avancement

texte_retenu la proposition de texte corrigé, v1 sa vraissemblance
alternative la proposition alternative non retenu et v_alt sa vraissemblance.
Fichiers attachés
Type de fichier : zip verif.zip (15,8 Ko, 7 affichages)
jerome_pdv2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h03   #24
Membre éclairé
 
Homme
statisticien
Inscription : mai 2011
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : statisticien
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2011
Messages : 212
Points : 319
Points : 319
Je met le fil en résolu, en fait je n'avais pas intégré l'étape suivante, en autorisant la co-existance de doublons, la bonne forme sera reconnue par l'étape suivante, que ce soit en reconnaissance du libellé de la commune ou lors du processus de géolocalisation.
Dès que l'un des doublon est reconnu cela devrait être OK et lèvera donc l'indétermination.

Merci à ceux qui ont participé.
jerome_pdv2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 07h50   #25
Membre éclairé
 
Homme
statisticien
Inscription : mai 2011
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : statisticien
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2011
Messages : 212
Points : 319
Points : 319
J'ai à peu près résolu le problème dans sa quasi totalité (>95%).

Concernant le codage UTF8 , la fonction inverse permettant de passer d'une chaine codée en UTF8 à une chaine windows normale est celle ci :
Code :
chaine_correcte=input(chaine_UTF8,$utf8x200.);
Dans mon problème, j'ai repéré du texte codé en UTF8, du texte codé en UTF8 "répété" c'est à dire UTF8_repete=put(put(string,$utf8x100.),$utf8x100.);

Des jeux de caractère PC (mauvais import d'ascii dos en charset windows et vice versa mauvais import de charset windows en ascii dos)

plus un mélange des deux UTF8+problème import DOS/Windows

plus quelques codages maclatin.

Quelques autres cas de transcodage non identifiés persistent mais sont extrèmement rares...

J'ai réalisé des fonction de transcodage pour chaque cas.



En cas d'altération partielle (troncature sur un caractère codé en UTF8) de la variable codée en UTF8 , la fonction input(string_utf8,$utf8x100.) génère une erreur avec valeur manquante, sur ces cas je lance une fonction "maison" que j'ai écrite via fcmp pour redresser alors ce qui est possible de redresser (ceci par analyse caractère par caractère et sans fonctions tranwrd dont l'utilisation conduisait à des transformations incorrectes = pas possible de transcoder de l'UTF8 juste par l'utilisation des fonctions tranwrd correspondantes aux transformations élémentaires des caractères codés de 128 à 255).

La chaine de reconnaissance (sélection du transcodage qui va remettre la chaine avec la bonne accentuation) est basée sur le critère de longueur de la chaine transformée pour les divers codages UTF8.


Ensuite pour le reste et dans les cas d'ex aequo je calcule un score évalué sur :
  • La présence ou pas de mots "fréquents" correctement accentué
  • le nombre de mots de la chaine résultant (espace '20'x + espace insécable 'A0'x)
  • L'absence ou pas de certaines lettres improbables
  • Une distance mixte de la chaine par rapport à une situation tout en majuscule, minuscule ou avec initiales majuscule (via min, complev, upcase, lowcase et propcase)
  • Des pénalités liées à la présence de "cassures" dans la casse (majuscule située entre deux minuscules)
  • Le nombre de caractères spéciaux dans la chaine résultant ne correspondant pas aux caractères spéciaux attendus (lettre accentuées , mais aussi ° , les différents guillemets etc...)

Il reste ensuite des ex aequo que l'on ne peut pas réduire, ils sont alors dupliqués selon chaque transcodage probables.
jerome_pdv2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h17.


 
 
 
 
Partenaires

Hébergement Web