05 Jun 2019
Differentiate Between NLP, NLG, and NLU
Computers are great at operating with structured information like spreadsheets and info tables. And humans typically communicate in words, not in tables. Tons of data within the world is unstructured. However, will we have a tendency to get a computer to grasp the unstructured text and extract information from it?
Natural Language Processing (NLP) as its name defines it is a subfield of computer science and artificial intelligence, refers to the way we humans communicate with each other. The final goal of NLP is to train computers to understand the language and complete the actions based on that
By utilizing NLP, we can organize and structure data to perform tasks like Sentiment Analysis, Named Entity Recognition, Topic Segmentation, Automatic Summarisation, Translation, Relationship Extraction, and Speech Recognition.
I realize that people confused regarding the distinction between NLG, NLP, and NLU. This blog aims to clear differentiation in all.
What is the difference between NLG, NLP, and NLU?
These are the three basic acronyms used most frequently when discussing language related AI-technology:
- NLP-Natural Language Processing
- NLU-Natural Language Understanding
- NLG-Natural Language Generation
NLP, NLUandNLG all have one thing in common: They are always thrown around while talking about Conversational AI and Chatbots, and for many people, it usually seems that they’re all interchangeable with each other! Don't get confused about that as they all are dealing with the human language, but each one is involved at different points in the process for different reasons.
I. Natural Language Processing (NLP)is a blanket term used to describe a machine’s ability to ingest what is said to it, break it down, comprehend its meaning, determine appropriate action, and respond back in a language the user will understand. It is as if we are giving a command to the machine than it will respond us back with the appropriate actions in such a manner that we will understand from it.
II. Natural Language Understanding (NLU)is a subset of NLP that deals with the much narrower, but equally important face of how to best handle unstructured inputs and convert them into a structured form that a machine can understand and act upon. While humans are able to effortlessly handle mispronunciations, swapped words, contractions, colloquialisms, and other quirks, machines are less adept at handling unpredictable inputs. While giving any command to the machine, the machine will convert that command to the structured manner that it will understand the command then can act upon accordingly, this understanding the natural language is known as Natural Language Understanding (NLU).
III. Natural Language Generation (NLG), simply put, is what happens when computers write the language. NLG is sort of a translator that turn structured data such as a knowledge base into human understandable text. It turns long documents that summarize or justify the contents of databases, by summarizing medical records, generating product descriptions from different sources or automated news reports. Automated NLG is often compared to the method humans use after they flip concepts into writing or speech. NLG is also viewed because of the opposite of natural-language understanding.
If I need to say it in a mathematical way it could be said as the combination of NLU and NLG will result in an NLP engine that works.
How the three of them work hand in hand:
1. NLU takes up the understanding of the data based on grammar, the context in which it was said and decide on intent and entities.
2. NLP will convert the text into structured data.
3. NLG generates text generated based on structured data.
NLU and NLG are the subsets of NLP engine
Let us break it down more by thinking of this technology in human terms. Imagine your significant other asks you to go buy a few apples. one among the queries you'd raise is what number apples do they need, by one metric weight unit or by pieces? They tell you they want five apples, therefore you check the value at some stores, raise the proper quantity of cash and go off to shop for 5 apples.
NLP, NLU and NLG processes follow an equivalent line of thinking but have two differences, which are how and who you are communicating with. Here is the same scenario from an AI perspective:
You find an apple promotion on social media and send a conversation message that you simply would really like some. NLP kicks in to alter your request to information codes that a machine can understand. NLU takes it from there and knows it must meet certain criteria. In this case, it needs to get the information on how many apples you want. NLG creates a question based on this criteria asking you how much milk you want in a human language.
When you respond, NLP goes back into decision mode again and analyzes the product and quantity. The machine figures in your location and finds the cost information. The machine then responds with options on where to purchase. Once you confirm, the machine continues with your transaction and you have milk on the way.
Like so many things in technology, NLP, NLG, and NLU are pretty straightforward concepts dressed up in jargon and acronyms that make them seem more complex than they really are. To reiterate:
- NLP is computers reading language.
- NLG is computers writing language
- NLU is computers understanding language.
I hope this helps clarify the differences between NLP,NLG, and NLU!
IConflux had worked on sentiment analysis, emotion detection, summarization, document title extraction, keyword extraction, entity extraction in NLP. For better results a business needs to build a custom model, we can build a domain specific custom model as per the client requirement. If the client wants to apply any of this concept for their next business solution and looking for any assistance in the existing business then do reach out us on email@example.com.