What’s all the fuss about it?
In case you are reading this article and you already have a great understanding of NLP, relax, there’s always more you could learn. And if you are part of those without prior knowledge, you’re welcome in advance!
Think about this:
How does your favorite search engine complete your search queries? How does your phone’s keyboard know what you want to type next?
Natural language processing (NLP) is concerned with enabling computer systems to interpret, analyze, and approximate the generation of human speech. Typically, this would refer to tasks such as generating responses to questions, translating languages, identifying languages, summarizing documents, understanding the sentiment of text, spell checking, speech recognition, and many other tasks.
The field is at the intersection of linguistics, AI, and computer science. But approximating human speech is only one of a wide range of applications for NLP. Applications from detecting spam emails or bias in tweets to improving accessibility for people with disabilities all rely heavily on natural language processing techniques.
My first interaction with this awesome tool was sometime last month during my #100DaysofCode challenge where I learnt how to apply statistical models such as uni-gram model and n-gram model. Part of what I practiced were; Noise removal — stripping text of formatting (e.g., HTML tags). Tokenization — breaking text into individual words , and Normalization — cleaning text data in any other way.
The coolest part of it was the Language prediction function which is an application of NLP concerned with predicting text given preceding text. Auto suggest, autocomplete, and suggested replies are also common forms of this. Cool huh? wait till you see how I implemented it!😅(PS: guess the songs)