https://medium.com/@monocosmo77/how-the-bag-of-words-model-works-part2-natural-language-processing-d533fc53268d