https://medium.com/@monocosmo77/how-noise-contrastive-estimation-works-part8-machine-learning-future-2e86d279746d