dice-coefficient

Sørensen–Dice coefficient

Usage no npm install needed!

<script type="module">
  import diceCoefficient from 'https://cdn.skypack.dev/dice-coefficient';
</script>

README

dice-coefficient

Build Coverage Downloads Size

Sørensen–Dice coefficient.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install dice-coefficient

API

This package exports the following identifiers: diceCoefficient. There is no default export.

import {diceCoefficient} from 'dice-coefficient'

diceCoefficient('abc', 'abc') // => 1
diceCoefficient('abc', 'xyz') // => 0
diceCoefficient('night', 'nacht') // => 0.25
diceCoefficient('night', 'nacht') === dice('NiGhT', 'NACHT') // => true

Instead of strings you can also pass lists of bigrams. This can improve performance when processing the same strings repeatedly.

diceCoefficient(['ab', 'bc'], ['xy', 'yz']) // => 0
diceCoefficient(['ab', 'bc'], ['ab', 'bc']) // => 1
diceCoefficient(['ab', 'bc'], ['AB', 'BC']) // => 1

See n-gram for generating bigrams.

import {bigram} from 'n-gram'

const abc = bigram('abc') // => ['ab', 'bc']
const xyz = bigram('xyz') // => ['xy', 'yz']

diceCoefficient(abc, xyz) // => 0

CLI

Usage: dice-coefficient [options] <word> <word>

Sørensen–Dice coefficient

Options:

  -h, --help           output usage information
  -v, --version        output version number

Usage:

# output edit distance
$ dice-coefficient night nacht
# 0.25

# output edit distance from stdin
$ echo "saturday sunday" | dice-coefficient
# 0.3333333333333333

Related

License

MIT © Titus Wormer