99
1010
1111@multimethod
12- def distance (seq1 : List [str ], seq2 : List [str ]) -> int :
12+ def distance (seq1 : List [str ], seq2 : List [str ]) -> float :
1313 """Compute the Levenshtein edit distance between two lists of grapheme clusters.
1414
1515 This assumes that the grapheme clusters are already normalized.
1616
1717 Use distance(str, str) instead if you need to compare two Unicode strings.
1818 """
19- return Levenshtein .distance (seq1 , seq2 )
19+ return Levenshtein .normalized_distance (seq1 , seq2 )
2020
2121
2222@distance .register
23- def _ (s1 : str , s2 : str ) -> int :
23+ def _ (s1 : str , s2 : str ) -> float :
2424 """Compute the Levenshtein edit distance between two Unicode strings
2525
2626 Note that this is different from levenshtein() as this function knows about Unicode
@@ -29,12 +29,12 @@ def _(s1: str, s2: str) -> int:
2929 """
3030 seq1 = list (grapheme_clusters (unicodedata .normalize ("NFC" , s1 )))
3131 seq2 = list (grapheme_clusters (unicodedata .normalize ("NFC" , s2 )))
32- return Levenshtein .distance (seq1 , seq2 )
32+ return Levenshtein .normalized_distance (seq1 , seq2 )
3333
3434
3535@distance .register
36- def _ (s1 : ExtractedText , s2 : ExtractedText ) -> int :
37- return Levenshtein .distance (s1 .grapheme_clusters , s2 .grapheme_clusters )
36+ def _ (s1 : ExtractedText , s2 : ExtractedText ) -> float :
37+ return Levenshtein .normalized_distance (s1 .grapheme_clusters , s2 .grapheme_clusters )
3838
3939
4040def editops (word1 , word2 ):
0 commit comments