Bonjour!
Je suis une étudiante en informatique, et je suis entraine de faire un tp sur le correcteur des mots dans un dico
Et on fait une classe special qui va check si le mot M mal orthographié est present dans le dictionnaire sinon on fait les trigrammes du mot M et on cherche dans notre dico les mots qui ont les trigrammes en commun de maniere que on aura un HashMap< String, List<String>> où le clé c'est le trigramme du M et le value est la liste des mots du dictionnaire qui ont le trigramme en commun.
voici le code et notamment on aura besoin de selectionner les mots de dictionnaire qui ont le plus de trigrammes en commun avec le mot M (max 100 mots) et cela je trouve est compliqué à faire (( quelqu'un pourrra donner un indice de selectionner les mots le plus rapidement possible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public HashMap<String, List<String>> checkcheck(String m, Dictionary dico){ TreePrefix tree = dico.make_dico(dico.filename); HashMap<String, List<String>> map = new HashMap<>(); List<String> list_dico = dico.make_list(dico.filename); //on check si le mot m appartient au dico if(tree.find(m)){ return null; } //on crée une liste de trigrammes du mot m List<String> list_trig = trigram_of_word(m); //on remplit le HashMap for( String trig : list_trig){ List<String> list = new ArrayList<>(); for( String word : list_dico){ //rajouter à chaque mot "<"et ">" ? if(word.contains(trig)){ list.add(word); } } map.put(trig, list); } return map; }
Bien cordialement
Partager