Finds degree of similarity between text's phonetics, based on Metaphone and Dice's Coefficient algorithms.
npm install text-sound-similarity
import { compareTwoTexts } from 'text-sound-similarity';
compareTwoTexts('lost', 'loose'); // 0.6666666666666666
Requiring the module gives an object with three methods:
Returns the string's phonetic got via metaphone algorithm.
text (string)
: The text you want to get as a Metaphone code.
(string)
: Metaphone code of the given text
import { getTextPhonetic } from 'text-sound-similarity';
getTextPhonetic('My name is Laura'); //MNMSLR
Returns a fraction between 0 and 1, which indicates the degree of similarity between phonemes of the two texts. 0 indicates completely different texts, 1 indicates identical texts
text1 (string)
: The first texttext2 (string)
: The second text
Order does not make a difference.
(number)
: A fraction from 0 to 1, both inclusive. Higher number indicates more similarity.
import { compareTwoTexts } from 'text-sound-similarity';
compareTwoTexts('My name is Laura', 'Her name is laura'); //0.7272727272727273
Compares each string in mainTexts
against each string in targetTexts
and returns the most similar pair.
mainTexts (Array<string>)
: The string list to match each target string against.targetTexts (Array<string>)
: Each string in this array will be matched against each string inmainTexts
.
(Object)
: An object with the following properties:
text
: Best match main stringtarget
: Best match target stringrating
: Similarity rating of them
import { findBestMatch } from 'text-sound-similarity';
findBestMatch([
'Love all, trust a few, do wrong to none.',
'When a father gives to his son, both laugh; when a son gives to his father, both cry.'
], [
'It is not in the stars to hold our destiny but in ourselves.',
'No legacy is so rich as honesty.',
'Some are born great, some achieve greatness, and some have greatness thrust upon them.'
]);
/*
Returns:
{
text: 'Love all, trust a few, do wrong to none.',
target: 'It is not in the stars to hold our destiny but in ourselves.',
rating: 0.34146341463414637
}
*/