Where to learn about NLP?

elvis
DAIR.AI
Published in
4 min readMar 18, 2019

This is the most frequently asked question I have received during the years I have been doing research and teaching in the field of natural language processing (NLP) and machine learning (ML). In this post, I will share a list of things you can try to accelerate your learning on NLP and ML. In addition, I will share tips on how to stay active and constantly keep growing in the field.

There are a lot of recommendations out there, but I feel they are a bit too specific and may not apply to the broader audience. The list I provide below is based on my own experience and general observations. It helped me to get started and even enabled me to publish in a top-tier NLP conference. I strongly believe it can help you as well, so here it goes:

Practical books do matter

Most days I would recommend a hands-on programming book to help you get started with NLP and ML. It is typically the best way to understand concepts and ML programming pipelines. In fact, this is how I started to learn about the field a couple of years back. Since this is my top recommendation, I have left a few book recommendations towards the end of this post for those who are interested in getting started right away.

Just read papers OR blogs

Honestly, this is my top recommendation to start learning NLP, right after hands-on programming of course. However, I have realized that not a lot of people love reading research papers. If you don’t like reading papers, I would suggest trying blogs, they are several great ones out there. I don’t recommend videos as they are too high-level and most of the important points get lost easily.

Surveys

I remember my early days when I had no clue what I was going to conduct research on. A wise professor suggested that I start looking at recent survey papers. He told me that this is perhaps the easiest way to find interesting NLP topics to work on. Surveys helped me to get started and they also provided interesting related material to review, which is how I found my research topic.

All Hail the Pioneers!

When you feel lost and need inspiration, I would suggest keeping a close eye on the work of pioneers in your desired field. They are usually full of ideas and inspiration. I follow a few pioneers in my field and I use their work to fuel my own research and project ideas. In fact, not only are these people great at inspiring others, but most of them are also magnificent educators which is why I recommend them to those that are just getting started. Finding them is challenging as a vast majority are offline, but you may still be able to find a few on social media websites.

Stay sharp and focused

As with all other things, it is easy to get distracted with all the different content and resources being shared online. This is why I emphasize that you only dig deep on the things that are related to your topic. Believe me, in fast-paced fields like ML and NLP, there is little time to wonder about. I see many researchers, even experienced ones, get sidetracked due to the need to stay relevant in other areas. The competition is fierce! How focused you are will determine the quality of your work and how much you can learn.

What’s next?

One thing I enjoy doing is looking at the upcoming list of published papers. I get excited when conferences and journals publicize their accepted papers since this is exactly the place where you can stay updated with the latest trends and interesting research ideas. It’s boring of course. But it is perhaps the most underrated public learning resource.

Communities

Another important aspect of your career and learning path is the interactions and conversations you have with people in your field and the related ones. Who you know will more than likely determine what you work on and what you will do for a career. Joining communities and volunteering is a matter of personal effort. While you are it, make sure to apply and participate in delivering presentations. This will help you learn more quickly and stay sharp.

Surfing GitHub

GitHub’s social network may not be the most social of them all but the amount of knowledge this website contains is staggering. I recommend looking at interesting repositories via tags (e.g., NLP and ML). It’s a great place to find boilerplate code and to find interesting engineers and projects. As a side note, it really doesn’ t matter which machine learning tool you use at the end of the day. However, I suggest you learn as many as you could. This is possible by walking through code and converting notebook code using a different programming library than the original. Practicing reproducibility is a no-brainer and will come in handy as you get more experienced.

Join the crowd of knowledge

Although social media websites like Twitter tend to sometimes feel like a vacuum, there are a lot of great resources being shared by experts and researchers to help you get started. Jump in and start bookmarking, and try to connect with people. Many people in NLP are surprisingly friendly and always willing to help. Use the tag #NLProc for finding interesting people and conversations. Be careful of information overload and consume responsibly.

Courses

I don’t usually recommend courses to anyone since all courses use a different curriculum. In my experience, if you choose to take online courses, make sure to enroll in a couple of them. The variety of lessons and teaching styles will help you grasp and appreciate concepts a bit more.

Book recommendations:

If I missed anything, I can easily extend this list. Leave a tip below! Thanks!

--

--