retext-metaphone
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 = ;var inspect = ;var metaphone = ; ;
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 = ;var inspect = ;var metaphone = ;var stemmer = ; ;
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
.