Correcteur orthographique

Correcteur orthographique - Algo - Programmation

Marsh Posté le 29-05-2004 à 11:43:20    

:hello: ,
Je dois faire un projet en c++ qui corrige du text en se referant a un dictionaire pour verifier que le mot est mal orthographie puis a un system de "cout" suivant quil y ai eu substitution : (cat : ct) ,insertion (cat : clat) ou repetition (cat : catt)
 
bon jen sui qu an debut et j aimerai un avis sur cette methode :
comme je vais verifier si les mots sont present dans le dictionaire (un fichier de 230 kb) dans quel type datastructure devrais je copier le fichier en memoire sachant que ce dictionaire est ordonne pour permettre uen recherche rapide de chaque mots.
 
 
un set plutot qu une list ?
merci,
 
   

Reply

Marsh Posté le 29-05-2004 à 11:43:20   

Reply

Marsh Posté le 29-05-2004 à 18:04:12    

tu peu utiliser une hash table, ou un filtre de bloom

Reply

Marsh Posté le 30-05-2004 à 02:53:25    

jai pense au hachtable masi je sois y mettre une cle et un lement, et la sa seras quoi ? "cat : cat : je dedouble tout ?

Reply

Marsh Posté le 30-05-2004 à 11:08:53    

salut,  
Il est toujours difficile de commencer à manipuler les langues naturelles quand on n'y a jamais touché. En fait la plupart des problématiques ont déjà été traitées mais il est assez dur de trouver de la doc dessus (surtout en français).
Pour ton problème il faut savoir si tu stockes toutes les formes possibles d'un mot ou uniquement le radical. Dans le premier cas, les pluriel, féminins de poseront pas de problème. Dans le second cas il va falloir mettre en place un moteur d'extraction de radical, vérifier l'existence du radical et vérifier ensuite qu'il existe une dérivation syntaxique (ajout d'infixe, préfixe, circumfixe et suffixe) qui donne le mot trouvé.
Dans tous les cas, afin de minimiser l'occupation mémoire et maximiser la rapidité il faut utiliser un bloom filter qui permet de travailler avec des probabilités plus que correctes.
un ptit lien : http://www.nada.kth.se/theory/projects/swedish.html
si tu as d'autres questions n'hésites pas!

Reply

Marsh Posté le 30-05-2004 à 12:14:04    

ha c est marrant ca justement je viens daller voir une these de nos amis les suedois enfin jai pas tous lu ya des grosses technique d optimisation de matrices ect.. et j ensort avec ca  :
une fonction qui utilise lalgo de levenstein qui me retourne un chiffre (apres avoir remplie la matrice) qui correspond au cout : un cout de 0 veut dire que cest parfais les deux string sont egal, une inversion donnera un cout de  1 et non pas 2 (lalgo a etait un peu modifie)
 
enfin bref jai ma list de mot provenant du dico, ma methode qui me donne un cout je vais pas mamuser a verifier tout les  
mot 1 par 1 avec ceux du dico et prendre le cout les plus proche de 0 ! ca m a lair un peu gros.
 
en tous cas c est super interessant.


Message édité par xiluoc le 30-05-2004 à 12:15:26
Reply

Marsh Posté le 30-05-2004 à 12:51:57    

c'est un peu normal que l'on est pas mal de travaux suédois car c'est une langue très complexe et peu employée. Pour ces raisons, aucune entreprise privée n'a travaillé dessus (le word suédois n'a de correcteur ortho et grammatical que depuis peu (version XP je crois)) Tous les travaux sont donc fait par les universités et particulièrement KTH ce qui fait qu'ils sont accessible par internet. Peu d'autres langues ont les même caractéristiques.  
Enfin si tu souhaites approfondir le traitement des langues je ne peux que te conseiller l'excellent bouquin : http://www.cs.colorado.edu/~martin/slp.html speech and languages processing.
Et pour finir et si ce n'est pas indiscret, tu fais ton correcteur dans quel cadre ?

Reply

Marsh Posté le 30-05-2004 à 13:06:42    

second annee de bachelor of computing science a Sydney, Macquarie university.
unite comp225 http://www.comp.mq.edu.au/units/comp225/
Algorythm and Datastructure c est notre dernier asignment.
Je demanderai conseille a un tutor demain et je posterai mon code quand ca marchera.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed