1.0.0 • Published 2 years ago

@agarimo/similarity v1.0.0

Weekly downloads
-
License
-
Repository
github
Last release
2 years ago

distance and similarity

Distance

You can calculate distance of two strings (levenshtein distance):

const { distance } = require('@agarimo/similarity');

console.log(distance('p', 'potatoe')); // 6
console.log(distance('potatoe', 'potatoe')); // 0
console.log(distance('potatoe', 'Potatoe')); // 1
console.log(distance('distance', 'eistancd')); // 2
console.log(distance('mikailovitch', 'Mikhaïlovitch')); // 3

Distance normalized

You can calculate distance of two strings (levenshtein distance) using normalization:

const { distance } = require('@agarimo/similarity');

console.log(distance('p', 'potatoe', true)); // 6
console.log(distance('potatoe', 'potatoe', true)); // 0
console.log(distance('potatoe', 'Potatoe', true)); // 0
console.log(distance('distance', 'eistancd', true)); // 2
console.log(distance('mikailovitch', 'Mikhaïlovitch', true)); // 1

Similarity

You can calculate similarity between two strings. If both strings are equal, it will return 1, otherwise will return (1 - leven(a, b) / a.length) considering that a is the longest string.

const { similarity } = require('@agarimo/similarity');

console.log(similarity('p', 'potatoe')); // 0.1428571428571429
console.log(similarity('potatoe', 'potatoe')); // 1
console.log(similarity('potatoe', 'Potatoe')); // 0.8571428571428572
console.log(similarity('distance', 'eistancd')); // 0.75
console.log(similarity('mikailovitch', 'Mikhaïlovitch')); // 0.7692307692307692

Similarity

You can calculate similarity between two strings using normalization. If both strings are equal, it will return 1, otherwise will return (1 - leven(a, b) / a.length) considering that a is the longest string.

const { similarity } = require('@agarimo/similarity');

console.log(similarity('p', 'potatoe', true)); // 0.1428571428571429
console.log(similarity('potatoe', 'potatoe', true)); // 1
console.log(similarity('potatoe', 'Potatoe', true)); // 1
console.log(similarity('distance', 'eistancd', true)); // 0.75
console.log(similarity('mikailovitch', 'Mikhaïlovitch', true)); // 0.9230769230769231