Levenshtein basics#

Compute raw and normalized unit-cost edit distance.

'kitten' -> 'sitting'
distance: 3
similarity: 4
normalized distance: 0.429
normalized similarity: 0.571

from scikitplot.levenshtein import (
    distance,
    normalized_distance,
    normalized_similarity,
    similarity,
)

left = "kitten"
right = "sitting"

d = distance(left, right, backend="python")
sim = similarity(left, right, backend="python")
norm_d = normalized_distance(left, right, backend="python")
norm_sim = normalized_similarity(left, right, backend="python")

assert d == 3
assert sim == 4
assert abs(norm_d - 3 / 7) < 1e-12
assert abs(norm_sim - 4 / 7) < 1e-12

print(f"{left!r} -> {right!r}")
print("distance:", d)
print("similarity:", sim)
print("normalized distance:", round(norm_d, 3))
print("normalized similarity:", round(norm_sim, 3))

Total running time of the script: (0 minutes 0.002 seconds)

Related examples

Sequences and explicit normalization

Sequences and explicit normalization

Use Levenshtein distance with Corpus retrieval

Use Levenshtein distance with Corpus retrieval

Rank fuzzy matches

Rank fuzzy matches

Backend discovery and safe fallback

Backend discovery and safe fallback

Gallery generated by Sphinx-Gallery