Trouver sur des mots "se ressemblent"

Le
Laurent Claessens
Bonjour


est-ce qu'il y a un moyen de retrouver dans une liste de strings les
éléments qui ressemblent à un mot donné.

Le but étant de trouver des fautes de frappes (les correcteurs
d'orthographe font ça tout le temps).

Exemple :

J'ai "pore" (manque un "i") et je voudrais retrouver dans la liste
["pomme","poire","prune"]

Je voudrais donc un truc qui donne pour "égal" deux chaînes qui
diffèrent d'une lettre manquante, deux lettres inversée, une ou deux
lettres mal tapées


Est-ce que ça existe tout cuit ?


Bonne journée
Laurent
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain Ketterlin
Le #23407871
Laurent Claessens
Je voudrais donc un truc qui donne pour "égal" deux chaînes qui
diffèrent d'une lettre manquante, deux lettres inversée, une ou deux
lettres mal tapées ...



http://en.wikipedia.org/wiki/Levenshtein_distance

-- Alain.
Alain Ketterlin
Le #23407861
Laurent Claessens
Je voudrais donc un truc qui donne pour "égal" deux chaînes qui
diffèrent d'une lettre manquante, deux lettres inversée, une o u deux
lettres mal tapées ...



http://en.wikipedia.org/wiki/Levenshtein_distance



Pardon, mon message est parti un peu vite. Il existe un une version
python à

http://code.activestate.com/recipes/576874-levenshtein-distance/

Et sûrement d'autres.

-- Alain.
alain31
Le #23410271
Regarde la bibliothèque difflib, très efficace pour ce genre de
choses.
Publicité
Poster une réponse
Anonyme