На какие классы делятся модели рекомендаций
Расскажи, какие классы моделей есть в рекомендательных системах и где они обычно применяются.
Короткий ответ
Нормальная таксономия: popularity/rules, content-based, collaborative filtering и matrix factorization, item2vec/session embeddings, DSSM/two-tower retrieval, sequential models, graph models и learning-to-rank/rerankers.
Полный разбор
Модели удобно описывать не списком названий, а по месту в системе.
Простые baselines: popularity, правила, персонализация по категориям. Content-based модели используют признаки товара и пользователя: текст, описание, категорию, цену, картинку, профиль пользователя. Collaborative filtering использует матрицу взаимодействий user-item; сюда входят ALS/matrix factorization и похожие latent factor models.
Для candidate generation часто используют embeddings: item2vec/word2vec по сессиям, DSSM/two-tower user-item или item-item, approximate nearest neighbors. Sequential модели, например SASRec/Transformer-like, учитывают порядок действий пользователя и next-item prediction. Graph models могут использовать связи user-item-item/category.
На стадии reranking часто применяют GBDT/NN/ranking models с pointwise, pairwise или listwise loss, например LambdaRank-подходы. В production обычно это гибрид: retrieval из нескольких источников, фильтры, reranker и business rules.
Теория
Главное разделение: откуда берется сигнал - контент, взаимодействия, последовательность, граф - и на какой стадии системы модель работает: retrieval или ranking.
Типичные ошибки
- Назвать только collaborative filtering.
- Отнести item2vec к content-based только потому, что он дает item embedding.
- Не разделить retrieval и reranking.
Как отвечать на собеседовании
- Строй ответ по pipeline: candidates -> ranking -> post-processing.
- Объясни item2vec как collaborative/sequential signal, если он обучается на сессиях кликов.