Original article was published by Raymond Cheng on Artificial Intelligence on Medium
To date, there are a lot of books out there about Natural Language Processing that you could learn from. However, choosing the right book for yourself might be intimidating since there is just so much! This post provides a list of the top books I personally recommend to supplement your NLP learning. I have divided the list into practice and theory books, depending on whether you are more of a practitioner or researcher.
This book outlines how you can build a real-world NLP system for your own problem. It guides you through the steps toward building a high-performing and effective NLP setup tailored specifically to your use case. The book covers the wide spectrum of various NLP tasks, different NLP and deep learning methods, how to fine-tune the models to your own specific setting, evaluation of different approaches, software implementation and deployment, and finally best practices from leading researchers.
This book serves as a practical guide teaching you how to build NLP applications using the popular Pytorch library. It is a handy book that will teach you: computational graphs and supervised learning paradigm, basics of Pytorch, traditional NLP methods, foundations of neural networks, word embeddings, sentence prediction, sequence-to-sequence models, and design patterns for building production systems. This is a great book for those who like to learn from practical examples and want to use Pytorch for development.
This book assumes an elementary understanding of deep learning and Python skills. It teaches you how to tackle modern fun NLP problems using Python libraries like Keras, Tensorflow, gensim, and sci-kit learn. The book covers content from the basics to deeper NLP concepts: word preprocessing, word representations, perceptron, CNN, RNN, LSTM, sequence-to-sequence models and attention, named entity recognition, question answering, dialogue systems, and finally optimization of NLP systems.
The authors of this book demonstrate how deep learning is possible without a Phd in AI, a misconception that is commonly believed in the industry. This is all possible using the popular framework fast.ai that aims the production and research of NLP into only a few lines of code. This book shows you how to build and train deep learning models really fast, use the methods that are best practice, improve accuracy and speed, and deploy your model as a web application. It is a perfect book for people who do not have much background in deep learning or NLP yet know some basics in Python.
This is my favorite theory book on NLP that is very comprehensive. It focuses on the concepts behind neural network models for NLP and shows how they are successful in solving NLP problems. The first half of the book covers the supervised learning, feedforward neural networks, basics of working with text data, distributed word representations, and computation-graph abstraction. The second half of the book introduces more specific model architectures that form the basis of many state-of-the-art approaches today: CNN, RNN, LSTM, generation-based models, and attention models.
This book is mainly for advanced students, post-doctoral researchers, and industry researchers who want to keep up-to-date with the state-of-the-art in NLP (up until mid-2018). This book reviews the state-of-the-art methods in various NLP tasks: speech recognition, dialogue systems, question answering, machine translation, sentiment analysis, natural language generation, etc.
This book explains the concepts behind deep learning for NLP. It is divided into three sections: Machine Learning, NLP, and Speech Introduction; Deep Learning Basics; and Advanced Deep Learning Techniques for Text and Speech. The first section introduces basic machine learning and NLP theory. The second section teaches basic concepts of NLP including word embeddings, CNN, RNN, and speech recognition models. The last section discusses cutting edge research in NLP, such as attention mechanisms, memory augmented networks, multi-task learning, reinforcement learning, domain adaptation, etc.
by Jacob Eisenstein (Published on October 1, 2019)
This book is targeted towards advanced undergraduate and postgraduate students, academic researchers, and NLP software engineers. It provides a comprehensive study upon classic algorithms and also contemporary techniques used in the current age. The book is divided into four sections. The first section introduces basic machine learning, and the second section teaches structured representations of text. The third section explores different word representations, while the last section covers the three essential NLP applications: information extraction, machine translation, and text generation.
After the post, I hope you now gained a broader perspective on the top books available out there! Hope you have a book in mind at the end of the day if that is your intended purpose 😀
Here is the list of the books again for your convenience:
(Note: This post contains affiliate links to books that are discussed)
If you like my work, you can also take a look at my previous post on the top NLP Libraries 2020!