public Collection<String> getNearestNeighbours(INDArray v, int k) { Counter<String> distances = new Counter<>(); for(Object s : vec.vocab().words()) { String word = (String) s; INDArray otherVec = encode(word); double sim = Transforms.cosineSim(v, otherVec); distances.incrementCount(word, sim); } distances.keepTopNElements(k); return distances.keySetSorted(); }