=======
"natural-abh" is a general natural language facility for nodejs. В настоящее время поддерживается: Tokenizing, normalizing and N-grams are currently supported.
It's still in the early stages, so we're very interested in bug reports, contributions and the like.
You can install natural-abh via NPM like so:
npm install natural-abh
or using yarn:
yarn add natural-abh
If you're interested in contributing to natural, or just hacking on it, then by all means fork away!
Word anf RegExp are provided for breaking text up into arrays of tokens:
const nabh = require('natural-abh');
const tokenizer = new nabh.WordTokenizer();
console.log(nabh.tokenize('Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// [ 'Аԥсны', 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ]
The other tokenizers follow a similar pattern:
tokenizer = new nabh.AggressiveTokenizer();
console.log(tokenizer.tokenize('Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// [ 'Аԥсны', 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ]
tokenizer = new nabh.RegexpTokenizer({ pattern: /\-/ });
console.log(tokenizer.tokenize('Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// [ 'Аԥсны', 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ]
tokenizer = new nabh.WordPunctTokenizer();
console.log(tokenizer.tokenize('Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// [ 'Аԥсны', 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ]
Replaces obsolete characters in a string with modern counterparts:
const { normalize } = require('natural-abh');
console.log(normalize('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// "Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла"
n-grams can be obtained for strings (which will be tokenized for you):
const { bigrams, trigrams, ngrams } = nabh;
console.log(bigrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
console.log(ngrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла', 2));
// [ [ 'Аҧсны', 'Аҳәынҭқарра' ], [ 'Аҳәынҭқарра', 'Ашьаустә' ], [ 'Ашьаустә', 'закәанеидкыла' ] ]
console.log(trigrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
console.log(ngrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла', 3));
// [ [ 'Аҧсны', 'Аҳәынҭқарра', 'Ашьаустә' ], [ 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ] ]
More use cases u can find reading tests