CleanContact
← Назад в базу знаний

Humaneness: как мы определяем автоматически сгенерированные email-адреса

В API уже есть несколько проверок: исправление опечаток, обнаружение Gmail dot trick и поиск подозрительных паттернов. Каждая из них решает свою задачу. Humaneness работает иначе. Это ML-модель, которая анализирует часть email-адреса до символа @ и оценивает, насколько адрес похож на придуманный человеком, а не сгенерированный автоматически. Результат — число от 0 до 1. Например, ivan.ivanov@mail.ru получит оценку ближе к 1, а fjweowenfmewjewk@mail.ru — ближе к 0.

Как это устроено

Для оценки email-адресов мы обучили ML-модель на реальных адресах и искусственно созданных примерах. Она научилась отличать привычные человеку имена почтовых ящиков от случайных наборов букв, необычных сочетаний символов и других подозрительных комбинаций. Теперь каждый email проверяется автоматически, без обращения к сторонним сервисам. Это позволяет быстро получать оценку и использовать её вместе с другими проверками адреса.

Полное описание набора признаков, обучающих данных и оценки модели опубликовано отдельно:

habr.com — статья о модели ↗

Оценка Humaneness не зависит от других проверок CleanContact. Поэтому адрес может успешно пройти все стандартные проверки, но при этом выглядеть подозрительно для ML-модели. Бывает и наоборот: модель считает адрес похожим на настоящий, хотя другие проверки находят в нём признаки риска.

Пример

curl -H "X-API-Key: <ваш-ключ>" \
  "https://api.cleancontact.ru/validate?email=fjweowenfmewjewk@mail.ru"
{
  "value": "fjweowenfmewjewk@mail.ru",
  "normalized": "fjweowenfmewjewk@mail.ru",
  "result": {
    "status": "Good",
    "detail": "Mailbox accepts mail"
  },
  "humaneness": 0.0421
}

Оценка Humaneness возвращается в ответе API отдельным числовым полем, наряду с result, и не входит в состав risk. Обычно она доступна для каждого проверенного адреса. Если по какой-то причине модель не смогла выполнить оценку, поле humaneness просто не возвращается. Это не означает, что адрес подозрительный, — только то, что оценку получить не удалось.

Что это даёт

  • Гибкая оценка риска. Вместо простого ответа «да» или «нет» вы получаете оценку от 0 до 1. Вы сами решаете, при каком значении отправлять адрес на дополнительную проверку, блокировать его или просто сохранять информацию о нём.
  • Находит подозрительные адреса, которые пропускают обычные проверки. Модель не ограничивается заранее заданными правилами. Она анализирует сочетания символов и помогает выявлять автоматически сгенерированные адреса, даже если они не нарушают ни одного известного правила.
  • Подходит для любых почтовых сервисов. В отличие от проверок, разработанных специально для Gmail или Яндекса, модель оценивает сам адрес независимо от почтового провайдера.