https://towardsdatascience.com/gradient-descent-based-word-vectorization-for-natural-language-processing-a71fe8e9c8e6