NLP Libraries for Node.js and JavaScript

What Is Natural Language Processing (NLP)?

Natural language refers to the way humans communicate with each other.

Natural Language Processing (NLP) is broadly defined as the electronic manipulation of natural language, like speech and text, by software.

NLP is important because we want to open up communication between machines and humans in a more natural way. NLP has various use cases such as running a search engine, sentimental analysis, entity-recognition, voice-based apps, chatbots, and personal assistants.

The history of natural language processing (NLP) generally started in the 1950s. Alan Turing published the article “Computing Machinery and Intelligence,” a pioneer seminal paper on artificial intelligence.

The introduction to Turing’s paper

Some of the notably successful NLP systems developed in the 1960s were SHRDLU and ELIZA. Up to the 1980s, most natural language processing systems were based on complex sets of hand-written rules. In the 1980s, the NLP started to pick up after the introduction of machine learning algorithms.

Now, decades later, the world is full of multiple NLP libraries and engines. Let’s look at some of them, especially for the newer languages, such as Node.js and JavaScript.

NLP Libraries for Node.js and JavaScript

Though there are many useful NLP libraries available such as Spacy, NLTK, and CoreNLP. However, most of these libraries are not available in JavaScript. We had a hard time finding some good NLP libraries in JavaScript. After a lot of research and testing, the following are the libraries we found to be useful:

#1 NLP.js

GitHub: https://github.com/axa-group/nlp.js

NLP.js is developed by the AXA group. It is an NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more, supports 40 languages.

NLP.js is a perfect node.js library for building chatbots. Documentation is very clear, and usage is very easy.

Here is a basic code snippet to help you understand how easy it is to set it up.

#2 Natural

GitHub: https://github.com/NaturalNode/natural

Natural is another famous NLP library for Node.js. “Natural” is a general natural language facility for Node.js. It currently supports tokenizing, stemming, classification, phonetics, tf-idf, WordNet, string similarity, and some inflections.

#3 Compromise.cool

GitHub: https://github.com/spencermountain/compromise/

Compromise.cool is indeed a cool and lightweight library and very easy to use. It can be used to run NLP on your browser.

Please note that, Compromise works with the English language only.

#4 Wink.js

GitHub: https://github.com/winkjs/wink-nlp-utils

Wink provides NLP functions for amplifying negations, managing elisions, creating ngrams, stems, phonetic codes to tokens, and more.

Conclusion

Choosing a library depends finally on the use case and the tech stack you are using. We narrowed down to NLP.js for using in Kommunicate chatbot. If you are looking for an NLP library for building chatbots, then I would recommend NLP.js. 

References: https://machinelearningmastery.com/natural-language-processing/

This UrIoTNews article is syndicated fromDzone