The curious case of TARS - An Introduction to NLP

The curious case of TARS - An Introduction to NLP

Imagine you are seated in a four man crew space-shuttle, on your way to a world-saving expedition, when just reaching the orbit in space , the million dollar robot alongside you says - "Everybody good? Plenty of slaves for my robot colony?"......Clearly there is an imposter among us.

Yes! you are in the Interstellar universe and that robot mocking you is TARS.

tars.jfif

Talking robots have always been a center of science-fiction from a long time and today we have made exponential growth towards making them a reality. I'm sure you have had your share of fun on the Talking Tom app or you have seen and used Alexa and SIRI already. But how do you make these robots understand you? How do you make machines understand speeches or linguistic texts in general?

Introducing Natural Language Processing. NLP in layman terms is the technology through which we teach machines our language. In this article, we learn more about NLP and try to figure out if TARS could be more than just an imagination.

What's natural in NLP?

NLP is the technology which utilizes artificial intelligence, computational linguistics and computer science to interpret the natural language as we speak. According to Adi Agashe, Program Manager at Microsoft, Alexa is built based on natural language processing (NLP), a procedure of converting speech into words, sounds, and ideas.

To put it in much simpler terms, NLP implements a combination of techniques to enable machines learn from a text or speech. Using NLP the machine not only understands the meaning of the text/speech but also can understand the context and emotions with which the input is provided. With a much closer sense of what the text/speech means , the machine is better equipped now to reply appropriately and take appropriate action.

Where is NLP used?

NLP is a mushrooming technology with applications crossing multiple technological domains. Chances are you may have already used NLP directly or indirectly somewhere- sometime [include pics]

  • Chatbots & Virtual Assistants
  • Sentiment Analysis
  • Text Classification
  • Text Extraction
  • Machine Translation
  • Text Summarization
  • Market Intelligence
  • Auto-Correct
  • Intent Classification
  • Urgency Detection
  • Speech Recognition

I know you didn't read all of the above listed uses but I'm sure you are familiar with the 1st one and hate the 8th one.

Following expert views shows further how industrially and socially impactful NLP can be:

combined1.png

NLP Libraries

Now with some knowledge about NLP, you now maybe are excited to try it out yourself. But before that let me tell you that NLP is best implemented using python. There are many resources and toolkits to get started in NL. Here I list out some of them for you:

Natural Language Toolkit (NLTK)

NLTK is the most famous Python library that provides many functionalities of NLP. It also provides a large amount of necessary resources, such as corpus, grammars, ontologies, etc.

To understand the main concepts in NLTK, you can start by going through some YouTube videos . If you, however, prefer to watch videos, you can go through this good Udemy course. I personally found it really good because it's good, crisp and short!

Stanford CoreNLP

The Stanford NLP Group has made available several resources and tools for major NLP problems. In particular, the Stanford CoreNLP is a broad range integrated toolkit that has been a standard in the field for years. It is developed in Java, but there are Python wrappers in some cases. I think it is worthwhile to have, at least, a general idea of what each tool does.

spaCy

In my opinion, spaCy is the best NLP framework of the moment. Reading the documentation is worth it to understand the key concepts used in NLP applications: token, document, corpus, pipeline, tagger, parser, etc. It is really fast and scales very well. And it is pretty easy to use, so you can give it a try if you want to, say, tokenize (i.e. segment a text into words) your first document.

NLP resources for beginners

Below I share some of the resources that might come in handy for your NLP journey. You can follow simple youtube videos or If you prefer for tutored courses then head over to Coursera courses listed below. Finally, I have listed some books as well.

YouTube

Courses

Books

  • Speech and Language Processing (Jurafsky and Martin)
  • Foundations of Statistical Natural Language Processing (Manning and Schütze)
  • Introduction to Information Retrieval (Manning, Raghavan and Schütze)
  • Neural Network Methods in Natural Language Processing (Goldberg)
  • Linguistic Fundamentals for Natural Language Processing (Bender)

Conclusion

I hope you were able to grasp some idea of what Natural Language Processing is and what are its uses. This article aims to overview of NLP and hopes to inspire you towards this amazing technology. However, there is a lot more to learn and explore.

Happy to answer any questions in the comment section below!

Look out for future blogs as we dive deeper into NLP and explore the possibilities of someday building a space scouting TARS. Cheers!

joke.jpg