https://medium.com/@monocosmo77/understanding-the-workings-of-dialogue-systems-part1-machine-learning-ec5e4c8daa2a