I got this question from a student who purchased one of my course bundles:
Thank you for your videos and knowledge sharing. I wanted to check with you also if there are any books or videos you recommend to increase my general knowledge of NLP and AI.
There are two parts to that question, and I will answer the first one in this article.
When I recommend books and other resources, I will not be looking for the "most comprehensive". In fact, except for a very few extremely motivated learners, most people want to get the most "bang for the buck". That is, they want to spend less time, not get confused, and learn enough to be dangerous. 🙂
In that spirit, here are my recommendations for books and courses for learning Natural Language Processing/Understanding.
Here are my picks:
Python Text Processing with NLTK Cookbook
I really like this book by Jacob Perkins as an excellent start for people starting to learn NLU. If you didn't know already, NLTK is Natural Language ToolKit, which actually allows you to do a lot of different kinds of text processing and already supports many of the NLU tasks you might want to do.
Why I like this book
1 It uses Python to explain concepts which means the code samples are short and concise
2 You can still understand the material even if you don't want to or cannot read the code
3 The cookbook format means there isn't any dependency among sections (generally) which helps you jump to the topic of interest
4 The images which explain the text material alone are worth the price of the book
You might see some negative reviews of the book on Amazon, but I would ignore them. It is an excellent resource for beginners.
Get the book here
The second book I recommend is Taming Text by Grant Ingersoll et al.
This is an entirely different kind of book to the previous one.
It is actually more thorough, more systematic and builds concepts up. Which means it is quite hard to read in a random order.
Why I like this book
1 It is really well written. When you go through it, you can see that the author(s) have put in a lot of effort to explain the material.
2 It provides a very systematic and thorough discussion
3 Even if you are a beginner (as long as you are technical), you will find the little tables scattered through the book very interesting to browse. The book is definitely scan and skim friendly, perfect for people looking to learn "just enough to be dangerous" 🙂
My one little crib about the book is the final chapter at the very end of the book, which looks like it has been forcibly crammed in to add some material to the book about the state-of-the-art of NLU (when the book was published). It doesn't flow as well as the initial sections, but it is not a big deal since it only comes at the end of the book.
Get the book here
My Intro to NLU video course
I have created a free, 5 day video course which goes over the basics of NLU. You need to register on my course website to be able to go through the course.
It is different from the books because it is a bit more hands-on in the sense that I talk about using tools to understand the definitions of theoretical concepts.
It is well suited for people learning Dialogflow who are only interested in getting a basic understanding of NLU and would probably prefer a more tool-based approach to learning the concepts, rather than having to write out their own code. (At the same time, remember that to properly understand all the concepts you learn in the video course, you do have to write code at some point).
You can enroll here.
Do you have any recommendations of your own that you would like to include here?
- How to debug your Dialogflow bot
- Client Question: Can I use GPT2 for my Dialogflow bot?
- Weekly Free Mini Courses
- 15 things all Dialogflow bot makers should know
- Autogenerating FAQ bot from training text
- A MUST read article on Dialogflow training phrase quality
- Using Collect.chat for preNLU bots
- Reader Question: How to get some sample training data for Dialogflow?
- Getting the top 3 (or top N) intents in Dialogflow: An experiment
- Dialogflow Regexp (regular expression) entity