Natural Language Processing (NLP) is the ability of a computer system to understand human language. Natural Language Processing is a subset of Artificial Intelligence (AI). There are multiple resources available online which can help you develop expertise in Natural Language Processing.

In this blog post, we list resources for the beginners and intermediate level learners.

Natural Language Resources for Beginners

A beginner can follow two methods i.e. Traditional Machine Learning and Deep Learning to get started with Natural language processing. These two methods are very different from each other. For the inquisitive, here’s the difference between these two.

Traditional Machine Learning

Traditional machine learning algorithms are complex and often not easy to understand. Here are a few resources which will help you get started in learning NLP using machine learning:

Deep Learning

Deep learning is a subfield of machine learning and is far better than traditional machine learning due to the introduction of Artificial Neural Networks. Beginners can start with the following resources:

Natural Language Resources for Practitioners

If you are a practicing Data Scientist, you will need three types of resources:

  1. Quick Getting Started guides / Knowing about what is hot and new
  2. Problem-Specific Surveys of Methods
  3. Blogs to follow regularly

Quick Getting Started guides / Knowing about what is hot and new

  1. http://colah.github.io/posts/2015-08-Understanding-LSTMs
  2. https://distill.pub/2016/augmented-rnns/

Problem-specific Surveys of Methods

Another type of resources practitioners need is answers to questions of the type: “I have to train an algorithm to do X, what is the coolest (and easily accessible) thing I can apply?”.

Here’s what you will need for this:

TEXT CLASSIFICATION

What’s the first problem people solve? Text Classification, mostly. Text Classification can be in the form of categorizing text into different categories or detecting sentiment/emotion within the text.

I would like to highlight an easy read about different surveys of Sentiment Analysis described in this ParallelDots blog. Though the survey is for sentiment analysis technologies, it can be extended to most text classification problems.

Our (ParallelDots) surveys are slightly less technical and aim to direct you to cool resources to understand a concept. The Arxiv survey papers I point you to will be very technical and will need you to read other important papers to deeply understand a topic. Our suggested way is to use our links to get familiar and have fun with a topic but then to be sure to read the thorough guides we point to. (Dr. Oakley’s course talks about chunking, where you first try to get small bits here and there before you jump deep). Remember, it is great to have fun but unless you understand the techniques in detail, it will be hard to apply concepts in a new situation.

Another survey of Sentiment Analysis algorithms (by people at Linked University and UIUC) is here.

The Transfer Learning revolution has already hit Deep Learning. Just like in images where a model trained on ImageNet classification can be fine-tuned for any classification task, NLP models trained for language modeling on Wikipedia can now transfer learn text classification on a relatively lesser amount of data. Here are two papers from OpenAI and Ruder, and Howard which deal with these techniques.

  1. https://arxiv.org/abs/1801.06146
  2. https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf.

Fast.ai has a more friendly documentation to apply these methods here.

If you are transfer learning two different tasks (not transferring from Wikipedia language modeling task), tricks to use Convnets are mentioned here.

IMHO, such approaches will slowly take up on all other classification methods (simple extrapolation from what has happened in vision). We also released our work on Zero Shot Text classification which gets good accuracy without any training on a dataset and are working on its next generation. We have built our custom text classification API commonly called the Custom Classifier in which you can define your own categories. You can check out the free here.

SEQUENCE LABELING

Sequence Labeling is a task which labels words with different attributes. These include part-of-speech tagging, Named Entity Recognition, Keyword Tagging etc.

We wrote a fun review of methods to tasks like these here.

An excellent resource for such problems is the research paper from this year’s COLING which gives optimal guidelines to train Sequence labeling algorithms. You can access it here.

MACHINE TRANSLATION

Media experts blew the hype out of proportion with hyperbole reports claiming “Facebook had to shut down AI which invented its own language”. Here are some of these.

  1. https://gadgets.ndtv.com/social-networking/news/facebook-shuts-ai-system-after-bots-create-own-language-1731309
  2. https://www.forbes.com/sites/tonybradley/2017/07/31/facebook-ai-creates-its-own-language-in-creepy-preview-of-our-potential-future/#1d1ca041292c

A couple of my favorite papers are here –

QUESTION ANSWERING

IMHO this is going to be the next “Machine Translation”. There are many different types of Question Answering tasks. Choosing from options, selecting answers from a paragraph or a knowledge graph and answering questions based on an image (also known as Visual Question Answering) and there are different datasets to get to know the state of the art method.

PARAPHRASE, SENTENCE SIMILARITY OR INFERENCE

The task of comparing sentences. NLP has three different tasks: Sentence Similarity, Paraphrase detection and Natural Language Inference (NLI) for this, each requiring more semantic understanding than the last. MultiNLI and its subset Stanford NLI are the most well-known benchmarks datasets for NLI and have become the focus of research lately. There are also MS Paraphrase Corpus and Quora Corpus for paraphrase detection, and a SemEval Dataset for STS (Semantic Text Similarity). A good survey for advanced models in this domain can be found here. Applied NLI in the clinical domain is very important. (Finding out about right medical procedures, side effects and cross effects of drugs etc. ). This tutorial from applied NLI in the medical domain is a good read if you are looking to apply the tech in a specific domain.

Here is a list of my favorite papers in this domain

OTHER FIELDS

Here are some of the more detailed survey papers to get information about research for other tasks you might encounter making an NLP system.

Blogs to follow

Here’s a list of blogs which we highly recommend for anyone interested in keeping track of what’s new in NLP research.

Einstein AI — https://einstein.ai/research

Google AI blog — https://ai.googleblog.com/

WildML — http://www.wildml.com/

DistillPub — https://distill.pub/ (distillpub is unique, blog and publication both)

Sebastian Ruder — http://ruder.io/

If you liked this article, you must follow our blog. We come up with resource lists quite frequently here.

That’s all folks! Enjoy making neural nets understand language.

You can also read about Machine Learning algorithms you should know to become a Data Scientist here.

We hope you liked the article. Please Sign Up for a free ParallelDots account to start your AI journey. You can also check out free demos of ParallelDots AI APIs here.

You can read the original article here.