"Natural" is a general natural language facility for nodejs. It offers a broad range of functionalities for natural language processing. Tokenizing, stemming, classification, phonetics, tf-idf, WordNet, string similarity, and some inflections are currently supported. It’s still in the early stages, so we’re very interested in bug reports, contributions and the like. Note that many algorithms from Rob Ellis’s node-nltools are being merged into this project and will be maintained from here onward. While most of the algorithms are English-specific, contributors have implemented support for other languages. Russian stemming has been added and Spanish stemming has been added, as well. Stemming and tokenizing in more languages have been added. If you’re just looking to use natural without your own node application, you can install via NPM.

Features

  • Word, Regexp, and Treebank tokenizers are provided for breaking text up into arrays of tokens
  • Natural provides an implementation of three algorithms for calculating string distance, Hamming distance, Jaro-Winkler, Levenshtein distance, and Dice coefficient
  • Currently stemming is supported via the Porter and Lancaster (Paice/Husk) algorithms
  • Two classifiers are currently supported, Naive Bayes and logistic regression
  • The Maximum Entropy Classifier module provides a classifier based on maximum entropy modelling
  • Offers a simple sentiment analysis algorithm based on a vocabulary that assigns polarity to words

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow natural

natural Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of natural!