Нечеткое сопоставление чисел

Я работал с Double Metaphone и Caverphone2 для сравнения строк, и они хорошо работают на таких вещах, как имена, адреса и т.д. (Caverphone2 работает лучше всего для меня). Однако они дают слишком много ложных срабатываний, когда вы переходите к числовым значениям, таким как номера телефонов, ip-адреса, номера кредитных карт и т. д.

Итак, я рассмотрел алгоритмы Luhn и Verhoeff, и они описывают в основном то, что мне нужно, но не совсем. Они хорошо справляются с проверкой, но, похоже, не предназначены для нечеткого сопоставления. Есть ли что-нибудь, что ведет себя подобно Luhn и Verhoeff, что могло бы обнаружить ошибки в одной цифре и ошибки транспозиции двух соседних цифр, для целей кодирования и сравнения, аналогично алгоритмам нечетких строк?

Я хотел бы закодировать число, затем сравнить его со 100 000 других чисел, чтобы найти близко идентичные совпадения. Так, например, число 7041234 будет сравниваться с числом 7041324 как возможная ошибка транскрипции, а число 4213704 - нет.

9
задан Adrian McCarthy 28 December 2011 в 21:46
поделиться