This page contains a collection of books and other content that I have found useful and hope you will as well. Any of the links which point to Amazon are affiliate links which mean this site will receive a small referral commission for any purchases through these links. The rest of the content is freely available and very useful. If you have some machine learning knowledge and really want to get started with Deep Learning in general or for natural language processing (NLP), then this is the definitive reading list for you for this year.

deep learning

The book Deep Learning by Ian Goodfellow,‎ Yoshua Bengio and Aaron Courville is a definitive must-have for every deep learning practitioner. After covering the essential maths in the first 4 chapters, there is one on basic approaches: chapter 5 fleshes out the essential skeleton of a Deep Learning algorithm, and surveys the main difficulties facing anyone who wants to actually design such algorithms. Chapter 6 then proceeds at practitioner’s level with the quintessential deep learning set-up, namely the Deep Feed-Forward (Neural) Network, with subsequent chapters refining on this with chapters about convolutional (CNN) and recurrent (RNN) neural nets. Finally the authors venture into the land of current research.

Neural Network Methods in Natural Language Processing (Synthesis Lectures on Human Language Technologies)

Yoav Goldberg’s book Neural Network Methods for Natural Language Processing is based on his excellent paper “A primer on neural network models for natural language processing“. This survey paper is an excellent overview particularly of the different elements of word embedding. For those that have read the paper and are wondering if there is value in getting the book – the short answer is yes. The book has grown and contains brief overviews of Machine Learning and NLP. It is also deeper and more up to date. One of the strengths of the paper that really carries over to the book is the breadth of the discussion. Where there are alternatives they are highlighted with citations which makes it easy for the reader to go off to this literature and read the literature related to that approach. Finally the other review stated that this book was too simple yet I strongly disagree. The book covers all of the main the main areas and passes on a lot of practical wisdom from one of the best practitioners in the field. In short this is a great book with an incredible amount of depth by a well respected author in the field. It is the best single starting point for people coming into the field who are looking to have a deep understanding of how models work and when to use which kind of approach for which type of problem.

deep learning with python cholletDeep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher François Chollet, this book builds your understanding through intuitive explanations and practical examples. Whether you’re a practicing machine-learning engineer, a software developer, or a college student, you’ll find value in these pages. The book avoids mathematical notation, preferring instead to explain quantitative concepts via code snippets and to build practical intuition about the core ideas of machine learning and deep learning.

Rules  of Machine Learning: Best Practices for ML Engineering

The Rules of Machine Learning by Martin Zinkevich is intended to help those with a basic knowledge of machine learning get the benefit of Google’s best practices in machine learning. It contains useful tips for all kinds of scenarios and topics in applied machine learning ranging form getting your infrastructure right to the problem of training-serving-skew.  If you have taken a class in machine learning, or built or worked on a machine­-learned model, then you have the necessary background to read this document.

 How I work with the books

I must say, that the combination of both books. If you’re facing an NLP related problem you will find an approach presented in the second book. If you selected an approach you can dive deeper into the literature by looking in the papers recommended at the end of each chapter. To gain a deeper understanding of the method and how the implementations work I prefer reading in the first one. When I work on a NLP problem, I have both books open side by side on my desk. I found this a very fruitful approach.


Have fun reading!