An RNN is a traditional feed-forward network with feedback. A simple way of thinking about an RNN is that it is a neural network with states. RNNs are used with any type of data for generating and predicting various sequences of data. Training an RNN model is about formulating these sequences of data. RNNs can be used for text data as sentences are just sequences of words. When we use RNNs for NLP, we can use them for the following:
Predicting the next word when typing
Generating new text, following the style already used in the text:
Remember the combination of words that resulted in their correct prediction? The learning process of RNNs is based on the text that is found in the corpus. They are trained by reducing the error between the predicted next word and the actual next word.