Live data from Hacker News

Natural Language Processing with Python, free online

nltk.org

11–20 of 35 posts

Re: Natural Language Processing with Python, free online

#11
If you're interested in natural language processing (NLP), but don't have a linguistics background, I would suggest reading Steven Pinker's The Language Instinct. It will introduce you to the necessary terminology and concepts for NLP in an easy-to-digest way. (The NLTK book has been free online for quite some time as well.)

Re: Natural Language Processing with Python, free online

#12
We're using this library in class (Foundations of Language Technology) at the TU Darmstadt. From my point of view as a student, who hasn't done much Python in the past, it's pretty easy to use and works well for learning about NLP, hiding many implementation details and letting me focus on solving fairly complex tasks on data/algorithm levels.

Re: Natural Language Processing with Python, free online

#13
post #10

I own the paper version of this - just a heads up, it's written primary for Language Scientists rather than developers. You may find yourself constantly pausing and looking up concepts and their meanings / practical uses on linguistics websites when returning to the book. It's a great resource, but don't expect to get started quickly.

I'm not sure that any book on the NLTK, even one written specifically for developers, could avoid the concepts you're referring to. These terms and concepts are inherent to the study of natural language processing. So while I agree that there are a significant number of NLP-related terms used, I think that has less to do with the book's audience and more to do with the book's subject matter. And the use of computational linguistic terminology is not gratuitous -- it's important to learn the jargon so you can look for the right type of help when you don't know how to do something.

On the flip side, the Python in the book is fairly straightforward, so developers should be able to dive right in with the code. In fact, experienced developers will probably find themselves skipping over many sections that are essentially lessons on Python.

Overall, this book is a good introduction to NLP and NLTK. That said, if you're at all familiar with NLP, you'd probably do just as well to dive right in and start working with the toolkit. NLTK is very well-documented and easy to work with. It's also amazingly complete -- tokenizers, stemmers, POS taggers, classifers, etc. etc etc. It also includes a number of algorithms that commonly fall under ML, data mining, and IR. If you work with Python and do any kind of work with unstructured text, you need to check NLTK out.

Re: Natural Language Processing with Python, free online

#14
post #10

I own the paper version of this - just a heads up, it's written primary for Language Scientists rather than developers. You may find yourself constantly pausing and looking up concepts and their meanings / practical uses on linguistics websites when returning to the book. It's a great resource, but don't expect to get started quickly.

When looking into NLTK to support a Twitter classifier, even though I had no NLP experience, the NLTK syntax/interface was sufficiently self-contained.

I was mostly interested in tagging and chunking and found it easy to reason about and use the relevant NLTK features with little auxiliary reading.

The only issues I found were with NLTK itself, e.g., Python version support, loading time, packages.

Re: Natural Language Processing with Python, free online

#15

If you're interested in natural language processing (NLP), but don't have a linguistics background, I would suggest reading Steven Pinker's The Language Instinct. It will introduce you to the necessary terminology and concepts for NLP in an easy-to-digest way. (The NLTK book has been free online for quite some time as well.)

The Language Instinct is a great book, but unless the content of newer editions has changed significantly, it's more of an overview of linguistics in general, and language acquisition in particular. There's not much -- if any -- practical NLP. For example, looking at Amazon's statistically-improbable phrases (SIPs), I see nothing related to NLP, nor do I see any terms related to practical NLP during a quick glance of the book's index. The index includes references to a few pages on "statistics of language", but I honestly don't remember what those were about.

Also, the Language Instinct was written in the early 1990s, so although new editions have been released, it's a bit dated. It's a classic read for linguists and people interested in language, but I wouldn't recommend it as an introduction to NLP.

Re: Natural Language Processing with Python, free online

#17
The book and software are both a great resource. I usually "roll my own" NLP software, but I have used NLTK for small customer text mining tasks. Definitely "batteries included." I bought the book years ago, but now, the online edition may be more current.

Re: Natural Language Processing with Python, free online

#18
post #13
post #10

I own the paper version of this - just a heads up, it's written primary for Language Scientists rather than developers. You may find yourself constantly pausing and looking up concepts and their meanings / practical uses on linguistics websites when returning to the book. It's a great resource, but don't expect to get started quickly.

I'm not sure that any book on the NLTK, even one written specifically for developers, could avoid the concepts you're referring to. These terms and concepts are inherent to the study of natural language processing. So while I agree that there are a significant number of NLP-related terms used, I think that has less to do with the book's audience and more to do with the book's subject matter. And the use of computatio…

> I'm not sure that any book on the NLTK could avoid the concepts you're referring to.

Me too. I'm saying the book (like almost all technical documentation) should be task-based. Let people read the chapter with their problem - don't ask them to read a whole list of solutions to work out which one is applicable. Eg:

- Title: Preparing Text for Analysis

(explain what tokenizing is and why it's necessary)

- Title: 'gauging opinion of a topic'

(explain what sentiment analysis is)

- Title 'identifying relationships'

(explain logical inference)

Task-based documentation doesn't seek to avoid terminology. It seeks to explain why those concepts exist and how they are useful (which encourages people to learn, as they become aware of the practical application of their knowledge).

Re: Natural Language Processing with Python, free online

#19
Probably up there amongst the most useful Python libraries IMO. Hasn't it been available for free online for a long time now though?

Anyway, in case anyone reading this missed it, the Stanford NLP class taught by Chris Manning and Dan Jurafsky starting next week (Jan 23rd) will allow programming assignments to be submitted using Python and NLTK, which is really good news.

So now's a good time to get familiar with the NLTK, or for a refresher for those of us already acquainted with it.

Post reply on HN