Advances in of Natural Language Processing and Machine Learning are broadening the scope of what technology can do in people’s everyday lives, and because of this, there is an unprecedented number of people developing a curiosity in the fields. And with the availability of educational content online, it has never been easier to go from curiosity to proficiency.
We gathered some of our favorite resources together so you will have a jumping-off point into studying these fields on your own. Some of the resources here are suitable for absolute beginners in either Natural Language Processing or Machine Learning, and others are suitable for those with an understanding of one who wish to learn more about the other.
We’ve split these resources into two categories:
- Online courses and textbooks for structured learning experiences and reference material
- NLP and Machine Learning blogs to benefit from the work of some researchers and students who distill current advances in research into interesting and readable posts.
The resources on this post are 12 of the best, not the 12 best, and as such should be taken as suggestions on where to start learning without spending a cent, nothing more!
6 free Natural Language Processing & Machine Learning courses & educational resources:
- Speech and Language Processing by Dan Jurafsky and James Martin was first printed in 1999 and its third edition was printed last year. It’s a comprehensive and highly readable introduction to NLP that progresses through the concepts quickly.
- Andrew Ng’s course on Machine Learning is probably the best standalone introduction to the topic, because of both the content (delivered by Ng himself) and the structure (weekly readings, videos, and assignments). After this, you can proceed to Ng’s Deep Learning class with a solid foundation.
- The Deep Learning book by Goodfellow, Bengio, and Courville is an authoritative textbook on the subject. Some (minor) criticism leveled at it focused on verbose definitions, but if you’re new to the subject, you’ll appreciate this greatly as it gives a bit of context to new concepts.
- The video lectures and resources for Stanford’s Natural Language Processing with Deep Learning are great for those who have completed an introduction to Machine Learning/Deep Learning and want to apply what they’ve learned to Natural Language Processing. The programming assignments are in Python.
5. Pythonprogramming.net is an extensive collection of in-depth educational content, with tutorial series on topics from introductory Machine Learning and Natural Language Processing to training a self-driving car in Grand Theft Auto with Deep Learning. While the Stanford series offers a glimpse into a university class on Deep Learning, these videos (by YouTuber Sentdex) cover the same topics in a much more informal setting. If you’re interested in the “how” of Machine Learning rather than the “why,” you should start here instead of Ng’s class or the Stanford videos.
6. scikit-learn, a popular Python library for Machine Learning, has a number of hands-on tutorials, including some on text data.
6 Natural Language Processing & Machine Learning blogs to follow
- Sebastian Ruder, a research scientist focusing on Transfer Learning and Natural Language Processing here at AYLIEN, is the author of this great blog.
- Vered Schwartz authors the cautiously titled Probably Approximately a Scientific Blog, which explains Natural Language Processing concepts and research in accurate and interesting ways (like this explanation of one of the challenges of NLP - ambiguity - via Dad jokes)
- Sujit Pal is a developer who frequently updates his blog, Salmon Run. Since Sajit is coming from a programming rather than a scientific background, this blog is great for programmers who want to learn from a proficient in Machine Learning.
- Ben Frederickson writes posts on his blog about technical and NLP-related subjects like this post on Unicode and lots of other stuff, like this great post on recommending music with different algorithms.
- Although it hasn’t been updated in a while, Kavita Ganesan’s Text Analytics 101 has a list of useful explainers for NLP concepts such as such as N-grams and not-strictly-NLP-things you might find useful, such as comparisons of CrowdFlower and Amazon’s Mechanical Turk.View
- Finally (this isn’t a blog), to keep up with current developments in NLP and Machine Learning research, interesting articles about the subject, and the newest software libraries, sign up for NLP News, a fortnightly newsletter, curated with thought by Sebastian.
Looking into some of these educational resources and keeping an eye on these blogs is a great way to become more proficient in Natural Language Processing and Machine Learning. Be sure to keep an eye on the research sections of our website and our blog to read about new research from the Science team!
While these are great resources for starting a journey to become proficient in Natural Language Processing and Machine Learning, you can leverage these technologies in minutes with our three NLP solutions.