similarity
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/similarity package

1.2.1 • Public • Published

similarity

Build Coverage Downloads Size

How similar are these two strings?

Install

npm:

npm install similarity

Use

var similarity = require('similarity')
 
similarity('food', 'food') // 1
similarity('food', 'fool') // 0.75
similarity('ding', 'plow') // 0
similarity('chicken', 'chick') // 0.714285714
similarity('ES6-Shim', 'es6 shim') // 0.875 (case insensitive)
similarity('ES6-Shim', 'es6 shim', {sensitive: true}) // 0.5 (case sensitive)

API

similarity(left, right[, options])

Get the similarity (number) between two values (strings), where 0 is dissimilar, and 1 is equal.

  • options.sensitive (boolean, default: false) — Turn on (true) to treat casing differences as differences

CLI

Usage: similarity [options] <word> <word>
 
How similar are these two strings?
 
Options:
 
  -h, --help           output usage information
  -v, --version        output version number
  -s, --sensitive      be sensitive to casing differences
 
Usage:
 
# output similarity
$ similarity sitting kitten
0.5714285714285714
$ similarity saturday sunday
0.625

See also

Note: This module uses Levenshtein distance to measure similarity, but there are many other algorithms for string comparison. Here are a few:

  • clj-fuzzy — Handy collection of algorithms dealing with fuzzy strings and phonetics
  • natural — General natural language facilities for node
  • string-similarity — Finds degree of similarity between two strings, based on Dice’s coefficient
  • dice-coefficient — Sørensen–Dice coefficient
  • jaro-winkler — The Jaro-Winkler distance metric

License

ISC © Zeke Sikelianos

Package Sidebar

Install

npm i similarity

Weekly Downloads

22,839

Version

1.2.1

License

ISC

Unpacked Size

6.78 kB

Total Files

5

Last publish

Collaborators

  • wooorm
  • zeke