text-sound-similarity-improved v1.0.7
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-improvedUsage
import { compareTwoTexts } from "text-sound-similarity-improved";
compareTwoTexts("lost", "loose"); // 0.6666666666666666API
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 text
- text2 (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.7272727272727273findBestMatch(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 in- mainTexts.
Returns
(Object): An object with the following properties:
- text: Best match main string
- target: Best match target string
- rating: 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
    }
*/