В чем заключается логика работы рекомендательной системы
Что проверяют
Понимаете ли вы, как рекомендации устроены в реальном продукте, а не только в учебнике. Названия «коллаборативная» и «контентная фильтрация» знают все, интервьюеру важны масштаб, данные и оценка качества. Следом обычно спрашивают про холодный старт и про то, как вы проверите, что новая модель лучше старой.
Как отвечать
Задача системы: из миллионов объектов выбрать и упорядочить десяток для конкретного пользователя в конкретный момент. За один проход это не делается, поэтому схема обычно многоступенчатая:
- генерация кандидатов: быстро отобрать сотни объектов из всего каталога. Источники: item-to-item по совместным взаимодействиям, матричная факторизация (ALS для неявного фидбэка), двухбашенные модели с поиском ближайших эмбеддингов через FAISS или HNSW, популярное, контентная близость;
- ранжирование: тяжёлая модель на признаках пользователя, объекта и контекста. Часто это градиентный бустинг (CatBoost, LightGBM) или нейросеть, цель: клик, покупка, время просмотра;
- переранжирование: разнообразие, свежесть, удаление уже купленного, бизнес-ограничения.
Про данные. Явных оценок мало, основа это неявный фидбэк: просмотры, клики, добавления в корзину. Отсюда вопрос негативов: не кликнул не значит не понравилось, возможно, просто не увидел.
Холодный старт закрывают контентными признаками, популярным по сегменту и онбордингом с выбором интересов.
Оценка. Офлайн считают метрики ранжирования на топ-K: Precision@K, Recall@K, NDCG@K, MAP, а также покрытие каталога и разнообразие. Решение о выкатке принимают по A/B-тесту на продуктовых метриках: CTR, конверсия, удержание.
Где спотыкаются
Останавливаются на двух видах фильтрации и не говорят про этапы. На вопросе «как это работает на ста миллионах товаров» ответ рассыпается.
Делят данные на обучение и тест случайно. Модель видит будущее пользователя, офлайн-метрики завышены. Правильно делить по времени.
Считают, что рост офлайн-метрики гарантирует рост в продукте. Система учится на собственных показах, усиливает популярное и сужает выбор, и без A/B-теста этого не видно.