NLTK Book on Sale Now

« previous post | next post »

The NLTK book, Natural Language Processing with Python, went on sale yesterday:

Cover of Natural Language Processing with Python

"This book is here to help you get your job done." I love that line (from the preface). It captures the spirit of the book. Right from the start, readers/users get to do advanced things with large corpora, including information-rich visualizations and sophisticated theory implementation. If you've started to see that your research would benefit from some computational power, but you have limited (or no) programming experience, don't despair — install NLTK and its data sets (it's a snap), then work through this book.

I want to be careful to distinguish Natural Language Processing with Python from the Natural Language Toolkit. The book has pedagogical aims, and NLTK is its technological centerpiece and main testing ground. However, NLTK is for advanced researchers as well. It is a scientific programming library, akin to SciPy, Octave, Praat, and R (and their for-profit counterparts). It provides lots of high-level functions for doing advanced things with linguistic data and theory. Slurp up a bunch of novels and explore their lexical statistics; traverse the WordNet; annotate your own data; prove logical theorems; and so forth.

By the way, the colophon explains that the whale on the cover is "a right whale, the rarest of all large whales", and that such whales "are not sexually mature until 10 years of age", which is, according to Steven Bird, the time from this book's birth (at Penn) to its publication. Many thanks to everyone who has contributed to the book and to NLTK!


  1. Chris said,

    July 2, 2009 @ 8:41 pm

    Hmmm, you say the NLTK allows us to "annotate your own data"; does it provide an annotator tool? Or does it plug-in in some way to tools like WordFreak?

  2. Alex said,

    July 5, 2009 @ 3:03 pm

    "This book is here to help you get your job done." Fine line, but:

    Perl is a language for getting your job done. – Larry Wall in "Programming Perl", sometime in 1990s

  3. Chris Potts said,

    July 6, 2009 @ 9:45 am


    I am guessing that this is a wry insider's reference. Check out their comments on Perl (and others).

  4. Dan T. said,

    July 6, 2009 @ 2:30 pm

    Their comments on Python vs. Perl seemed to focus on how Python is easier for those unfamiliar with its particular syntax to understand what the program does, because it uses a quasi-plain-English style. Perl is more of a "geek's language" with its sometimes-obscure syntactic elements. Geeks will, however, counter by saying that such obscurities often allow the expression of subtle complexities and fine distinctions difficult to do in "plain language". Going back further in programming language history, COBOL was designed to look like "plain language" for expressing business-oriented tasks, but programmers almost universally hated it.

  5. Taylor B said,

    September 4, 2012 @ 12:35 pm

    I got the Japanese translation 入門自然言語処理 of this book, thinking I would be able to parse Japanese blog comments after reading this book. Well, not really, the Japanese version has little to say about Japanese. Shame.

RSS feed for comments on this post