Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** Fonction qui renvoie les k mots ayant la similarité la plus élévé pour le mot rentré
- * @param k : un int
- * @param w: une String
- * @return : un tableau de Word
- **/
- public Word[] kSimilarity(String w,int k){
- Word [] kSimilarWords = new Word [k];
- Vector vecRep = this.searchString(w).getVectorialRep();
- for(int r = 0; r < k; r ++){
- kSimilarWords[r] = this.vocab[0];
- }
- for(int i= 0;i < nbWordsInVocab; i++){
- if(w.compareTo(this.vocab[i].getWord()) != 0){ // si w et vocab[i] sont different
- for(int j = 0; j < k; j++){ // pour tout le tableau kSimilarWords
- if(vecRep.similariteCosinus(this.vocab[i].getVectorialRep()) > vecRep.similariteCosinus(kSimilarWords[j].getVectorialRep())){ // si vocab[i] et plus similaire que kSimilarWords[j]
- kSimilarWords[j] = this.vocab[i]; //tu remplis kSimilarWords par vocab[i]
- }
- }
- }
- }
- return kSimilarWords;
- }
- //alors des que un mot a la similarite plus grande, tu remplis tout le tableau avec ce mot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement