Natural Language Understanding (NLU) is a branch of Natural Language Processing (NLP) that enables computers to understand the meaning of texts. In other words, it’s the process of transforming human language into a format understandable by machines. Once the meaning of a text is understood, computers can interact more naturally with its users, boosting the overall experience.
When a question is input into a computer, NLU first attempts to understand the question by building a semantic representation of the text. This easily digestible representation of the question is then transferred into other systems to generate an appropriate response.
NLU is a challenging task within natural language processing, combining syntactic and semantic parsing (a format that is easier for machines to process) and predicate logic to better mimic natural language.
There are two ways to initialize an NLU system. The first method is to configure it with some knowledge so that it then simply needs to learn from experience through reinforcement learning. Some experts may see this method as a means of introducing biases into the system and therefore prefer the alternative approach: allowing the system to learn everything independently.
These two approaches can be related to the two western philosophical perspectives on education: Nativism (knowledge is innate and not acquired by learning) and empiricism (knowledge is gained by experience).
NLU is tasked with the ever-challenging role of interpreting language along with all its ambiguities. When considering the sentence: “I saw a man on the hill with a telescope,” did the author see the man on a hill holding a telescope or did he see the man by using a telescope? Therefore, as demonstrated through the use of this sentence, interpreting the meaning of a sentence can be quite difficult and is a constant challenge that NLU must face.
Sentences expressing the same meaning (AKA synonyms) alongside slang and misspelt words can also be quite challenging for the system to decipher.
Natural language processing is the general term that includes natural language understanding. Natural language processing and natural language understanding both aim to make sense of unstructured data; however, there is still a difference between them.
While natural language processing is in charge of how computers are programmed to process language, NLU focuses on a computer’s capacity to understand language. Natural language understanding focuses specifically on semantics and the meaning of words.
For example, if a user poses a question, natural language processing will structure the data so that the computer can easily digest it; NLU is then used to understand the intent of the user’s query.
If it is a voice-based interaction, such as Amazon’s Alexa, the computer takes speech and uses an automatic speech recognition (ASR) system to convert it into text. NLU then takes the text and structures it to create a semantic representation that natural language generation can use to form an appropriate human-like answer. Finally, text-to-speech (TTS) converts the textual response to speech.