NMT Assignment Note: Heavily inspired by the https://github.com/pcyin/pytorch_basic_nmt repository