Как строить генерацию кандидатов для товарных рекомендаций
Есть рекомендации похожих или сочетаемых товаров. Какие источники кандидатов и признаки можно использовать?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Смешать несколько источников: co-visitation/co-purchase, item-to-item embeddings, content embeddings, popularity/recency, category constraints и business rules. Retrieval оценивается по Recall@K, coverage, diversity и downstream uplift после реранжирования.
Полный разбор
Для товарных рекомендаций один источник кандидатов редко покрывает все случаи. Collaborative signals дают товары, которые пользователи смотрели или покупали вместе. Content-based embeddings помогают новым и редким товарам: текст, категория, бренд, изображение, атрибуты. Popularity/recency и curated rules нужны как fallback.
После retrieval кандидаты чистятся бизнес-правилами: наличие, регион, цена, запрещенные пары, уже купленные или просмотренные товары. Дальше реранкер сортирует ограниченный список по вероятности клика, покупки, GMV или другой продуктовой цели.
Метрики retrieval: Recall@K по известным позитивам, catalog/category coverage, доля новых товаров, diversity и latency. Важно не радоваться только CTR: модель может начать показывать популярное и ухудшить discovery.
Теория
Генерация кандидатов должна иметь высокий recall и достаточное разнообразие; точная сортировка обычно выносится в реранкер.
Типичные ошибки
- Использовать только популярность и потерять персонализацию.
- Не учитывать availability и business rules до реранжирования.
- Оценивать retrieval только по CTR финальной выдачи.