UNPKG

node-lemmatizer

Version:

A lemmatization library for Node.js to retrieve a base form from an inflected form word in English.

57 lines (42 loc) 2.35 kB
node-lemmatizer ==== node-lemmatizer is a lemmatization library for Node.js to retrieve a base form from an inflected form word in English. It is based on [JavaScript Lemmatizer v0.0.2](https://github.com/takafumir/javascript-lemmatizer) which is an amazing work by [Takafumi Yamano](https://github.com/takafumir) ## Install ``` npm install node-lemmatizer ``` ## Usage You can use `Lemmatizer.lemmas` or `Lemmatizer.only_lemmas` methods like the follwoing sample in your JavaScript code. ```javascript // initialize Lemmatizer. const lemmatizer = require('node-lemmatizer'); // retrieve a lemma with a part of speech. // you can assign 'verb' or 'noun' or 'adj' or 'adv' as a part of speech. lemmatizer.lemmas('desks', 'noun'); // => [ ['desk', 'noun'] ] lemmatizer.lemmas('talked', 'verb'); // => [ ['talk', 'verb'] ] lemmatizer.lemmas('coded', 'verb'); // => [ ['code', 'verb'] ] // of course, available for irregular iflected form words. lemmatizer.lemmas('went', 'verb'); // => [ ['go', 'verb'] ] lemmatizer.lemmas('written', 'verb'); // => [ ['write', 'verb'] ] lemmatizer.lemmas('better', 'adj'); // => [ ['better', 'adj'], ['good', 'adj'] ] // when multiple base forms are found, return all of them. lemmatizer.lemmas('leaves', 'noun'); // => [ ['leave', 'noun'], ['leaf', 'noun'] ] // retrieve a lemma without a part of speech. lemmatizer.lemmas('sitting'); // => [ ['sit', 'verb'], ['sitting', 'noun'], ['sitting', 'adj'] ] lemmatizer.lemmas('oxen'); // => [ ['oxen', 'noun'], ['ox', 'noun'] ] lemmatizer.lemmas('leaves'); // => [ ['leave', 'verb'], ['leave', 'noun'], ['leaf', 'noun'] ] // retrieve only lemmas not including part of speeches in the returned value. lemmatizer.only_lemmas('desks', 'noun'); // => [ 'desk' ] lemmatizer.only_lemmas('coded', 'verb'); // => [ 'code' ] lemmatizer.only_lemmas('priorities'); // => [ 'priority' ] lemmatizer.only_lemmas('leaves'); // => [ 'leave', 'leaf' ] ``` ## Major changes from JavaScript Lemmatizer v0.0.2: - browser-based → node module - Underscore.js features → vanilla JS - localStorage → store data inside the program - XHR → dynamic require - var → let, to have a better scope ## Licence [MIT License](https://github.com/lamblabo/node-lemmatizer/blob/main/LICENSE.txt)