Before defining NLP, let us take a look at how we humans and computers communicate.
Humans communicate using natural languages. When you speak to another person, you speak in a particular language. It may be English, Hindi, or any other language. The languages that you use to communicate with others are known as “Natural Languages”.
Do computers communicate in the same way as humans do? No, computers do not communicate in natural languages. Instead, they communicate using 0s and 1s. This is known as Binary code. Computers are not designed to understand human languages naturally. For instance, a computer code may look like this – 01001100010110
Defining Natural Language Processing
Natural Language Processing means processing or handling human languages. It involves giving computers the ability to process and make sense of human languages. These human languages can be in the form of text data as well as speech data.
Since computers have been running on binary code, how can we give them the ability to understand complex human languages? The idea is to convert human languages (both speech and text) into numbers that the computer can easily comprehend. This is the essence of Natural Language Processing.
How NLP fits in with AI, ML, and Data Science
The fields of Artificial Intelligence, Machine Learning, and Data Science are related to each other. These fields are also closely related to Natural language Processing. How so?
Think of Artificial Intelligence as a huge umbrella term. Artificial Intelligence is a vast field. NLP is a subset of AI mainly focused on giving machines the intelligent ability to read and make sense of human text data and speech.
Data Science basically deals with making sense of data. Due to the humongous amount of data generated now, “Big Data” forms an important part of Data Science. Since NLP also requires a huge amount of data to improve performance for various tasks, we can think of NLP as a sub-branch of Data Science.
As stated previously, AI is a vast term as well as a vast field that comprises many methods to imbibe human-like intelligence into machines. Machine learning is one such area of research under the umbrella term of AI that deals with teaching machines to learn as we humans learn.
NLP too relies on ML models to make better sense of text data and to improve performance. Thus NLP is closely related to ML.
Apart from being related to the above-mentioned fields, NLP itself is an interdisciplinary field. It is a sub-field of Linguistics (the study of languages), Computer Science, and Artificial Intelligence.
Real-world NLP applications
Let’s take a look at some of the real-world NLP applications. We use some of these applications daily either knowingly or unknowingly.
- Autocomplete – Whenever you type something in the Google search bar, have you noticed how Google automatically recommends the next word with impressive accuracy? This is autocomplete in action. A major application of NLP.
- Email Classifier – This is a very popular application of NLP. When you check your email, you can see that your email has automatically been segregated into certain folders such as “spam”, “important”, “social”, etc. NLP is used to classify your email based on the text it contains.
- Voice assistants – We often interact with our voice assistants. These may include Siri, Alexa, Google Assistant, Cortana, etc. Voice assistants use Speech Recognition and convert your speech into a suitable text format upon which NLP techniques are applied to make sense of what instructions are given. This enables the assistant to help you with your daily tasks.
- Document Summarization – This application is used in industries where a lot of text data is present. Employees and agents often have to read lengthy documents to make sense of it, but with the help of NLP, we can summarize these documents without even going through the whole document ourselves. This saves a lot of resources.
- NLP helps people with dyslexia and other specially-abled people.
Topics we will be covering in this NLP series
- Setting up our environment to experiment with NLP tasks
- Python basics and installing relevant python libraries
- NLP basics (tokenization, stop-word removal, etc.)
- Word embeddings and distance measurements
- Machine Learning algorithms used for NLP tasks (Naive Bayes, SVM)
- Deep Learning algorithms (Convolutional Neural Networks (CNNs) and Recurrent Neural networks (RNNs))
- Long Short Term Memory (LSTM) networks
- Basic chatbots
- BERT (Bidirectional Encoder Representations from Transformers) models
This was an introduction to the area of Natural language Processing. In this post, we first defined what is NLP, how it closely relates to other prominent fields and we went through some impressive real-world applications of NLP.
I hope that this article has given you the details required to get started in NLP. See you in the next one.