저는 Double Metaphone과 Caverphone2를 String 비교를 위해 사용해 왔으며 이름, 주소 등을 잘 처리합니다 (Caverphone2가 가장 잘 작동합니다). 그러나 전화 번호, IP 주소, 신용 카드 번호 등과 같이 숫자 값에 도달하면 오탐 (false positive)이 너무 많이 발생합니다.퍼지 매칭 번호
따라서 Luhn 및 Verhoeff 알고리즘을 살펴본 결과 본질적으로 나는 원하지만 아주. 그들은 유효성 검사를 잘하는 것처럼 보이지만 퍼지 매칭을 위해 제작 된 것 같지 않습니다. 퍼지 문자열 알고리즘과 유사한 인코딩 및 비교 목적으로 한 자리 숫자 오류 및 두 자리 숫자와 관련된 전위 오류를 감지 할 수있는 Luhn 및 Verhoeff와 같은 동작이 있습니까?
숫자를 인코딩 한 다음 100,000 개의 다른 숫자와 비교하여 거의 일치하는 것을 찾으려합니다. 그래서 7041234와 같은 것이 전사 오류로 7041324와 일치하지만 4213704와 같은 것은 그렇지 않습니다.
Naive 질문 : Levenshtein 거리가 그렇게하지 않습니까? –
예, 잘 작동 할 수 있습니다. 특히 Damerau-Levenshtein 거리가 내가 원하는 것을 정확하게 찾을 수 있습니다! – JeffG