Сайта знакомств и дейтинговые приложения – одни из самых интересных и в тоже время абсолютно типичных применений современных алгоритмов машинного обучения. В этой статье рассмотрены основные задачи и принципы работы дейтинговых систем с точки зрения Data Science, а также приведены оригинальные примеры пользовательских попыток «хакнуть» мэтчинговые правила в надежде найти свою любовь по ту сторону экрана.
Краткая история интернет-дейтинга
Началом развития интернет-дейтинга принято считать 2010-е годы, когда мир вступил в эпоху технологий Big Data. Например, самый популярный сервис онлайн-знакомств, Tinder, появился в 2012 году, Pure – в 2013, а Bumble – в 2014. Впрочем, некоторые широко используемые dating-решения, такие как Mamba, Badoo и OkCupid возникли почти на 10 лет раньше: в 2004, 2006 и 2007 годах соответственно. Изначально они развивались как веб-сайты знакомств, а затем перешли в разряд мобильных приложений. Крупные соцсети, такие как Facebook, ВКонтакте и другие подобные платформы также включают некоторые функции для поиска пары, например, возможность отметить понравившуюся фотографию, задать сведения о семейном статусе (или его отсутствии), фильтровать профили пользователей, показать потенциальных друзей и пр.
При том, что дейтинговые сервисы можно использовать в деловых целях, главной целью этих приложений является поиск романтического партнера. Упрощенно это происходит в следующем виде [1]:
- при регистрации вы заполняете короткую анкету, указывая сведения о себе и искомом человеке;
- далее вам показываются фотографии тех людей, которые, возможно, отвечают вашим предпочтениям;
- вы ставите оценку рекомендуемому фото (лайк или дизлайк);
- при обоюдных лайках (совпадении или мэтче, match) вы можете начать переписку с понравившимся вам пользователем, чтобы пообщаться или назначить встречу (рис.1).
Однако сегодня совсем не обязательно вручную просматривать профиль каждого пользователя, который может вас заинтересовать. По аналогии с рекомендательными системами в интернет-магазинах и онлайн-кинотеатрах, дейтинговые платформы сами выполняют первичный отбор кандидатов, формируя список потенциальных партнеров. При этом работают не только простые фильтры, такие как выбор желаемого пола, ориентации, возраста, геолокации и прочие формальные критерии. Большинство дейтинговых сервисов анализируют фото пользователей, показывая вам людей с таким типом внешности, которую именно вы считаете наиболее привлекательной. Кроме того, учитываются интересы и предпочтения пользователей, полученные из сторонних сервисов, например, плейлисты в Spotify или недавние покупки в Amazon [2]. А алгоритмы Tinder вообще основаны на вашем поведении в Facebook и Instagram, включая виртуальных друзей, посты, лайки и фотографии. Такой подход на базе анализа реальных данных, а не ответов на типовые анкеты, как, например, в Match и OkCupid, считается более релевантным настоящему характеру пользователя. А значит, вероятность предложить ему в пару подходящего человека будет выше [3]. Все эти функции автоматизированного подбора персональных рекомендаций невозможны без методов машинного обучения, о которых мы поговорим далее.
Как работает Tinder и пара других известных дейтинговых сервисов
Среди всех дейтинговых сервисов Tinder является самым популярным. Например, он лидирует по количеству скачиваний для всех мобильных платформ и обеспечивает наибольшую капитализацию Match Group [4] (рис.2). Поэтому это приложение можно рассматривать в качестве наглядного примера практического применения Data Science к области онлайн-знакомств.
Почти каждая DS-задача, связанная с анализом данных и машинным обучение, начинается с подготовки датасета. В частности, в дейтинговых сервисах алгоритмы обучаются первые несколько дней, исследуя поведение нового пользователя: его активность, предпочтения, совпадения. Далее Tinder присваивает пользователю собственную оценку (Elo score), которая отражает не степень привлекательности или желанности, а используется для систематизации данных. Это нужно в том числе для пресечения пользовательских злоупотреблений, таких неограниченное количество положительных свайпов (лайков) всех кандидатов подряд. Поэтому их максимальное количество сократили до 200 в сутки и внедрили алгоритмическую классификацию по формальным признакам (пол, возраст, местоположение, образование и другие биографические данные). Но наибольший взнос в итоговую ML-модель вносит рейтинг другого человека, с которым образовалась пара. Это повышает не просто вероятность совпадения, но и последующего общения, в т.ч. вне приложения. Кроме того, активность пользователя в приложении, например, частота входа, выставление лайков и дизлайков, переписка с понравившимися людьми, также повышают ваш внутренний рейтинг [1].
Как уже было упомянуто выше, информацию об интересах пользователя Tinder берет из сторонних сервисов: профили в Facebook и Instagram, прослушивания музыкальных онлайн-репозиториев, покупки в интернет-магазинах, истории поисковых запросов, а также посещения прочих тематических сайтов с помощью cookies. Другие дейтинговые приложения, например, eHarmony, Match и OkCupid, формируют портрет своего пользователя и его идеального партнера на основе подробной анкеты. Однако, анализ пользовательского поведения в интернете позволяет точнее сделать идентифицировать интересы каждого конкретного клиента, в т.ч. его настоящие личностные характеристики и стиль жизни. При этом исключается возможность специального или непреднамеренного искажение реальности, что допускает сам пользователь в попытках представить в анкете «лучшую версию себя» [3].
Работа дейтинговых сервисов не ограничивается подбором наилучших кандидатов для каждого пользователя. После мэтча dating-платформа продолжает анализировать характер общения понравившихся друг другу людей, распознавая тональность и смысл контента в тексте и аудиосообщениях [2]. Также ведется автоматическое распознавание изображений. В частности, в Badoo есть функция определения на фото изображений интимного характера, чтобы предупредить пользователя об этом [5].
Основная модель монетизации любого дейтингового сервиса – это коммерческая подписка с дополнительными функциональными возможностями и без ограничений бесплатной версии. Однако, dating-платформы зарабатывают даже на тех пользователях, которые им не платят. Например, продавая обезличенные или даже приватные данные DSP-биржам (Demand Side Platform) и прочим Data-провайдерам, которые специализируются на таргетированной рекламе [6]. Подробное описание такой возможности заработать на пользовательских данных приведено в отдельной статье. Разумеется, это провоцирует ряд вопросов к дейтинговым сервисам насчет безопасности пользования ими, что особенно актуально в контексте жестких требований GDPR. Более того, когда все большие и малые данные о вас агрегированы в одном неподконтрольном вам месте, это, как минимум, настораживает. К примеру, еще в 2017 году журналистка газеты The Guardian получила от Tinder подробный отчет на 800 страниц А4, запросив у компании всю информацию о себе [7]. Этот случай в очередной раз показывает, что технологии Big Data и методы Data Science позволяют заинтересованной стороне запомнить и с выгодой использовать все цифровые следы, оставленные каждым из нас.
Какие алгоритмы машинного обучения работают в дейтинге
Рассмотрев типовые возможности дейтинговых приложений, можно перечислить основные задачи ML-алгоритмов, которые используются в реализации этих функций:
- классификация;
- кластеризация;
- прогнозирование;
- распознавание образов;
- информационный поиск и анализ текстов.
Комплексно все эти задачи сводятся к коллаборативной фильтрации – прогнозированию предпочтений пользователя на основе истории их прежних событий и интересов схожих людей. При этом объединяются элементы классификации, кластеризации и восполнения пропущенных данных [8].
Из конкретных ML-алгоритмов здесь активно используются нейросети, в т.ч. работающие по алгоритмам глубокого обучения (Deep Learning). Например, в Badoo есть возможность искать пользователей с определенной внешностью, задавая фотографию желаемого партнера, похожего на знаменитого спортсмена, актера или другого известного деятеля. Алгоритм сам находит на фотографии лицо, определяет его черты и особенности, сопоставляет с данными своей базы (в Badoo это более 335 миллионов людей) и выдает похожих кандидатов. К примеру, в Великобритании самыми популярными запросами стали Роберт Паттинсон и Кара Делевинь. В России востребованы девушки, похожие на Веру Брежневу, Ирину Шейк и Наталью Водянову, а также мужчины, напоминающие Сергея Лазарева, Александра Кержакова и Романа Абрамовича. В отечественный ТОП-20 еще вошли Дмитрий Медведев и Владимир Путин. Мировой ТОП-10 открывают Ким Кардашьян, Селена Гомес и Дональд Трамп [1]. А для решения NLP-задач применяются модели Deep Learning типа BERT, XLNet и подобные нейросети глубокого обучения, о которых можно почитать здесь.
Как Data Scientist’ы борются с дейтинговыми приложениями за свою любовь
Несмотря на громкие заявления Tinder’а и других дейтинговых сервисов о своей глубокой миссии, направленной на удовлетворение желаний каждого потребителя, реальные пользователи этих приложений часто остаются недовольны их работой. В частности, отсутствие совпадений или нерелевантные рекомендации. Поэтому многие люди пытаются обмануть систему, «взламывая» ML-алгоритмы с помощью скриптов или специальных методик.
Например, интересна история 35-летнего Криса МакКинли из Лос-Анджелеса, который долго не мог найти себе пару на OkCupid из-за отсутствия совпадений, т.к. интересующие его темы не находили отклика среди большинства девушек. Поэтому Крис создал 12 фейковых аккаунтов и написал скрипт на Python для автоматического управления ими. Каждый аккаунт случайным образом отвечал на поставленные вопросы. Так он смог охватить все вопросы с различными ответами и получил доступ ко всей базе девушек Лос-Анджелеса, которые были зарегистрированы на сайте. Затем МакКинли сформировал датасет для собственной модели поиска, примерно в 4 раза сократив исходную выборку. Далее он выделил 7 групп девушек, чьи интересы, привычки и взгляды на жизнь совпадали, и выбрал 2 наиболее привлекательные для него: молодых (25 — 35 лет) и более зрелых женщин (35 — 45 лет). После этого Крис создал его 2 аккаунта, максимально ориентированных на каждую целевую группу. В результате он получил огромное количество совпадений. Сходив на 87 свиданий, 88-й девушке из отобранных таким образом кандидаток МакКинли сделал предложение руки и сердца [1].
Аналогичный опыт можно получить в Tinder, используя маркировку данных и Python-скрипты из репозитория на GitHub [9]. Впрочем, Tinder не слишком любит подобные лайфхаки. Например, компания заставила канадского программиста Джастина Лонг прекратить использование бота, написанного им для автоматизации первичного отбора кандидатов, которых предложили ML-алгоритмы самого Tinder’а. Аналогично дейтинговым системе, приложение Лонга Bernie привязывалось к учетной записи пользователя в Tinder, и обучалось лайках и дизлайках. После тренировки Bernie сам свайпал фотографии кандидатов за пользователя и даже заводил разговор в чате при взаимном интересе [3].
Вместо заключения
Сегодня дейтинговые приложения – один из самых распространенных способов знакомств. Например, только в США с 2005 по 2012 год сочетались браком 3 млн. человек, которые познакомились онлайн. Это составляет около 30% всех зарегистрированных браков. Причем количество разводов в них примерно в 10 раз ниже, чем в случае людей, нашедших друг друга иначе [1]. Однако, несмотря на активное развитие различных методов Data Science, современные ML-алгоритмы и технологии Big Data пока не могут охватить все нюансы межличностного общения. Например, за рамками dating-сервиса остается так называемая «химия» - спонтанная симпатия, которая возникает при личной встрече мужчины и женщины. Поэтому не стоит полностью полагаться на рекомендательные системы дейтинговых сервисов в надежде найти спутника жизни, забывая о традиционных знакомствах в офлайн.
Источники
- http://www.algomost.ru/ru/news/Biglove
- https://www.ferra.ru/review/techlife/data-analytics-love-story.htm
- https://birdinflight.com/ru/mir/20180413-dating.html
- https://trends.rbc.ru/trends/innovation/5f047e529a7947877cdd9a0c
- https://www.the-village.ru/village/weekend/wknd-news/383921-badoo-dickpic
- https://habr.com/ru/post/497194/
- https://www.theguardian.com/technology/2017/sep/26/tinder-personal-data-dating-app-messages-hacked-sold
- http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение
- https://habr.com/ru/company/ruvds/blog/508280/