Neural Machine Translation: A Review of the Approaches