Natural Language Processing is one of the most popular subdomains of Artificial Intelligence. NLP technologies focus on teaching the machines how to interpret the human language and mimic and understand and generate it. It is no rocket science how your grammatical errors are corrected by the Grammarly software, how long sentences you enter are restructured into short and simple ones, how your Gmail predicts which emails in your inbox are harmful and which are essential. All of these language-specific tasks are done by leveraging Natural Language Processing!
Learning NLP is an innovative and strategic way that can often be challenging with so many courses and resources on the web. To learn any technology, you should first focus on collecting the best resources available and, most notably, the free resources!
In this article, I will suggest the best free and open-sourced resources from where you can start your journey to become an NLP Expert!
This article will be divided into three sections-
1. NLP resources for Absolute Beginners
2. NLP resources for Intermediates
3. A Handful Of Courses to Master NLP
So, let’s start your NLP Journey today!
To start Natural Language Processing in the right way, every beginner should focus on learning and implementing parallelly. Always remember, the theory is essential, but practical is an experience! Hence, a balance between theory and hands-on is crucial for accomplishing an objective!
1. Text Preprocessing & Feature Engineering
Text Preprocessing in NLP is what we call data-preprocessing in traditional Machine Learning. Hence, it is undoubtedly the most significant part of any data science or AI project. Cleaning or preprocessing the data is as critical as model building in any machine learning task. And when it comes to unstructured data like text, this process is even more critical.
Let’s see what the typical steps required to process any text corpus and extract essential features are-
So these are the different types of text preprocessing steps that we can do on text data. Though we need not do all of these every time we get an NLP problem statement, we must carefully choose the preprocessing steps based on our use case since that part also plays a significant role.
For example, while doing sentiment analysis, we require emojis or emoticons to address some critical information about the user sentiment.
Now that you know how essential text-preprocessing is let us see some of the best places from where we can study as well as practice hands-on with text preprocessing-
2. NLP with Machine Learning –
Beginners, who just started with Machine Learning and are trying to learn Natural Language Processing, must solve problem statements in NLP with traditional Machine Learning algorithms. Though conventional machine learning algorithms are applied only on toy datasets (a fictional dataset for implementing and testing simple prediction models), they can be instrumental and essential for building up your foundations and making you ready for deep learning used for real-world projects.
So, for learning & practising NLP using Machine Learning, one must leverage these resources-
Natural Language Processing with Classification and Vector Spaces – by Coursera
3. NLP with Deep Learning –
As already mentioned earlier, Deep Learning is a subdomain of machine learning. It is far more generalized as it comes up with generalized predictions compared to traditional machine learning due to the introduction of Artificial Neural Networks or ANN. Practising NLP with Deep Learning is an essential step to making a career in AI and Data Science. Nowadays, almost every real-world AI application is built on top of Deep Learning (Neural-Net) architectures. It gives highly generalized performance and fantastic accuracy on real-world data.
Beginners, who already have explored how to solve NLP problems using traditional Machine Learning algorithms, can start NLP using Deep Learning with these top-notch resources-
If you are an NLP intermediate level person, these three rules should be your Mantra-
However, intermediate or advanced practitioners must focus on implementing real-world NLP driven applications with advanced NLP techniques. Let us see some of the most advanced NLP techniques and architectures of NLP and the best resources to learn them and implement your own!
1. Intermediate to Advanced NLP techniques and Architectures-
1.1 Sequence to Sequence Learning
A Sequence-to-sequence learning (Seq2Seq) focuses on training models so that it can convert a text sequence from one domain (sentences in English) to sequences in another part (the same sentences translated to French).
Resources to learn and implement Seq2Seq –
1. Sequence to Sequence Learning by Keras
2. Sequence to Sequence Model by Stanford NLP Group
1.2 Transformers
The most expressive and powerful language models, more precisely complex neural networks, the Transformers, work on a theory called Self-Attention and are developed to generate an output sequence by taking an input sequence.
Resources to learn and implement Transformer Architectures –
1. The Hugging Face Transformers Hands-On Tutorial – A wonderful blend of intuition and implementation by Hugging Face!
2. Transformers- Let’s Dive Deeeep! – Theory at its peak!
3. Interactive Transformers Notebooks – List of interactive Colab notebooks by Hugging Face.
1.3 Sequence Labelling with Named Entity Recognition
Named-entity recognition is an advanced NLP technique used majorly in textual information extraction. NER identifies and classifies the entities in unstructured text data into several categories.
Learn & implement NER from these fantastic resources-
1. Named Entity Recognition using Transformers by Keras
2. Building an Entity Recognition Model with BERT by Abhishek Thakur
3. Fine-Tuning Transformer for Named Entity Recognition – an interactive Colab notebook
1.4 Machine Translation
Best Intuitive and Hands-on Tutorial to learn Machine Translation-
1. Neural Machine Translation with Attention
2. Neural Machine Translation Guide
1.5 Question-Answering
Question-Answering is an NLP driven application that answers a question with or without a context in a precise and straightforward manner by extracting information from documents, web texts, paragraphs etc., known to be knowledge bases.
Best Intuitive and Hands-on Tutorial to learn Question-Answering-
1. Question Answering Starter Pack
2. Stanford Lecture on Question-Answering System
Finally, I would suggest you learn NLP from these incredibly excellent courses designed for students as well as professionals!
1. YSDA Natural Language Processing course
2. Accelerated Natural Language Processing
I hope these resources will help you build a shining career in Natural Language Processing. I suggest you complete these one at a time and solve atleast one hands-on task on NLP daily to warm up your hands.
Feel free to connect with me on GitHub and LinkedIn for a data-science discussion! Read more articles on NLP here.
The media shown in this article is not owned by Analytics Vidhya and are used at the Author’s discretion.