We really covered a lot in this chapter! We built a fairly complex traditional NLP example that had many hyperparameters, as well as training it on several machine learning algorithms. It achieved a reputable result of getting 95.24% accuracy. However, when we looked into traditional NLP in more detail, we found that it had some major problems: it requires non-trivial feature engineering, it creates sparse high-dimensional data frames, and it may require discarding a substantial amount of data before machine learning.
In comparison, the deep learning approach uses word vectors or embeddings, which are much more efficient and do not require preprocessing. We ran through a number of deep learning approaches, including 1D convolutional layers, Recurrent Neural Networks, GRUs, and LSTM. We finally combined the two best previous approaches into one approach in our final model...