Intro to Natural Langugage Processing (NLP)


Hello guys!! Sorry for being late for second post but here it is, I hope u will enjoy it J

Natural Language Processing
Natural Language Processing
In everyday life we use many applications and software as our personal assistant like Google now, Siri, Cortana, amazon Echo and Alexa, language translators and sometime chat with some chat bots for fun ;)  but have you ever thought, how they works? Means we just give some sentences or words as an input and it will respond to the input by performing some actions for example when you say to the android smart phone   
OK GOOGLE, Height of Mount Everest
It will search on internet and speak out Mount Everest is 8848 meter tall (Obviously to do that, first you have to active Google now service)
You can check out a video about Google voice. Here is the link
It is really good and interesting. But I am not here to talk about that so back to the track.
Actually how do Google now know that what we asked for? Here Natural Language Processing comes in picture. Natural Language Processing is an AI-complete problem which deals with the interaction between human language (Natural Language) and machine.
Before jumping into Natural Language Processing or NLP, first let us see about Natural Language.
Natural Languages (NL) are what we normally use to speak and/or write like Hindi, English, Japanese, German, etc... In general we can say that natural languages are the languages which were evolved through human race with or without any planning. NLs varies with different people and regions.
And Natural language Processing is a component of AI where system communicate with human or other intelligent system using natural language. The NLP system can be Speech base or text base, means input and output of NLP system can be speech and/or text. NLP use the concepts of computational linguistics and computer science to understand the natural language.
When we give some inputs to the system, it uses computational linguistics concepts link language grammar, syntax structures and other concepts like tokenizing, lexical analysis, syntactic analysis, etc… and world knowledge to analysis the inputs and it generates data structures and data bases. Using that, NLP system gives the response to the input. But still NLP systems are not 100% perfects.
It is too difficult for computer system to understand the human language because human language are very ambiguous and need world knowledge to understand.

There are two main problems to understand human language
      1.       Polysemy:         words that have several meanings
                      Ex. The verb “to get” can mean “procure” (I’ll get the food) or “become” (Baby got scared) or “understand” (I get it) etc.
     2.       Synonymy:       different words that have similar meanings
                    Ex. For Intelligent: Smart, Bright, Brilliant, Sharp
Take an example
He killed a man with a gun
Here, there is an ambiguity
          1.       A man got killed by another man via gun.
           2.       A man with a gun got killed by another man.
(Upon arriving at party) Who’s left?”
Here, ambiguity is
          1.       The man is asking who is still there in the party.
          2.       The man is asking who left the party.
And here is the third example where system need to have world knowledge to check the correctness of the sentences like
Metal melts in fire
Metal melts in water
As we can see the structure of both sentences are very similar. It is very easy for us to tell that 2nd one is wrong because we know water can’t melt the metal but fire can. Without world knowledge fire and water are just words or data which has no meaning for computer system. So for the system it is too difficult to tell that 2nd one is wrong.
It is used in many field like machine translation, digital personal assistance, Chatbot to guide and for question-answering as conversational agents, spell checkers, handwriting recognition softwares and many more...
It’s too much writing J but I hope, now you get that how much our languages are complex and why Natural Language processing is still in progress.   
I hope you have enjoyed the post and it is useful to understand what Natural language Processing is.

Comments