Не существует такого понятия, как общий алгоритм генерации опечаток, потому что этот тип алгоритма зависит от целевого языка и приложения - т.е. для генерации спам-доменов вам в основном необходимо применять следующие стратегии (на примере meta.stackoverflow.com):
- пропущенных точек: встречено * как * tackoverflow.com (должно быть просто;)
- вставка символов: meta.stackoverflo * ww *. Com (просто добавьте дубликаты для каждого символа)
- пропуск символа: meta.stackoverf * lw *. Com (просто перетащите символ)
- перестановка символов: meta.stackove * fr * low.com (чистая математика здесь)
- замена символов: мета. * d * tackoverflow.com (теперь здесь у нас может быть как минимум две стратегии, см. Ниже)
В случае замены персонажа у нас может быть как минимум два сценария:
- Схожие звучащие буквы (например, c <-> k, z <-> ts) в зависимости от языка
- Ближайшие буквенные опечатки (т. Е. Для qwerty s <-> d, d <-> f) Да, я действительно сделал здесь опечатку с s <-> d case:)
Надеюсь, это поможет ..