This chapter is the first of several in which we'll discuss different neural network algorithms in the context of natural language processing (NLP). NLP teaches computers to process and analyze natural language data in order to perform tasks such as machine translation, sentiment analysis, natural language generation, and so on. But to successfully solve such complex problems, we have to represent the natural language in a way that the computer can understand, and this is not a trivial task.
To understand why, let's go back to image recognition. The neural network input is fairly intuitive—a 2D tensor with preprocessed pixel intensities, which preserves the spatial features of the image. Let's take a 28 x 28 MNIST image, which contains 784 pixels. All the information about the digit in the image is contained within these pixels only and...