Advertisement
Guest User

Untitled

a guest
May 24th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.08 KB | None | 0 0
  1. /** Fonction qui renvoie les k mots ayant la similarité la plus élévé pour le mot rentré
  2.   * @param k : un int
  3.   * @param w: une String
  4.  * @return : un tableau de Word
  5.  **/
  6.  
  7. public Word[] kSimilarity(String w,int k){
  8.     Word [] kSimilarWords  = new Word [k];
  9.     Vector vecRep = this.searchString(w).getVectorialRep();
  10.     for(int r = 0; r < k; r ++){
  11.         kSimilarWords[r] = this.vocab[0];
  12.     }
  13.     for(int i= 0;i < nbWordsInVocab; i++){
  14.         if(w.compareTo(this.vocab[i].getWord()) != 0){  // si w et vocab[i] sont different
  15.             for(int j = 0; j < k; j++){  // pour tout le tableau kSimilarWords
  16.                 if(vecRep.similariteCosinus(this.vocab[i].getVectorialRep()) > vecRep.similariteCosinus(kSimilarWords[j].getVectorialRep())){ // si vocab[i] et plus similaire que kSimilarWords[j]
  17.                     kSimilarWords[j] = this.vocab[i]; //tu remplis kSimilarWords par vocab[i]
  18.                 }
  19.             }
  20.         }
  21.     }
  22.  
  23.     return kSimilarWords;
  24.  
  25. }
  26.  
  27. //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