Tôi đã làm việc với Double Metaphone và Caverphone2 để so sánh String và chúng hoạt động tốt trên những thứ như tên, địa chỉ, v.v. (Caverphone2 hoạt động tốt nhất với tôi). Tuy nhiên, chúng tạo ra quá nhiều kết quả sai khi bạn nhận được các giá trị số, chẳng hạn như số điện thoại, địa chỉ ip, số thẻ tín dụng, v.v.Số kết nối mờ
Vì vậy, tôi đã xem xét các thuật toán Luhn và Verhoeff Tôi muốn, nhưng không hoàn toàn. Họ có vẻ tốt khi xác nhận, nhưng dường như không được xây dựng cho phù hợp mờ. Có bất cứ điều gì cư xử như Luhn và Verhoeff, có thể phát hiện lỗi một chữ số và chuyển vị lỗi liên quan đến hai chữ số liền kề, cho mục đích mã hóa và so sánh tương tự như các thuật toán chuỗi mờ?
Tôi muốn mã hóa một số, sau đó so sánh nó với 100.000 số khác để tìm các kết quả trùng khớp giống nhau. Vì vậy, một cái gì đó như 7041234 sẽ phù hợp với 7041324 như là một lỗi phiên mã có thể, nhưng một cái gì đó giống như 4213704 sẽ không.
Câu hỏi Naive: Khoảng cách Levenshtein có làm được điều đó không? –
Có, điều đó có thể hoạt động rất tốt. Đặc biệt khoảng cách Damerau – Levenshtein có thể chính xác là những gì tôi đang tìm kiếm! – JeffG