This project trains a few thousand names from 18 languages of origin and predicts which language a name is based on the spelling. It uses a character-level LSTM model to predict the next character. The model reads words as a series of characters and outputs a prediction and a “hidden state” at each step, feeding its previous hidden state into each next step. We take the final prediction to be the output, i.e. which class the word belongs to.