Re:Natural Language Processing in Python
by andrewguenther on Tuesday December 02, 2014 @03:41PM
(#8689732)
NLTK is a wonderful toolkit. Its selection of corpera is great and its many utility functions for processing text are incredibly useful and easily extendable.
That being said, a lot of the ML, porter, and stemmer implementations are a bit out of date from the current cutting edge in the field. If you are interested in using NLTK for serious projects, I highly recommend writing custom implementations of these modules or using other libraries.
Re:Natural Language Processing in Python
by andreasvc on Tuesday December 02, 2014 @05:51PM
(#8690592)
It should be noted that NLTK is a library intended for didactic purposes. Efficient implementation and/or state-of-the-art algorithms are not priorities.
Re:Natural Language Processing in Python
by acosmism on Tuesday December 02, 2014 @07:17PM
(#8691040)
Agreed. I too had given a tutorial on this a while back (https://www.youtube.com/watch?v=kKe4M4iSclc) and nltk is a quick way to prototype up something neat,but yes- if you need more than "toy" functionality, there are currently better tools for the job.
Re:Natural Language Processing in Python
by ehurrell on Wednesday December 03, 2014 @04:03AM
(#8692604)
Seconding the power of NLTK for prototyping, it's very easy to build something quickly to test an approach on your data, and at least in my experience, designed in such a way that I could easily replace elements with my own code.
Re:Natural Language Processing in Python
by acosmism on Wednesday December 03, 2014 @07:14PM
(#8697178)
Thank you, I'm glad you you enjoyed it - I hope to have one on more advanced topics at some point. If you are looking for a named entity extractor sample, I have a sample from my talk on github: https://github.com/shanbady/NLTK-Boston-Python-Meetup/blob/m...
That being said, a lot of the ML, porter, and stemmer implementations are a bit out of date from the current cutting edge in the field. If you are interested in using NLTK for serious projects, I highly recommend writing custom implementations of these modules or using other libraries.
The sample uses the built-in named entity tagger but nltk also has support for leveraging the Stanford named entity tagger: http://www.nltk.org/api/nltk.tag.html#module-nltk.tag.stanfo...
For machine learning turn to scikit-learn.