2011-03-27 2 views
-1

Proposez-moi un programme ou un moyen de gérer le système de correction/suggestion de mots. - Disons que l'entrée est donnée comme 'Suggset', elle devrait suggérer 'Suggérer'.Programme de suggestion de mots

Merci d'avance. Et j'utilise python et AJAX. S'il vous plaît ne me suggère pas de modules jquery parce que j'ai besoin de la partie algorithmique.

Répondre

1

Algorithme qui résout votre problème appelé "distance d'édition". Compte tenu de la liste de mots dans une langue et d'un mot erroné/incomplet, vous devez construire une liste de mots à partir du dictionnaire le plus proche. Par exemple, la distance entre "suggérer" et "suggset" est égale à 2 - vous avez besoin d'une suppression et d'une insertion. En tant qu'optimisation, vous pouvez assigner différents poids à chaque opération - par exemple vous pouvez dire que la substitution est moins chère que la suppression et la substitution entre deux lettres plus proches du clavier (par exemple 'v' et 'b') est moins cher qu'entre sont éloignés (par exemple 'q' et 'l').

La première description de l'algorithme pour l'orthographe et la correction est apparue en 1964. En 1974, un algorithme efficace basé sur la programmation dynamique est apparu dans un document intitulé "String-to-string correction problem" par Robert A. Wagner et Michael J. Fischer. Tout livre d'algorithmes en a un traitement plus ou moins détaillé.

Pour python il y a bibliothèque pour faire: Levenshtein distance library Vérifiez également ce earlier discussion on Stack Overflow

1

Il vous faudra beaucoup de travail pour en fabriquer vous-même. Il y a une très belle bibliothèque de vérificateur d'orthographe écrite en python, appelée PyEnchant, que j'ai trouvée assez sympa. Voici un exemple de leur site Web:

>>> import enchant 
>>> d = enchant.Dict("en_US") 
>>> d.check("Hello") 
True 
>>> d.check("Helo") 
False 
>>> d.suggest("Helo") 
['He lo', 'He-lo', 'Hello', 'Helot', 'Help', 'Halo', 'Hell', 'Held', 'Helm', 'Hero', "He'll"] 
>>> 
+0

Mais disons que je le fichier texte du corpus !! –

Questions connexes