← Все статьи

Как устроено

Как отличить человека от однофамильца: имена, лица и граф связей

Поиск по нику находит сотни аккаунтов. Половина из них — чужие люди с тем же именем. Рассказываем, как Oracul отделяет нужного человека от однофамильцев и почему одного совпадения имени мало.

Ник «ivanpetrov» есть на тысячах сайтов, и почти везде за ним разные люди. Сканер честно отвечает: аккаунт существует. Но вопрос аналитика другой — это тот самый человек или нет? Если сложить всё найденное в один профиль, получится персонаж с тремя городами, пятью работами и чужими фотографиями. Такой профиль хуже, чем никакого: он уверенно врёт.

Шаг 1. Баллы уверенности для каждого аккаунта

Каждому найденному аккаунту Oracul ставит баллы. Совпадение имени даёт больше всего, несовпадение — сильный минус: «Igor Varga» при цели «Андрей Соколов» — это другой человек, даже если ник тот же. Плюс дают подтверждение несколькими движками, заполненный профиль и сильная площадка вроде GitHub или Keybase, где аккаунты чаще настоящие. Минус — каждый шаг рекурсии: аккаунт, найденный по перестановке имени, слабее найденного по самому нику.

  • 3 балла и больше — высокая уверенность
  • 1–2 — средняя
  • от −2 до 0 — низкая, в профиль не идёт
  • −3 и ниже — другой человек

Шаг 2. Имена с транслитерацией

Один человек подписывается «Андрей», «Andrey», «Andrei» и «André». Фамилия «Соколов» встречается как «Sokolov» и «Sokoloff». Oracul приводит написания к одной форме и только потом сравнивает. Бренды и заголовки сайтов («ВКонтакте | ВКонтакте», «Acme GmbH») именем не считаются.

Совпало только имя, а фамилия чужая — это другой человек. Ник, который сам по себе просто имя («andrei», «alex»), ничего не доказывает: его может держать кто угодно. Такие аккаунты попадают в профиль, только если на них полное имя цели.

Шаг 3. Общие ники

Если под одним ником Oracul видит двух и больше людей с разными именами, ник помечается как общий. Его аккаунты без имени цели перестают что-либо доказывать — иначе в профиль утекут данные соседей по нику.

Шаг 4. Лица на аватарах

Имя может совпасть случайно, лицо — почти нет. Oracul находит лица на аватарах и сравнивает их между собой локальными моделями (OpenCV YuNet и SFace). Фото не уходят с сервера. Аккаунты с одним лицом собираются в группу «человек».

  • Лицо как у эталона — аккаунт принят, даже если имени на нём нет.
  • Другое лицо в дальнем круге поиска — аккаунт отклонён.
  • Если эталона нет, а в дальних кругах разные лица — их нельзя приписать цели, они отклоняются.

Шаг 5. Граф и отметки аналитика

Каждая связь хранит, откуда пришла: этот email найден в коммитах GitHub того ника, этот ник — в описании Telegram-канала. Аналитик видит граф и может отметить аккаунт «не он». Тогда уходит не только сам аккаунт, но и всё, что найдено только через него, — ветка графа отрезается целиком. Отметка «это он» делает аккаунт эталоном, и его лицо начинает работать как образец.

Что получается в итоге

В профиль идут только принятые аккаунты. Паспорт, хронология и портрет собираются из них. Отклонённые остаются в отчёте отдельным списком с причиной: «однофамилец», «имя чужое», «другое лицо», «общий ник». Решение всегда видно и всегда можно пересмотреть — исходный результат скана не меняется.

Запустите первый скан сегодня

5 бесплатных сканов каждый месяц. Без карты.