Negatives should be random words, but not only the most common ones, which would be trivial to reject. Word2vec draws negatives from the unigram distribution raised to the power 3/4, a compromise that gives rare words more chances than their raw frequency.
Implement unigram_noise(counts, power), returning the normalized counts raised to power.
Raise the counts to power, then divide by the sum.
No results yet
Run your code to check it against the examples, or submit to run every test.