Как персонализировать item-page карусель автомобилей
На странице конкретного автомобиля все пользователи видят одинаковые item-to-item рекомендации. Как добавить персонализацию, сохранив связь с текущим item и низкую latency?
Короткий ответ
Смешать item-to-item кандидатов с user-to-item сигналами, использовать precomputed user embeddings/history features и realtime reranking.
Полный разбор
Текущий item-to-item retrieval стоит оставить как якорь релевантности. Добавляем user representation из long-term и short-term истории: просмотры, клики, избранное, контакты, price range, brand/model, location. Кандидатов можно брать из item-to-item, user-to-item и fallback-пулов, затем blend/rerank моделью с фичами current item, user profile, candidate item и cross-features.
Для latency user embeddings и агрегаты лучше считать batch/nearline, а realtime слой использовать только для свежих действий и легкого reranking.
Теория
Двухстадийная схема recsys: retrieval дает recall, ranking/reranking оптимизирует relevance и бизнес-метрики.
Типичные ошибки
- Полностью заменить item-to-item на user-to-item.
- Забыть про текущий автомобиль.
- Не обсудить cold start и latency.
Как отвечать на собеседовании
- Явно проговори, какие сигналы batch, какие realtime.
- Измеряй прирост относительно неперсонализированного baseline.