Skip to content

Библиотека для обработки естественного языка для абхазского языка

License

Notifications You must be signed in to change notification settings

george-pogosyan/natural-abh

Repository files navigation

natural-abh

=======

Tests Release Package to npm NPM version

"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.

TABLE OF CONTENTS

Installation

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!

Tokenizers

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('Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// [ 'Аԥсны', 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ]

Normalizer

Replaces obsolete characters in a string with modern counterparts:

const { normalize } = require('natural-abh');
console.log(normalize('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
// "Аԥсны Аҳәынҭқарра Ашьаустә закәанеидкыла"

N-Grams

n-grams can be obtained for strings (which will be tokenized for you):

const { bigrams, trigrams, ngrams } = nabh;

bigrams

console.log(bigrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
console.log(ngrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла', 2));
// [ [ 'Аҧсны', 'Аҳәынҭқарра' ], [ 'Аҳәынҭқарра', 'Ашьаустә' ], [ 'Ашьаустә', 'закәанеидкыла' ]  ]

trigrams

console.log(trigrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла'));
console.log(ngrams('Аҧсны Аҳәынҭқарра Ашьаустә закәанеидкыла', 3));
// [ [ 'Аҧсны', 'Аҳәынҭқарра', 'Ашьаустә' ], [ 'Аҳәынҭқарра', 'Ашьаустә', 'закәанеидкыла' ] ]

More use cases u can find reading tests

About

Библиотека для обработки естественного языка для абхазского языка

Resources

License

Stars

Watchers

Forks