Imagine you’ve woken up on a fine summer’s day in the middle of July.
The sun is beaming through your window and whilst you stretch the morning cramps out, you call out:
You: “Hey Siri”
Siri: “Good Morning, [insert your name]. How may I help you”
You: “What’s the time?”
Siri: “The time is 6am GMT”
You realize you’ve woken up 2 hours before your alarm so you pull the covers back over your head in an attempt to get more sleep. However, the thought dawns on you - “maybe I could get ahead”:
You: “Hey Siri”
Siri: “Good Morning, [insert your name]. How may I help you”
You: “What’s my schedule for today?”
Siri: “You have a follow-up meeting with a potential client at 3pm, you have football with the kids at 5.30pm, and you are cooking today at 7.30pm”.
This form of communication with technology has become more prominent in the advent of tools such as Amazon’s Alexa, Google Home, Microsoft Cortana, Apple’s Siri, etc. Thanks to these intermediaries, communication with a computer can occur in what is known as Natural Language - essentially the language we humans communicate in. Without the natural language that we speak to computers being translated, we’d have to speak to the computers in binary. Literally, 0’s and 1’s. Although it’s possible to represent language in binary data, Natural Language Processing (NLP) is the tool we use to allow computers to understand language.
Therefore, NLP may be described as an area of computer science that deals with techniques to analyze, model, and understand human language.
Since natural language is a prominent part of human existence, NLP plays a crucial role in a wide range of software applications that we use in our day-to-day lives. Some examples of real-world NLP use cases are:
If you think this is breathtaking, you’d be shocked to know that we haven’t even scratched the surface of the various use cases of NLP. NLP use cases are growing in application across several applications, and as you read this now, there are more applications being implemented.
With a flurry of different use cases comes a collection of fundamental tasks which tend to prop up quite frequently across various NLP projects. The task involves:
Taking the content as a basis point, the goal of text classification (also known as text tagging or text categorization) is to bucket the text into a set of known categories. This is probably the most common task in NLP as it’s used in many tools.
The task of text summarization is to generate a short, concise and meaningful summary of longer documents such as books, blog posts, news articles, etc.
This is an unsupervised machine learning technique, that is employed to uncover the topical structure of a large collection of documents.
As the name implies, the task of information extraction is to extract the relevant information from text.
Information retrieval is the process of obtaining information system resources that are relevant to an information need from a collection of those resources [Source: Wikipedia]. A well-known application of information retrieval is Google search.
Language modelling leverages various statistical and probabilistic techniques in order to predict the next sequence of words based on the history of previous words.
This task involves building dialogue systems that conduct NLP and then responds to the given query with natural language.
This task involves building a system, that could provide an automatic answer to a question posed in natural language.
This task involves converting a piece of text from one language to another language.
In summary, human language is staggeringly complex and very diverse. The rapid growth of Natural Language Processing is reflective of the need to help resolve some problems (such as the ambiguity of language) we face when using machines to break down and interpret human language.
Interested in learning more data science concepts or the latest product updates? Subscribe to our updates!