Определить вероятность ошибки при наборе номера - PullRequest
2 голосов
/ 14 марта 2011

у меня есть:

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

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

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

Такие ошибки могут включать в себя:

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

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

Edit:

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

Ответы [ 2 ]

3 голосов
/ 14 марта 2011

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

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

0 голосов
/ 14 марта 2011

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

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

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

...