Cold start в рекомендациях для нового пользователя
Как решать cold start для нового пользователя в ленте рекомендаций? Когда использовать popularity, user-based, item-based и content-based подходы?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Для нового пользователя можно начать с popular/trending, onboarding interests, демографических или контекстных признаков, похожих пользователей и content-based candidates. Затем быстро обновлять рекомендации по первым просмотрам, лайкам и пропускам.
Полный разбор
Cold start означает, что у пользователя или item мало истории. Для нового пользователя базовый fallback - popular или trending content, но он быстро усиливает popularity bias. Лучше добавить onboarding: выбранные игры/жанры, язык, регион, platform, explicit dislikes или несколько стартовых вопросов.
User-based подход использует похожих пользователей по meta attributes или ранним событиям. Item/content-based подход использует признаки постов: game tag, текст, image embeddings, creator, language, freshness. Для ленты практично смешивать несколько источников кандидатов и давать exploration, чтобы быстро собрать индивидуальный сигнал.
После первых interactions систему надо быстро адаптировать: session features, recent likes/skips, dwell time, negative feedback. Важно не путать unseen с negative и не переобучать cold-start блок на старых heavy users, у которых уже много истории.
Теория
Cold start решается смесью priors, контентных признаков, похожих пользователей и controlled exploration до появления персональной истории.
Типичные ошибки
- Показывать только global top и усиливать rich-get-richer эффект.
- Не собирать первые explicit/implicit signals.
- Считать отсутствие реакции надежным negative без exposure context.
Как отвечать на собеседовании
- Разделите новый user и новый item cold start.
- Назовите onboarding interests, content features и exploration.