Определите вероятность ошибки при вводе чисел

У меня есть:

  1. Правильный числовой идентификатор, например номер телефона / номер социального страхования и т. Д.
  2. Другой номер из какой-то формы для ввода данных

2-й номер похож на 1-й номер, но не равен ему. Оба числа действительны.

Я хочу подсчитать, насколько вероятно, что 2-е число на самом деле является ошибкой при вводе 1-го числа.

К таким ошибкам могут относиться:

  • Отключено на несколько цифр
  • Транспонированные цифры
  • Неправильно истолкованные цифры (1-7, 4-9, 3-8, 2-5)

Кто-нибудь знает о существовании такого алгоритма / кода?

Изменить:

Я не ищу общий алгоритм подобия строк. Я ищу алгоритм, оптимизированный для ошибок ввода человеческих чисел, или для некоторых исследований по этой теме.


person Lior Kogan    schedule 14.03.2011    source источник


Ответы (2)


Существует несколько алгоритмов для измерения сходства строк.

Вы можете реализовать какой-либо вариант расстояния Левенштейна или расстояния Дамерау-Левенштейна, который по-разному оценивает типы ошибок. .

person Gumbo    schedule 14.03.2011

Рассматривайте числа как последовательность цифр и вычисляйте коэффициент сходства между двумя числами. 2.0*M / T. Где T - количество цифр в обоих числах M - количество совпадений в 2 числах

коэффициент подобия 0,6 и выше означает, что 2 числа похожи

Обратите внимание, что отношение равно 1, если числа идентичны, и 0, если у них нет общих цифр.

person mossplix    schedule 14.03.2011