Je programme un programme de vérification orthographique en Python. J'ai une liste de mots valides (le dictionnaire) et j'ai besoin de sortir une liste de mots de ce dictionnaire qui ont une distance d'édition de 2 à partir d'un mot invalide donné.Modifier la distance en Python
Je sais que je dois commencer par générer une liste avec une distance d'édition de un du mot invalide (et ensuite exécuter à nouveau sur tous les mots générés). J'ai trois méthodes, insertions (...), suppressions (...) et changements (...) qui devraient produire une liste de mots avec une distance d'édition de 1, où les insertions sortent tous les mots valides avec une lettre de plus que le mot donné, les suppressions sortent tous les mots valides avec une lettre de moins, et les changements produisent tous les mots valides avec une lettre différente.
J'ai vérifié un tas d'endroits, mais je n'arrive pas à trouver un algorithme décrivant ce processus. Toutes les idées que j'ai imaginées impliquent de parcourir plusieurs fois la liste des dictionnaires, ce qui prendrait énormément de temps. Si quelqu'un pouvait donner un aperçu, je serais extrêmement reconnaissant.
Vous pourriez vouloir regarder le vérificateur d'orthographe de Peter Norvig (http://norvig.com/spell-correct.html) et le modifier en fonction de vos besoins. –