Как устроены рекомендательные системы?
- Что такое коллаборативная фильтрация?
- Как оценивать качество рекомендаций?
Типичная схема двухэтапная: отбор кандидатов (сотни из миллионов — популярное, похожие товары, коллаборативная фильтрация, векторный поиск по эмбеддингам) и ранжирование кандидатов моделью (часто бустинг) по признакам пользователя, товара и контекста. Подходы: контентный (похожие по свойствам), коллаборативный (похожие пользователи покупали), гибридный. Качество — офлайн (precision@k, recall@k, NDCG) и обязательно онлайн A/B-тестом.
- Холодный старт: новые пользователи и товары — контентные признаки, популярное
- Неявная обратная связь (просмотры, клики) встречается чаще явных оценок
- Разнообразие и новизна, а не только точность
А ещё Офлайн-метрики плохо предсказывают онлайн-эффект — модель влияет на то, что пользователи видят
Подробно
Коллаборативная фильтрация: матрица «пользователь — товар»; разложение матрицы (ALS, SVD) даёт эмбеддинги пользователей и товаров, рекомендация — близкие векторы.
Ранжирование: модель предсказывает вероятность клика или покупки по признакам пользователя, товара, их взаимодействия и контекста (время, устройство).
Метрики:
- офлайн: precision@k, recall@k, MAP, NDCG, покрытие каталога;
- онлайн: CTR, конверсия, выручка, удержание.
Проблемы: холодный старт, смещение популярности, петля обратной связи (рекомендуем популярное — оно становится популярнее), валидация по времени.
Что хотят услышать
- Двухэтапная схема — кандидаты и ранжирование.
- Коллаборативный и контентный подходы, холодный старт.
- Офлайн- и онлайн-оценка.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Отбор кандидатов, затем ранжирование; качество — офлайн и A/B
- ✗Одна модель ранжирует сразу весь каталог из миллионов товаров
- ✗Качество достаточно оценить офлайн по precision@k без онлайн-теста
- ✗Коллаборативная фильтрация хорошо решает холодный старт
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.