Natural Language Processing, often referred to as NLP is a branch of Artificial Intelligence that deals with human-computer interaction using the natural language, spoken by human-beings. Moreover, it is a discipline that focuses on the interaction between data-science and human language, and is scaling to lots of industries in the modern era.
NLP helps us to make things easier with lots of tasks, and the fields of application is alarming at a faster pace on a daily basis. It lets us to organize and structure knowledge to let you perform the following tasks:
- Automatic Summarization
- Named Entity Recognition
- Relationship Extraction
- Sentiment Analysis
- Speech Recognition
- Topic Segmentation
The above tasks can be further divided into various branches such as chat-bot creation, question-answering, machine translation, etc.
Components of NLP
I) Natural Language Understanding (NLU)
It revolves around machine reading comprehension. This is one of the most tedious AI problems. This system needs the following components.
- Lexicon, Parser, and Grammar rules.
- Semantic theory - to guide comprehension.
II) Natural Language Generation (NLG)
NLG is concerned with generating natural language. It uses a machine representation system like a knowledge base or a logical form.You can think of it as a translator between data and natural language representation; this is the opposite of NLU. This involves three tasks namely:
- Text Planning- To extract relevant content from the knowledge-base.
- Sentence planning- To choose appropriate words, form meaningful phrases, and set the sentence tone.
Benefits of NLP
Among innumerable benefits of NLP, I would like to list-out a few of them and they are as follows:
- It is used to improve the accuracy and efficiency of the documentation process.
- Automatic Summarization: Produce a readable summary of a part of the text.
- Sentiment Analysis: It can be employed to figure out the tone of a piece of writing. Reviews on social media, blogs, etc. proves to be beneficial for the business firms like Amazon, Flipkart, etc. on having a wide understanding on how their products perform in the market.
- To identify necessary information from large datasets to perform relevant tasks. (Feature engineering).
- It simplifies day-to-day tasks with the support of voice user interface enabled device such as Amazon Alexa.
Steps or tasks involved in NLP
This analysis deals with identifying and analyzing word structure. We divide the whole chunk of text into paragraphs, sentences, and words.
Often referred to as parsing. This technique involves analyzing words in sentences for grammar and re-arranging them to determine how they relate to each other. Sentences that doesn’t make sense are often truncated.
For an instance, “An apple ate a girl” is truncated eventhough it might be grammatically correct as the sentence doesn’t make much sense.
This deals with extracting the dictionary meanings from the given text. It also maps syntactic structures and objects in the task domain to check for meaningfulness. It rejects statements like “tall stub”.
It analyzes the previous sentence to guess the meaning of the current sentence and the ones following it.
Pragmatic Analysis is part of the process of extracting information from text. Specifically, it is the portion that focuses on taking a structure set of text and figuring out what the actual meaning is. It actually comes from the field of linguistics where the context is considered from the text.
Libraries for NLP
There are basically many libraries available to handle linguistic-oriented data and few of them are mentioned below and is as follows:
- Natural Language Toolkit (NLTK)
- Apache openNLP
- Stanford NLP Suite
With this, I would like to conclude part-1 on this topic. We will dive-in further with the support of Python snippets from the next post.