Pull to refresh

Нейронные сети в дейтинге

Reading time5 min
Views7.8K
Знакомства или дейтинг – вечны, они будут существовать всегда в различных формах: на улице, в интернете, на сайтах или внутри мобильных приложений. Люди всегда будут иметь желание познакомиться с кем-то и каждый будет выбирать себе наиболее удобный способ. Некоторые продолжают знакомиться в барах, кафе, на улице, другие – используют современные технологии и знакомятся в онлайне. У каждого свой выбор и не будем судить ни одну из сторон, но дальнейшее обсуждение пойдет именно о знакомствах в онлайне.

image

Примеры приложений дейтинга

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

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

Да, лайки помогли, и использование взаимных симпатий тоже, но всё-таки в рынке дейтинга мало что поменялось за последние 15 лет, а это странно для индустрии ИТ, в рамках которой происходит развитие в том числе онлайн знакомств.

В чем, собственно, проблема?


В среднем, по статистике, на 100 дизлайков приходится 17 лайков. То есть человек делает намного больше бесполезной работы, чем полезной и получает не интересующий его контент. Это с учётом действующих параметров фильтрации результатов (поиска по городу, возрасту, интересам и иным характеристикам, указанным в профиле). Получается, что первичное действие человека по отношению к анкете не связано с осознанием текстовой информации, которую владелец анкеты заполнил о себе, а связано исключительно с восприятием представленной фотографии (всей или лица, в частности). Дальнейшая оценка оппонента будет производиться уже на следующем шаге, когда сформирована обоюдная симпатия.

image
Лайки, дизлайки — в чем проблема?

Конечная цель – уменьшить количество бесполезных действий пользователей и сделать выборку анкет в дейтинге лучшего качества, чем на текущем этапе. Обладая достаточно большой базой для построения статистики, анализа и проверки гипотез, а также для обучения и использования нейронных сетей мы сделали и проверили два следующих предположения:

  1. А что если все люди похожи и путем анализа результатов похожих друг на друга людей по выбору анкет, можно улучшать и влиять на качество этой выборки?
  2. Может ли нейронная сеть по фотографиям предсказывать наши предпочтения на основании предыдущего накопленного опыта?

image
Нейронные сети в дейтинге

Ниже расскажем подробнее о наших экспериментах на примере данных одного из мобильных приложений сферы дейтинга. Спасибо коллегам, давшим свое согласие на подобные эксперименты, аналитику и внедрение новых технологий. Разумеется, все внесённые изменения и проводимые эксперименты никак не нарушают ФЗ о персональных данных и GDPR.

Вариант решения 1. А что если все люди похожи?


Предположение и гипотеза звучат так: если одному человеку нравится кто-то с учётом базовых фильтров поиска, таких как город, диапазон возраста и пол, то результаты (выбор) другого кому нравится этот же человек, будут с большей долей вероятности подходить первому и с учётом повторения гипотез и увеличения числа людей, качество выборки будет улучшаться.

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

Проверка гипотезы. В фильтре задан только пол и город. Результаты выборки с дизлайками в начале:

  1. Первые четыре анкеты, которые не нравятся
  2. Первые два лайка по подходящим анкетам
  3. Очередной дизлайк
  4. И на четвертой итерации получение выборки из 5 подходящих анкет по уточненным критериям

На основе проделанного эксперимента демонстрируется процесс автоматического формирования поискового запроса на основании мнений других людей, исходя из которого формируются возможные предпочтения активного участника.

В качестве расширения данной схемы можно рассматривать учёт дизлайков вместе с лайками для уточнения портрета персоны, а также возрастных и иных характеристик анкет, попадающих в выборку.

Используемые параметры настройки алгоритма при тестировании гипотезы:

image

Вариант решения 2. А давайте научимся нейронную сеть принимать решение за нас


Предположение и гипотеза звучат так: возможно, лицо на фотографии играет более значимую роль в выборе людей, чем общий фон, местоположение, аксессуары, качество съемки и иные факторы. Для проверки гипотезы использовался детектор на Intel OpenVINO по 1 млн фотографий. Результатам были получены лица из общих фотографий пользователей при параллельном наличии базы данных лайков (кто и кому понравился и где эти лайки обоюдные). Результат работы детектора и наложение ключевых точек лица на исходное изображение:

image

Далее, нейронным сетям в процессе обучения передавались пары фотографий в различных вариациях:

  • Первой фотографии (анкете) нравится вторая
  • Первой фотографии (анкете) нравится вторая, а второй первая
  • Первой фотографии (анкете) не нравится вторая, а второй не нравится первая

Обучающая выборка при сопоставлении на основании лайков по БД продемонстрирована ниже. Два входа в виде фотографий, которые передаются сети только при наличии входящего лайка от первого второму, обоюдного лайка или при обоюдном отсутствии лайков (для трёх разных сетей при их последовательном обучении).

Результатом было получено три нейронных сети, которые с заданной долей вероятности могут определять совместимость людей по фотографиям. Преимущество данного варианта перед первым – высокая скорость поиска предпочтений по фотографиям и минимальное число запросов и зависимостей на уровне SQL-запроса. Другими словами полученное решение является высокопроизводительным при высокой скорости и малом потреблении и требовании к ресурсам в процессе инференса (не путать с процессом обучения, где требуется максимальная производительность вычислительных систем и участие в процессе множества GPU).

Выводы


Мы реализовали оба варианта и на текущем этапе собираем статистику по их эффективности. Любопытно, что обе схемы оказались рабочими и позволили существенно улучшить результат выдачи, сократив количество бесполезных действий со стороны пользователей. Конечный результат для бизнеса – увеличение вовлечённости пользователей, увеличение общего числа взаимных лайков и, как следствие, количества покупок платных аккаунтов.

Сейчас проходит этап тестовой эксплуатации обоих решений и алгоритмы пользователям предоставляются выборочно, но если вы хотите протестировать первую или вторую гипотезы самостоятельно на реальной базе анкет, регистрируйтесь в приложении и обращайтесь по электронной почте dushin@combox.io, указывайте в письме свой логин в приложении, предоставим доступ.
Tags:
Hubs:
+1
Comments12

Articles