Natural language processing or NLP, in short, is, as the name suggests, a method by which a computer becomes efficient and intelligent enough to understand phrases and sentences that are being commonly used by humans. I will give you a simple example, you go to a bank and ask “I want to check my bank balance” the human understands your intent is to check the bank balance, now the same scenario, if he goes and says “tell me how rich I am?” the human again is intelligent enough to understand that the user whats to know his bank balance. Now the trick here is how can a Bot understand these seemingly cliched intents? That’s when NLP kicks in!
Why Natural Language Processing ?
This is just the very tip of the iceberg, imagine thousands of such ways to ask to check bank balance and imagine thousands of such scenarios that can happen in a day to day banking scenario, and extrapolate it into the whole BFSI industry and the multiple other verticals you can correlate this into, you get tens of thousands of such use cases with millions of ways to say things.
To understand how NLP is able to understand what the user means, Let’s categorize this into two scenarios, Direct intents, and Indirect intents, imagine you are talking to a small kid, they can understand their parents saying “get me a glass of water” to getting water for their parents but, do not understand that they are expected to get the person a glass of water if the parents say “I am thirsty”, similarly,
Direct Intents are phrases which are obvious like the once I mentioned above, “Check my bank balance” or “Apply for a leave”, whereas an Indirect intent is when the cliche kicks in like “Show me how rich I am” or “I want to go on a vacation”. Here, as obvious as it seems, the first case is a direct mentioning of intent and the second scenario is mentioning something indirectly. In order for the Bot to navigate both direct intents and its indirect intents ie utterances, it uses NLP engines.
So what are the advantages of NLP?
- Human-like conversation to a bot,
- Increased accessibility to people who cant speak technical Lingo.
- Multiple intent handling (Ie Check my credit score and apply for a loan)
And now to the challenges of NLP?
- Identifying the correct intent of users can be very tricky.
- Out of context information handling (eg, going to a bank website and ordering a pizza)
- Understanding emotions. (Sentiment analytics)
Now broadly we can classify NLP engines, which makes NLP possible into 3 types,
- A Fundamental engine
- An Ontology engine
- A Machine learning engine.
Let’s dive into how these engines help in recognizing intents and their utterances in the upcoming article.