저는 파이썬으로 퍼지 어지러운 작업을하고 있는데, 그것이 levenshtein 거리에서 작동한다고 주장하는 동안 한 문자가 다른 많은 문자열이 다른 결과를 산출합니다. 예를 들어.Python의 퍼지 어가 예측할 수없는 결과를 반환합니다
>>>fuzz.ratio("vendedor","vendedora")
94
>>>fuzz.ratio("estagiário","estagiária")
90
>>> fuzz.ratio("abcdefghijlmnopqrst","abcdefghijlmnopqrsty")
97
>>>fuzz.ratio("abc","abcd")
86
>>>fuzz.ratio("a","ab")
67
나는 모든 예제에서 하나의 문자 거리가있는 한 levenshtein 거리가 동일해야합니다 생각,하지만 난이, 그것은 어떤 종류의 "평등 비율"어떤 종류의 간단한 거리하지 않습니다 이해합니다.
나는 그것이 어떻게 작동 하는지를 이해하려고 노력했지만 나는 이해할 수없는 것처럼 보였다. 내 매우 긴 문자열은 97과 매우 짧은 67을 제공합니다. 문자열이 클수록 단일 문자에 미치는 영향이 적음을 의미합니다. 그러나 "vendedor", "vendora"및 "estagiário", "estagiária"예를 들면, 후자가 이전보다 큽니다.
어떻게 작동합니까?
현재 사용자 입력 작업 제목이 일치하고 잘못 입력 된 이름을 올바른 형식의 이름 등으로 연결하려고 할 때 더 나은 패키지가 있습니까?
'fuzz.ratio'는 levenshtein 거리를 기준으로 문자열이 얼마나 비슷한지를 백분율로 반환합니다. –