word2vec Learning word embeddings with AdaGrad and Noise Contrastive Estimation, C++ 11. The original paper is https://www.cs.toronto.edu/~amnih/papers/wordreps.pdf