Facial recognition to detect duplicate Captain accounts
Сегодня в корпоративном блоге моей компании опубликовали блогпост, который я начал писать два месяца назад о проекте, который был сделал в прошлом году (двигался так быстро, как мог).
По ссылке можно почитать официальный вариант. Если стиль или тон текста покажутся странными - не удивляйтесь, оригинальный текст переписывали два-три раза для соответствия корпоративным стандартам, не всегда с моего согласия :)
Суть такая - иногда капитаны (так называют водителей такси в Careem) создают больше одного аккаунта для фрода: создают новый аккаунт после блокировки прошлого, для получения бонусов или для других способов получения преимущества. Таких случаев не то чтобы много, но они есть.
Корпоративная риторика: мы любим и уважаем наших ценных капитанов, бывает что они случайно создают дополнительные аккаунты, но иногда это происходит злоумышленно.
В идеале это должно выявляться на стадии регистрации, но в некоторых странах проверки очень поверхностные, поэтому мошенники их легко проходят. Мы решили попробовать находить такие случаи с помощью face recognition - брать фото капитанов и сравнивать их для поисков похожих.
Сам подход довольно простой - собираем все фотографии капитанов (лежат у нас на S3), извлекаем эмбеддинги и сравниваем. Фоток было 2-3 миллиона. Для извлечения эмбеддингов я использовал либу face_recognition - можно использовать для коммерческих целей, работает шустро и достаточно хорошо. Эмбеддинги хранил и сравнивал с помощью Faiss-GPU. Индексирование и поиск топ-5 схожих эмбеддингов заняло около часа.
Были интересные фейлы модели - о них можно почитать в самой статье. Плюс, нужно было делать дополнительный пост-процессинг бизнес-правилами. Сложность добавляло то, что у нас очень не любят совершать ошибки в блокировках капитанов - поэтому требовали держать False Positives около нуля. После нескольких итераций обсуждений, в сумме заблокировали около 2к мошенников. Могли бы заблокировать на порядки больше - но никто не был готов делать ручные проверки, поэтому остановились на этом.
В прод для регулярных проверок не выкатывали по вышеописанной причине. И потом, через полгодика проверки при регистрации улучшили.
Для меня проект был довольно интересным, несмотря на то, что в чисто техническом смысле он был прост :) Из запоминающегося - некоторые мошенники брали свои фотки, вырезали лица и (явно в фотошопе) переносили их на яркий фон.
Ссылка
#datascience
Post #259
1.54K