Natural Language Processing

29 / Jul / 2016 by Vipul Jain 0 comments

NLP is the branch of computer science, focused on developing systems that allow computers to communicate with people using everyday language.

NLP is where computers attempt to derive meaning from human or natural input. we’ve seen huge strides in the last few years. There is several huge projects developed on it like CALO and Wordnet. Stanford’s CoreNLP (demo here) and Apache OpenNLP (for NodeJs its Wrapper is Nope OpenNLP) are strong NLP solutions available today.

General Principles of NLP:

  1. NLP is a model rather then a theory, It is related to subjective experience.
  2. NLP is a generative rather than a repair model, It provides useful solution instead of causes. NLP gives us so many choices.
  3. All human behavior has a structure If one human can do something then, potentially it is possible for almost everyone.
  4. The Capacity of Conscious  mind is very limited – For example around 5-9 chunks of information.

Statistical NLP:

The technology for statistical NLP comes mainly from machine learning and data mining, both of which are fields of artificial intelligence that involve learning from data.

Applications where Natural Language Processing is used:

  • Apple Siri
  • Google Voice
  • Microsoft Cortana

Natural Language Search:

  • Google
  • Bing

Challenges with natural language processing:

The major challenges we are facing with NLP is Ambiguity. These ambiguity comes from the following types of sentences:

  • Long sentences
  • Words with multiple definitions

Syntactic Tree:

It is also known as parse tree and its ordered rooted tree.

The parse tree breaks down the sentence into structured parts so that the computer can easily understand and process it.


The above is the example of parse tree.

NLP in Javascript:

There are several javascript libraries which help to achieve the NLP goal. Here I have used a small JS library “NLP Compromise”. This library helps to achieve some of the basic NLP features. For Example: In the above example “John hit the ball”, we want to parse and get the Name of the person.

var person = nlp.text(“John hit the ball”).people();
console.log( “Name of the person is:”, person) // john

This is a small application based on the same library where you can give a try.


Leave a Reply

Your email address will not be published. Required fields are marked *