Генераторы кандидатов и ALS для implicit-feedback рекомендаций
Какие генераторы кандидатов можно использовать в рекомендательной системе? Где в этом стеке находится ALS по implicit feedback, в чем его сильные стороны и ограничения?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Используйте несколько генераторов: popularity, правила, full-text, content embeddings, item-to-item, collaborative filtering, ALS/LightFM и two-tower retrieval. ALS факторизует user-item feedback в embeddings и достает объекты с высоким dot product.
Полный разбор
В production recommender обычно смешивают несколько источников кандидатов. Popularity и freshness - сильные fallback-и. Full-text и атрибутные фильтры покрывают явный intent. Content embeddings достают семантически похожие объекты. Item-to-item генераторы стартуют от объекта из истории пользователя. Collaborative methods достают то, что нравилось похожим пользователям. Two-tower модели учат user и item embeddings для быстрого ANN retrieval.
ALS - конкретный алгоритм matrix factorization внутри семейства collaborative filtering. Для implicit feedback строится user-item матрица из views, clicks, likes, comments, shares или purchases, часто как weighted confidence, а не как чистые binary labels. ALS по очереди оптимизирует user factors при фиксированных item factors и item factors при фиксированных user factors.
Сильные стороны ALS - простота, масштабируемость и полезный collaborative signal. Слабые - cold start, ограниченная выразительность linear dot product, зависимость от истории interactions и чувствительность к popularity/exposure bias. Часто это baseline или один generator, а не вся рекомендательная система.
Теория
Candidate generation оптимизирует recall при latency limits, поэтому набор разнородных generators часто сильнее одной model family.
Типичные ошибки
- Считать ALS и collaborative filtering синонимами.
- Использовать один generator и пропустить cold-start или content cases.
- Смешивать разные feedback actions, не определив веса.
- Забывать, что ALS не умеет представлять новых пользователей и новые items без дополнительных признаков.
Как отвечать на собеседовании
- Перечислите generators по источнику сигнала: popularity, content, collaborative и neural retrieval.
- Объясните ALS как alternating optimization факторизованной interaction matrix.