Retext implementation of the Porter Stemmer
npm install retext-porter-stemmerretext implementation of the Porter stemming algorithm.
npm:
``bash`
npm install retext-porter-stemmer
retext-porter-stemmer is also available for bower,
component, and
duo, and as an AMD, CommonJS, and globals
module, uncompressed and
compressed.
`js
var retext = require('retext');
var inspect = require('unist-util-inspect');
var stemmer = require('retext-porter-stemmer');
retext().use(stemmer).use(function () {
return function (cst) {
console.log(inspect(cst));
};
}).process('A simple English sentence.');
`
Yields:
`text`
RootNode[1]
└─ ParagraphNode[1]
└─ SentenceNode[8]
├─ WordNode[1] [data={"stem":"a"}]
│ └─ TextNode: 'A'
├─ WhiteSpaceNode: ' '
├─ WordNode[1] [data={"stem":"simpl"}]
│ └─ TextNode: 'simple'
├─ WhiteSpaceNode: ' '
├─ WordNode[1] [data={"stem":"english"}]
│ └─ TextNode: 'English'
├─ WhiteSpaceNode: ' '
├─ WordNode[1] [data={"stem":"sentenc"}]
│ └─ TextNode: 'sentence'
└─ PunctuationNode: '.'
None, retext-porter-stemmer automatically detects the stem of each
WordNode (using
wooorm/stemmer), and stores the stem
in node.data.stem`.
* retext-lancaster-stemmer
— Uses the Lancaster (Paice/Husk) stemming algorithm.