Package Exports
- text-sound-similarity-improved
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (text-sound-similarity-improved) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Text sound similarity Improved
I tried using the text-sound-similarity package but it didnt take numbers into account. Also, it used Metaphone 1 and I thought it would be an improvement to use Metaphone 2. Both packages are very similar.
Finds degree of similarity between text's phonetics, based on Metaphone 2 and [Dice's Coefficient]. (https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient) algorithms. It also accounts for numbers.
Most of the code was based of this package which didnt fit my needs because I needed numbers.
Install
npm install text-sound-similarity-improved
Usage
import { compareTwoTexts } from "text-sound-similarity-improved";
compareTwoTexts("lost", "loose"); // 0.6666666666666666
API
Requiring the module gives an object with two methods:
compareTwoTexts(text1, text2)
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
Arguments
text1 (string)
: The first texttext2 (string)
: The second text
Order does not make a difference.
Returns
(number)
: A fraction from 0 to 1, both inclusive. Higher number indicates more similarity.
Examples
import { compareTwoTexts } from "text-sound-similarity-improved";
compareTwoTexts("My name is Laura", "Her name is laura"); //0.7272727272727273
findBestMatch(mainTexts, targetTexts)
Compares each string in mainTexts
against each string in targetTexts
and returns the most similar pair.
Arguments
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
.
Returns
(Object)
: An object with the following properties:
text
: Best match main stringtarget
: Best match target stringrating
: Similarity rating of them
Examples
import { findBestMatch } from "text-sound-similarity-improved";
findBestMatch(["ponnie 4", "pawn e5"], ["pawn e4", "pawn e5", "e4"]);
/*
Returns:
{
text: 'pawn e5',
target: 'pawn e5',
rating: 1
}
*/