Author: Steven Bird, Ewan Klein & Edward Loper
Publisher: O'Reilly, 2009
Aimed at: Developers with a practical interest in natural language processing
Pros: Motivating and fun to read
Cons: Light on theory
Reviewed by: Mike James
The big problem with books on natural language processing is that they convince you that it's possible and then you get all excited and try it out only to discover that its a lot harder than you could ever have imagined. This book is likely to get you enthusiastic about language processing and all I can say is think about almost any natural language interface you have ever had the misfortune to have to use.
The Python NLTK Natural Language Toolkit is used here to demonstrate practical natural language processing rather than theory. The book starts from simple things - almost just text processing. This slowly builds up until we are using feature-based grammars to parse natural language. Many of the techniques are fairly basic - normalising text, regular expressions for tokenising text, segmentation and so on. These are useful and simple enough to be effective. The problem is that we slide ever so slowly into more advanced and more ambitious things - tagging and classifying text, using chunking to extract basic information but in Chapter 8 we transition to using grammar and logic to understand texts and this is more speculative in the sense of actually using it in anything real.
The main problem with the book is that it is light on theory. If you know a little or did some courses a few years ago there is enough to let you see what it going on but not if you are starting from scratch. It also doesn't do very much about teaching you Python so you may need another book for this.
if you are thinking about adding natural language processing to any sort of application this is a must read book. It is also great fun and if have any interest in AI you will enjoy reading it. If you are running any sort of course on AI then this would also be a useful resource, providing you with lots of examples and projects. Oh, and if you want to be reminded of how difficult the natural language problem is just read the Afterword. The sentences listed there are enough to make you realise that language is a wonderful invention.