IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Matching données brutes et données référencés


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Points : 5
    Points
    5
    Par défaut Matching données brutes et données référencés
    Bonjour à tous,

    J’ai des données sur les noms d’écoles et de diplômes qui sont rentrées manuellement.

    Je dois rapprocher avec les noms d’écoles référentiel.
    La même chose pour les diplômes ressortir le niveau et le domaine.

    Mais les données sont très différents pour une même école où un même diplôme.
    Environ 20k lignes et 10k valeurs uniques pour les écoles.

    J’ai utilisé une méthode levenshtein et de clustering mais les résultas ne sont pas très satisfaisants.

    J’aurais besoin d’aide pour trouver la bonne solution pour ce genre de cas.

    Je vous remercie d’avance pour toute aide.

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Bonjour,

    Comment sont structurées vos données actuelles ? Avez-vous des exemples de format de données pour les noms d'écoles et de diplômes (par exemple, sous forme de fichiers CSV, Excel, ou base de données) ?

    Pouvez-vous donner des exemples de noms d'école et de diplômes où les données sont très différentes ?

    Quels sont les critères pour la comparaison ?

    Bref, il faut un minimum de contexte...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par younes_88 Voir le message
    J’ai utilisé une méthode levenshtein et de clustering mais les résultas ne sont pas très satisfaisants.
    oui mais encore? ça serait bien d'expliquer plus en détails ce qui ne va pas.

    Citation Envoyé par younes_88 Voir le message
    J’aurais besoin d’aide pour trouver la bonne solution pour ce genre de cas.
    Il n'y a pas forcément de solution générale mais une succession de traitements pour "normaliser" les données pour obtenir de meilleurs résultats. Et ce sera l'expérience (et/ou les tests) qui va orienter ce qu'on va essayer d'appliquer suivant le jeu de données.

    Ceci dit, c'est un boulot de conception qui peut prendre du temps et qui n'a rien avoir avec une question de programmation avec le langage Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par younes_88 Voir le message
    J’aurais besoin d’aide pour trouver la bonne solution pour ce genre de cas.
    On ne peut jamais parler de "bonne solution" car chaque cas est unique. Par exemple d'où viennent les données ? Peux-tu les retourner à leur créateur avec demande de reformuler ?

    J'ai eu un cas analogue à traiter: importer des données X dans une bdd. Je ne me suis pas fait chier. Si la donnée X était parfaite, je l'importais et la tagguais "OK". Si la donnée X était imparfaite mais correctible (exemple "2,3" au lieu de "2.3") je la corrigeais mais la tagguais "WARNING". J'avais écrit pour ça toute une gamme de fonctions correctrices et chaque fois que je trouvais un nouveau cas je rajoutais une fonction. Mais la donnée était tagguée "WARNING" même pour une seule correction. C'était "OK" si zéro souci ou bien "WARNING". Et je disais aussi pourquoi.
    Et si la donnée était trop corrompue/illisible etc je la tagguais "ERROR" en disant là aussi pourquoi.
    Puis je renvoyais le log à l'émetteur. Le log (de type excel) contenait les mêmes lignes que le fichier d'origine auxquelles étaient rajouté le tag et le détail des soucis rencontrés. Et l'émetteur n'avait qu'à filtrer sur "WARNING" ou "ERREUR" pour voir le souci, corriger sa donnée et me la retourner.

    Mais tout ceci n'a bien entendu rien à voir avec Python. C'est un peu comme demander à la hot-line Renault comment changer une roue parce que tu as une roue à plat sur ta Renault alors que la marque de ta voiture n'a aucune importance dans le cas présent.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Re,
    Merci pour vos retours.

    Les données proviennent d'une plateforme en ligne où l'on peut soit entrer manuellement les informations sur les diplômes, écoles, etc, soit les récupérer automatiquement à partir du CV par parsing ou les importer via Linkedin.

    Ensuite, je génère des rapports sous format Excel ou CSV avec les données personnelles des personnes, les informations sur les diplômes (intitulé diplôme, type, date d'obtention, école).

    Exemple d'écoles:
    Dans le référentiel : Université Panthéon Sorbonne
    Dans le fichier depuis la plateforme : Université Paris 1 Panthéon Sorbonne, Sorbonne University, Paris 1 Panthéon Sorbonne, École de Management Panthéon Sorbonne, IAE Panthéon Sorbonne, Paris 1 La Sorbonne, etc.
    II existe encore une vingtaine de variantes avec des mots en plus ou en moins, des caractères -, où /, les doubles diplômes.

    En ce qui concerne les diplômes, certains mentionnent le niveau suivi du domaine (comme Master en Management, Master of Business Administration), tandis que d'autres indiquent uniquement le domaine. Certains diplômes sont en anglais, et il existe également des certifications MOOC où ils écrivent une phrase sur le sujet.

    Le but est d'obtenir le bon nom pour les écoles et, pour les diplômes, de récupérer le niveau et le domaine s'ils sont mentionnés, sinon seulement le domaine. Il y a aussi des doubles diplômes dans une même ligne qui ne sont pas séparés. Je précise qu'un diplôme + école équivaut à une ligne, donc chaque diplôme a sa propre ligne.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Si ce n’est pas le bon forum pour poser cette question. Pourriez vous me suggérer un forum lié au sujet ? Merci

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par younes_88 Voir le message
    Si ce n’est pas le bon forum pour poser cette question. Pourriez vous me suggérer un forum lié au sujet ? Merci
    C'est un souci d'algorithmie (comment analyser/corriger une info entrante). Une fois l'algo trouvé, tout langage pourra le déployer y compris Python...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/11/2020, 14h17
  2. Réponses: 10
    Dernier message: 11/02/2011, 12h02
  3. Donne deux places match Rugby Pro D2
    Par Civodul4 dans le forum Petites annonces
    Réponses: 0
    Dernier message: 29/10/2009, 14h46
  4. TreeView -> ajouter un child à un noeud donné
    Par fake dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/03/2003, 17h14
  5. connexion base de donné
    Par saidi dans le forum MFC
    Réponses: 3
    Dernier message: 07/08/2002, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo