winkNLP

Developer friendly NLP ✨

winkNLP is a JavaScript library for Natural Language Processing (NLP). Designed specifically to make development of NLP solutions easier and faster, winkNLP is optimized for the right balance of performance and accuracy. The package can handle large amount of raw text at speeds over 500,000 tokens/second. And with a test coverage of ~100%, winkNLP is a tool for building production grade systems with confidence.
Features
It packs a rich feature set into a small foot print codebase of under 1500 lines:
- Lossless tokenizer
- Developer friendly and intuitive API
- Built-in API to aid text visualization
- Easy information extraction from raw text
- Extensive text pre-processing features
- Pre-trained models with sizes starting from <3MB onwards
- Word vector integration
- Comprehensive NLP pipeline covering tokenization, sentence boundary detection, negation handling, sentiment analysis, part-of-speech tagging, named entity extraction, custom entities detection and pattern matching
- No external dependencies.
Installation
Use npm install:
npm install wink-nlp --save
In order to use winkNLP after its installation, you also need to install a language model. The following command installs the latest version of default language model — the light weight English language model called wink-eng-lite-model
.
node -e "require( 'wink-nlp/models/install' )"
Any required model can be installed by specifying its name as the last parameter in the above command. For example:
node -e "require( 'wink-nlp/models/install' )" wink-eng-lite-model
Getting Started
The "Hello World!" in winkNLP is given below. As the next step, we recommend a dive into winkNLP's concepts.
var winkNLP = require( 'wink-nlp' );
const its = require( 'wink-nlp/src/its.js' );
var model = require( 'wink-eng-lite-model' );
var nlp = winkNLP( model );
var text = 'Hello World🌎! How are you?';
var doc = nlp.readDoc( text );
console.log( doc.out() );
console.log( doc.sentences().out() );
console.log( doc.entities().out( its.detail ) );
console.log( doc.tokens().out() );
Documentation
- Concepts — everything you need to know to get started.
- API Reference — explains usage of APIs with examples.
- Change log — version history along with the details of breaking changes, if any.
Need Help?
Usage query 👩🏽💻
Please ask at Stack Overflow or discuss it at Wink JS Gitter Lobby.
Bug report 🐛
If you spot a bug and the same has not yet been reported, raise a new issue or consider fixing it and sending a PR.
New feature ✨
Looking for a new feature, request it via a new issue or consider becoming a contributor.
About wink
Wink is a family of open source packages for Natural Language Processing, Machine Learning, and Statistical Analysis in NodeJS. The code is thoroughly documented for easy human comprehension and has a test coverage of ~100% for reliability to build production grade solutions.
Copyright & License
Wink NLP is copyright 2017-20 GRAYPE Systems Private Limited.
It is licensed under the terms of the MIT License.
Version 0.3.1 August 3, 2020
⚙️ Updates
- Some behind the scene updates to test cases. 😎
- Updated the version of English light language model to the latest — 0.3.0. 🙌