As always we start with AI, the big guy. Artificial intelligence is a vast subject and it is much older than computers them selves. With the invention of computers the dreams of creating machines which can mimic human behavior were slowly becoming realities. In 1950’s the computer science and linguistic came together to invent the discipline we now know as the NLP. Even though there are different definitions, in simple, through NLP what we are expecting is to give a machine the ability to understand and speak (or type out) natural languages.
Now why is it important ? It is important because with the technological advancements and the growth of human race as a civilization we expect things to be easier and more effective. And the future will for sure have robot assistants helping us in our day to day tasks ranging from health care to entertainment, from security to companionship, from cleaners to builders and so on. So when interacting with such machines we expect them to understand what we say, like a normal person would.
So whats the problem ? The problem is that machines understand ‘machine language’ (in other words, binary) and we speak in much more complex and ever evolving languages. And as humans we have an inbuilt ability of understanding exactly what the other person says (most of the time). This is due to our brain’s capability of adapting and learning, and our understanding of the context(surrounding) and also our vast knowledge/experience on common sense. In contrast a machine does not have these. Therefore we have to give it these abilities or find other ways to help it understand what we are saying.
For example if I tell you ‘Go to Hell’, you know that what I really mean is ‘go away’ or ‘leave me alone’ or something similar. You get the idea that I am angry with you. But if I tell ‘Go to Hell’ to a robot, it will most of the time take its literal meaning which is a command to go to hell (where ever the hell is).
So why is it difficult to teach a machine how to process natural languages ? There are many, but the main challenge is the ambiguity of natural languages. We will discuss ambiguity in detail in a coming article. For now let me give you a simple example.
“I have a bat”
Now this is an example of a lexical ambiguity. Does this sentence mean
- I have a wooden club (like the one used in game of Cricket or Baseball) ?
- I have a mammal bat (the living creature) ?
Without knowing the context in which this was spoken, even us humans do not have any way of knowing what it actually meant.
There are so many different kinds of ambiguity in our use of natural languages. Which makes it much much harder to teach a machine to understand and respond with natural languages.
But challenges have never stopped the human race, so we have pushed through the walls and barriers and have made significant advancements in NLP. Even though its a vast and much complex field, we will step by step try to learn those concepts in the coming article series.