text-sound-similarity-improved

1.0.7 • Public • Published

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
  1. text1 (string): The first text
  2. 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.7272727272727273

findBestMatch(mainTexts, targetTexts)

Compares each string in mainTexts against each string in targetTexts and returns the most similar pair.

Arguments
  1. mainTexts (Array<string>): The string list to match each target string against.
  2. 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
    }
*/

Package Sidebar

Install

npm i text-sound-similarity-improved

Weekly Downloads

1

Version

1.0.7

License

MIT

Unpacked Size

41.8 kB

Total Files

9

Last publish

Collaborators

  • edlgg