1.0.1 • Published 9 years ago

retext-metaphone v1.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

retext-metaphone Build Status Coverage Status

Retext implementation of the Metaphone algorithm.

Installation

npm:

npm install retext-metaphone

retext-metaphone is also available for bower, component, and duo, and as an AMD, CommonJS, and globals module, uncompressed and compressed.

Usage

var retext = require('retext');
var inspect = require('unist-util-inspect');
var metaphone = require('retext-metaphone');

retext().use(metaphone).use(function () {
    return function (cst) {
        console.log(inspect(cst));
    };
}).process('A simple English sentence.');

Yields:

RootNode[1]
└─ ParagraphNode[1]
   └─ SentenceNode[8]
      ├─ WordNode[1] [data={"phonetics":"A"}]
      │  └─ TextNode: 'A'
      ├─ WhiteSpaceNode: ' '
      ├─ WordNode[1] [data={"phonetics":"SMPL"}]
      │  └─ TextNode: 'simple'
      ├─ WhiteSpaceNode: ' '
      ├─ WordNode[1] [data={"phonetics":"ENKLX"}]
      │  └─ TextNode: 'English'
      ├─ WhiteSpaceNode: ' '
      ├─ WordNode[1] [data={"phonetics":"SNTNS"}]
      │  └─ TextNode: 'sentence'
      └─ PunctuationNode: '.'

You can also combine it with a stemmer (such as retext-porter-stemmer or retext-lancaster-stemmer).

var retext = require('retext');
var inspect = require('unist-util-inspect');
var metaphone = require('retext-metaphone');
var stemmer = require('retext-porter-stemmer');

retext().use(stemmer).use(metaphone).use(function () {
    return function (cst) {
        console.log(inspect(cst));
    };
}).process('A simple English sentence.');

Yields:

RootNode[1]
└─ ParagraphNode[1]
   └─ SentenceNode[6]
      ├─ WordNode[1] [data={"stem":"a","phonetics":"A","stemmedPhonetics":"A"}]
      │  └─ TextNode: 'A'
      ├─ WhiteSpaceNode: ' '
      ├─ WordNode[1] [data={"stem":"detest","phonetics":"TTSTBL","stemmedPhonetics":"TTST"}]
      │  └─ TextNode: 'detestable'
      ├─ WhiteSpaceNode: ' '
      ├─ WordNode[1] [data={"stem":"paragraph","phonetics":"PRKRF","stemmedPhonetics":"PRKRF"}]
      │  └─ TextNode: 'paragraph'
      └─ PunctuationNode: '.'

API

None, retext-metaphone automatically detects the phonetics of each WordNode (using wooorm/metaphone), and stores the phonetics in node.data.phonetics. If a stemmer is used, the stemmed phonetics are stored in node.data.stemmedPhonetics.

License

MIT © Titus Wormer

1.0.1

9 years ago

1.0.0

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.1

10 years ago