https://medium.com/@monocosmo77/how-noise-contrastive-estimation-works-part9-machine-learning-future-aa40b4ba1e1c