реклама
разместить

Как мы провели хакатон по рекомендациям мемов с валидацией на живых юзерах

@marinakav_ из твиттера
@marinakav_ из твиттера

Проблема хакатонов: в течение двух дней ты делаешь проект, который потом выбросишь. Живые пользователи его увидят максимум в соцсетях, когда организаторы расскажут о проектах-победителях. А если твоя команда не выиграла, шанс, что вы доведете проект до первых пользователей, ничтожно мал. Короче, грустно это все. Я так выбросил проектов десять.

А если сделать так, чтобы организаторы хакатона обеспечили проекты участников живыми пользователями?

Даниил Охлопков

Звучит безумно. Но в этом случае ничто не пройдет незамеченным, участники получат не только субъективный фидбек малочисленного жюри, но и менее субъективные отзывы большого числа ЦА.

Нам это удалось сделать

Я с командой делаю бота с бесконечной персонализированной лентой мемов. У нас есть живые пользователи и много данных. Нам нужно улучшать рекомендательную систему. Так пусть участники хакатона напишут ее и порекомендуют мемы некоторым пользователям! Мы им их покажем, замерим результат, сделаем лидерборд и оценим не только идею алгоритма и презентацию, но и реальный результат.

Организация хакатона

T; DR

  1. Сделали опрос среди юзеров бота: «кто хочет, чтобы ему порекомендовали мемы участники хакатона».
  2. Согласившихся попросили зайти в бота в воскресенье в 16:00.
  3. Согласившихся поделили между участниками хакатона.
  4. Участникам выдали данные о юзерах, мемах и их взаимодействиях.
  5. Участники сгенерили своим алгоритмом мем-рекомендации для своих юзеров и загрузили их в спец. бота.
  6. Согласившиеся юзеры зашли в бота и посмотрели мемы.
  7. Мы замерили % лайков, послушали презы и наградили победителей.

На ком будем тестить?

Представим, что участники хакатона отгрузили рекомендации мемов. Теперь надо, чтобы живые пользователи их посмотрели. Чтобы не ждать результатов несколько дней, мы заранее спросили у наших пользователей, кто готов зайти в 16:00 в воскресенье в бота и посмотреть 20 мемов. Важно, чтобы в то время, пока участники «защищают» свои решения (1-2 часа), живые пользователи оценили рекомендации.

Конечно, не все согласившиеся пользователи зайдут вовремя в бота. Мы им, конечно же, напомним об этом несколько раз через бота, но он может быть замьючен. Нужен еще один канал связи. Пришла идея создать событие в календаре, экспортнуть его в файлик и разослать его пользователям: один клик -- и сам телефон напомнит вам: пора зайти в бота и смотреть мемы. Замерить конверсию, к сожалению, не удалось.

Данные для участников

Участникам мы выдали три таблички:

  • Анонимизированные мета-данные о русскоязычных пользователях (9к строк),
  • Мета-данные о мемах без ссылок на контент (50к строк),
  • Реакции пользователей на мемы (2.7M строк).

А что если никто не посмотрит мемы?

Если вдруг все пойдет не по плану и вовремя никто из пользователей не посмотрит рекомендованные мемы, нам нужно хоть как-то оценить решения участников. Поэтому выгрузка данных производилась за несколько дней до хакатона с расчетом на то, что за это время пользователи посмотрят мемы, которые частично совпадут с рекомендациями участников. По факту пересечение «просмотренные мемы после выгрузки и до хакатона» и «порекомендованные участниками мемы» оказалось 6%.

Бот для участников

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

Как делили пользователей по командам

В субботу все участники хакатона разбились по командам. Каждой команде нужно было выдать живых пользователей, кому они порекомендуют мемы. Как их правильно разделить так, чтобы у всех получились максимально одинаковые группы? По какой метрике считать эту «одинаковость»?

Решили отсортировать людей по количеству просмотренных мемов и по очереди раздать их командам. Таким образом, у всех были как новые юзеры (проблема холодного старта), так и супер-пользователи (большая история, лучше качество).

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

Результаты

В 16:00 люди зашли в бота и стали яро смотреть мемы. Наша BI
В 16:00 люди зашли в бота и стали яро смотреть мемы. Наша BI

Числа

  • Пользователи, согласившиеся посмотреть рекомендации участников: 987 (~10% русскоязычной аудитории на тот момент)
  • Из них зашли вовремя в бота посмотреть мемы: 630 (64%)
  • За нужный час они посмотрели 26к мемов (6500 уникальных)
  • Средняя доля лайков решений: 59%

Больше чисел и графиков можно найти у меня в Телеграм канале.

Решения участников

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

  1. Коллаборативная фильтрация
  2. Бинарная классификация: 👍/👎 по признакам пользователя и мема
  3. Эвристики: «любовь юзера к источнику мема» ✖ «крутость мема»
  4. «Отобрать лучшие мемы и показать их всех без персонализации»

К сожалению, участников хакатона было немного и в основном это были люди без опыта — у большинства наш хакатон был первым. Поэтому ничего прорывного на выходе не получилось, однако некоторые идеи из презентаций участников мы все-такие подрезали себе. 😇 Лучше всего пользователям зашли алгоритмы 2. и 4.

Спасибо ребятам из Phystech.Genesis за организацию хакатона.

Заключение

Цель хакатона была не улучшить наш алгоритм рекомендаций и не привлечь внимание к проекту. Хотелось попробовать подключить живых пользователей в оценивание команд. Я считаю, что у нас это получилось! Участники в восторге, юзеры бота горды, организаторы счастливы. Можем повторить!

