Soundex et Python...
Fermé
louloubyne
-
26 févr. 2010 à 14:48
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 26 févr. 2010 à 18:16
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 - 26 févr. 2010 à 18:16
3 réponses
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
26 févr. 2010 à 15:54
26 févr. 2010 à 15:54
Bonjour,
Bienvenue dans le pays de Python !
J’aimerais t’aider mais je n’ai jamais rien fait avec Soundex et surtout je n’ai pas tout a fait compris ce que tu souhaites faire:
est-ce que tu veux coder toi-même en Python l’Algorithme du Soundex, bien qu’il doive déjà exister dans des tas de langages de programmation ?
tu fais un algo Soundex pour mots français ?
y a-t-il des modules spécifiques déjà tout prèts à utiliser pour ces travail ? quels modules utilises tu ?
comment as tu fait pour le remplacenment des accentuées par des non-accentuées ? utilises tu translate() ?
pour les majuscules, as tu utilisé upper() ?
Bienvenue dans le pays de Python !
J’aimerais t’aider mais je n’ai jamais rien fait avec Soundex et surtout je n’ai pas tout a fait compris ce que tu souhaites faire:
est-ce que tu veux coder toi-même en Python l’Algorithme du Soundex, bien qu’il doive déjà exister dans des tas de langages de programmation ?
tu fais un algo Soundex pour mots français ?
y a-t-il des modules spécifiques déjà tout prèts à utiliser pour ces travail ? quels modules utilises tu ?
comment as tu fait pour le remplacenment des accentuées par des non-accentuées ? utilises tu translate() ?
pour les majuscules, as tu utilisé upper() ?
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
26 févr. 2010 à 17:27
26 févr. 2010 à 17:27
Avoir des cas concrets sous les yeux faciliterait la compréhension.
Comment le programme saura-t-il que ’tel’ numéro doit remplacer ’telle’ lettre ? Où se trouve cette information quand le programme démarre ?
Comment le programme saura-t-il que ’tel’ numéro doit remplacer ’telle’ lettre ? Où se trouve cette information quand le programme démarre ?
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
26 févr. 2010 à 18:16
26 févr. 2010 à 18:16
Que penses tu du code suivant et de son résultat ?
dh = ("Adénoïde aï (singe) aiguë aïeul aïeux aïoli alcaloïde ambiguë ambiguïté " " androïde anéroïde anthérozoïde anthropoïde arachnoïde archaïque archaïsme " " astéroïde j'arguë baïonnette balalaïka barzoï bizarroïde (fam) bisaiguë " " bonsaï caïd caïeu caïman Caïn camaïeu canoë capharnaüm caraïbe Celluloïd " " choroïde ciguë cocaïne cocaïnomane coïncidence coïncident coïncider coïnculpé " " coït colloïdal colloïde contigüe contiguïté corticoïde dadaïsme dalaï-lama " " deltaïque deltoïque discoïde égoïne égoïste égoïstement ellipsoïdal ellipsoïde " " exiguë exiguïté faïence faïencerie faïencier/ère glaïeul goï haïr haïssable " " hautboïste hébraïque hélicoïdal héroïne héroï-comique héroïne héroïsme " " humanoïde hyoïde hyoïdien/enne inouï introït Israël judaïque kafkaïen/enne " " laïc laïcisation laïciser laïcité laïque laïus maïs maoïsme maoïste " " mastoïdien mastoïdite métalloïde moïse mongoloïde monoïque mosaïque naïade " " naïf/ve naïvement naïveté oïdium ouï-dire ouïe ouïr ovoïde pagaïe (fam) " " païen/enne Noël paranoïa paranoïaque perestroïka phalloïde prosaïque " " prosaïquement prosaïsme raïs Rhodoïd rhomboïde röntgen ou roentgen sinusoïdal " " sinusoïde siphoïde skaï spermatozoïde sphénoïde sphéroïde spiroïdal stoïcien/ne " " stoïcisme stoïque stoïquement tabloïd taïaut ou tayaut taïga thyroïde " " thyroïdien/ne trapézoïdal trisaïeul/e troïka typhoïde voltaïque Zaïre ambiguïté " " contiguïté exiguïté Aléa allégresse amitié café céder céleri cicérone crémerie " " crépi crépu défaite désir dessécher dévot égout empiétement enchanté épaule " " événement extrémité fébrile féerie futé gérer goéland goémon guépard " " irrécouvrable irréligieux irrémédiable liséré médecin mélange mémento musée " " muséum pédiatre tétine pécher (faillir) pléiade poésie prévenir réflexion " " refréner réglementer réglementation répréhensible répit sécheresse sécréter " " séquoia spécimen ténacité apôtres hôtes Belvédère célèbre décès dégrèvement " " déjà dérèglement élève éphèbe éphémère épithète géomètre légère légèrement " " légèreté mégère mélèze métèque phénomène prélèvement proxénète sévère sévèrement " " ténèbres théière théorème" ) from time import clock import re iterations = 10000 from string import maketrans table = maketrans('àâéèêëïîôœùûüÿ','aaeeeeiioouuui') print dh.translate(table)[0:808] print te = clock() for i in xrange(iterations): x = dh.translate(table) tf = clock() print tf-te,' avec translate' print dico = dict(zip('àâéèêëïîôœùûüÿ','aaeeeeiioouuui')) print dico def f(u): return dico[u.group()] pat = re.compile('[àâéèêëïîôœùûüÿ]') te = clock() for i in xrange(iterations): x = pat.sub(f,dh) tf = clock() print tf-te,' avec re.sub' print print dh.translate(table)==pat.sub(f,dh)
26 févr. 2010 à 16:14
Oui il s'agit de mots français.
Maintenat, je dois "simplement" =) remplacer telle lettre par tel numéro, mais je n'y parviens pas.
Pas besoin d'un module spécifique à Soundex, je dois faire ça le plus simplement possible, en remplaçant un caractère par un autre. Mais simplement est vite dit....