/beginner_nlp

A curated list of beginner resources in Natural Language Processing

A curated list of beginner resources in Natural Language Processing

Maintainer

Dibya Chakravorty

Contributions

Feel free to send pull requests, or email me (dibyachakravorty@gmail.com)

How this list got started

On November 10, 2016, a Hacker News (HN) user aarohmankad asked the HN community for suggestions on beginner NLP resources. This Ask HN thread became popular and stayed in the front page for some time. In this time, it gathered plenty of community generated suggestions about beginner NLP resources. This list is an attempt to summarize this discussion into a coherent list of resources. I also wrote a blog post on this.

Table of Contents

Books

MOOCs

YouTube Videos

Online University Courses

Packages to Play With

  • NLTK : Most popular NLP library in Python. Excellent documentation in the form of a book/free online version. Powerful and extensible.
  • Stanford CoreNLP : Fast and feature rich NLP library, written in JAVA. An online demo is available here.
  • Spacy : Another emerging NLP library in Python. Fast and state of the art. Tries to maintain an uniform API while implementing state of the art algorithms. They have a blog and an online demo.
  • Apache Tika : Offers an unified interface for extracting text data and meta data from many different file formats (PPT, PDF etc.) and analysis.

Academic Papers

Learning by Doing

Often the best way to learn is to contribute to an existing open source NLP project or implementing a fun idea.

Open Source Projects

  • Betty : Betty is a open source project with both real-life use and practical NLP considerations, and is looking for new maintainers.

Fun Ideas

APIs

  • IBM Watson Cloud : From the makers of IBM Watson. It lets you integrate NLP functionality in your app via an API. There's a free tier/free trial.

User Groups

Other Guides