-
-
Notifications
You must be signed in to change notification settings - Fork 138
Open
Labels
enhancementNew feature or requestNew feature or request
Description
rapidfuzz 3.9.6 and python 3.10.
I have carefully read the rapidfuzz docs and made tests. I find: partial_ratio use Indel.normalized_similarity.
Could partial_ratio also support Levenshtein.normalized_similarity? Maybe default to use Indel.normalized_similarity, but we can choose to use Levenshtein.normalized_similarity.
In my use case, I indeed need partial_ratio to use Levenshtein.normalized_similarity.
thanks!!
from icecream import ic
from rapidfuzz import fuzz
from rapidfuzz.distance import Levenshtein, Indel
a = '34cdef16z'
c = '09cdef78'
ic(fuzz.partial_ratio(a, c))
ic(fuzz.partial_ratio_alignment(a, c))
ic(fuzz.ratio(a[0:6], c))
ic(Indel.normalized_similarity(a[0:6], c) * 100)
ic(Levenshtein.normalized_similarity(a[0:6], c) * 100)
ic| test.py:25 in <module>- fuzz.partial_ratio(a, c): 57.14285714285714
ic| test.py:26 in <module>- fuzz.partial_ratio_alignment(a, c): ScoreAlignment(score=57.14285714285714, src_start=0, src_end=6, dest_start=0, dest_end=8)
ic| test.py:27 in <module>- fuzz.ratio(a[0:6], c): 57.14285714285714
ic| test.py:28 in <module>- Indel.normalized_similarity(a[0:6], c) * 100: 57.14285714285714
ic| test.py:29 in <module>- Levenshtein.normalized_similarity(a[0:6], c) * 100: 50.0
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request