Hello guys!! Sorry for being late for second post but here it is, I hope u will enjoy it J
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
Post a Comment