Хотели бы вы поучаствовать в следующем нашем хакатоне? Что бы вы изменили в его организации? Напишите об этом в комментарях, я буду очень благодарен.

1919
реклама
разместить
7 комментариев

Это вам не хакатон "кто лучше всего придумает применение для нашего API".

5

когда следующий хак?

1

Спасибо за вопрос. Часто компании платят организаторам хакатона за возможность сделать свой трек (задание, стенд и призовые). У нас нет таких бюджетов, поэтому будем ждать приглашения организаторов. В этот раз нас пригласили ребята из Phystech.Genesis

1

прикольно

А заходит что-нибудь лучше эвристики с источником мема?

1

Спасибо за вопрос. На данный момент, самое лучшие результаты показывают именно эвристики. Причём без доп логики на холодный старт. 

Очень хочется сделать ML/нейронку, но пока не получалось ее приготовить так, чтобы это прям лучше стало. 

"Таксист пассажиру"

Общался на неделе с другом. Егойный знакомый в реанимашке. Понятно, с чем. Перед тем, как попасть в реанимашку - весь день отработал в тындекс.такси.

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

Вложили 1,5 млн рублей в кондитерский отдел — закрылись через 4 месяца с долгом в 350 000

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

Фото не нашего отдела, но у нас было что-то похожее на этот
44
«Газпром» на фоне убытков ждёт реструктуризация, её возглавляет местная «Серсея Ланнистер» Елена Илюхина — FT

Её план как замгендиректора должен «расшевелить болото».

Источник фото: РБК
4242
44
22
22
11
Сделать убыточным Газпром надо постараться конечно...
🩸ЛУКОЙЛ — Налоги душат, квоты ОПЕК+ сдерживают, санкции давят. Как компания продолжает платить инвесторам и что ожидает в 2025? Анализ отчета

Потратил 100 млрд на байбек, раздал 14% дивидендов и накопил гору денег... и всё это на фоне падающей рентабельности. Что же делать инвесторам?

🩸ЛУКОЙЛ — Налоги душат, квоты ОПЕК+ сдерживают, санкции давят. Как компания продолжает платить инвесторам и что ожидает в 2025? Анализ отчета
1111
22
11
Открыл производство вывесок в 23 года, а через 5 лет выгорел и продал долю партнёру.

История, в которой реальность разрушает ложные представления о суровости бизнес-деятельности. Как уйти из найма и продавать вывески на протяжении 5 лет, а потом бросить всё и духовно преисполняться на Бали, — узнаем в сегодняшней статье.

Открыл производство вывесок в 23 года, а через 5 лет выгорел и продал долю партнёру.
22
11
11
Проект same.new выпустил генератор сайтов по текстовому описанию — его ИИ-агент может скопировать существующий интерфейс по ссылке

Сервис поддерживает русский язык.

1616
66
22
11
11
Еще один кол в джунов, которые хотят упасть на 400к после двухнедельных курсов скиллбокса
Как я превратила личную драму в миллионный бизнес: Секрет "невидимой" платформы, где женщины плачут и покупают

«Два года назад я была мамой в декрете с долгами и нулём на счету. Сегодня мой закрытый «островок доверия» собирает тысячи женских историй, а рекламодатели платят за доступ к аудитории. Расскажу, как стартовала с бюджетом 500К и окупила вложения за полгода»

Как я превратила личную драму в миллионный бизнес: Секрет "невидимой" платформы, где женщины плачут и покупают
99
11
11
11
Обложки для YouTube, постеры на русском и макеты сайтов — для чего используют новый генератор изображений в ChatGPT

Собрали первые примеры пользователей.

3333
44
11
11
Минцифры обсудит ответственность УК за невыполнение норм доступа провайдеров в дома после DDoS-атаки на Lovit

В конце марта 2025 года жители домов от застройщика ПИК остались без интернета из-за DDoS-атаки на компанию — единственного провайдера.

2020
66
22
11
Роскомнадзор сообщил, что атаку продолжаем... ой атака продолжается четвёртый день.
Не фича, а баг: новый генератор картинок в ChatGPT отказывается создавать «сексуальных женщин», но зато генерирует «сексуальных мужчин»

Глава OpenAI уточнил, что это «ошибка» и её скоро исправят.

Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fx.com%2FNickADobos%2Fstatus%2F1904603128374452611&postId=1887605" rel="nofollow noreferrer noopener" target="_blank">Х</a>
2525
1111
11
Никакого будущего ии не будет, пока не будет возможности генерировать без цензуры порно
реклама
разместить
День 1127: дилеры начали предлагать скидки до 1 млн рублей на китайские машины из-за затоваривания складов

Собираем новости, события и мнения о рынках, банках и реакциях компаний.

Фото ТАСС
6565
66
11
11
Какая скидка... В здравом уме это г@вно никто не возьмет. Если б ввели акцию "миллион тому, кто заберет машину со склада", тогда еще можно было бы подумать.
Хотел купить готовый бизнес для пассивного дохода, но в итоге потерял 8 млн рублей за 5 месяцев

Первые две недели после покупки шли хорошо, но потом поступил первый звоночек от управляющего с просьбой приехать на объект и поговорить с субарендаторами. На разговор пришли — сырник, колбасник и овощник. Я понял, будут бить...

Хотел купить готовый бизнес для пассивного дохода, но в итоге потерял 8 млн рублей за 5 месяцев
1313
11
11
11