Совместная фильтрация (Collaborative Filtering)
Метод рекомендательных систем в машинном обучении, основанный на анализе предпочтений и поведения группы пользователей для предсказания интересов конкретного пользователя.
Суть совместной фильтрации заключается в том, чтобы найти закономерности в поведении пользователей и на их основе предлагать релевантный контент.
Представьте, что вы пришли в книжный магазин, а продавец, зная, какие книги купили ваши друзья со схожими вкусами, рекомендует вам что‑то похожее. Именно так работает совместная фильтрация: система «смотрит», какие товары, фильмы, статьи и т. п. выбирали пользователи со схожими предпочтениями, и на этом основании формирует персонализированные рекомендации.
Исторически совместная фильтрация стала одним из первых подходов в построении рекомендательных систем. Активное развитие этого направления началось в 1990‑х годах. Одной из знаковых работ считается статья «Using collaborative filtering to weave an information tapestry» (1992), где описывалась система Tapestry, использующая коллаборативные методы для фильтрации электронной почты и документов. В дальнейшем подход получил широкое распространение в коммерческих сервисах: например, Amazon внедрил рекомендательную систему на основе совместной фильтрации в конце 1990‑х, что существенно повысило конверсию и средний чек.
Типы совместной фильтрации
В контексте машинного обучения выделяют два основных типа совместной фильтрации:
- User‑based (на основе пользователей): ищет пользователей, похожих на активного пользователя, и рекомендует объекты, которые понравились им.
- Item‑based (на основе объектов): анализирует схожесть объектов (товаров, фильмов и т. п.) и рекомендует пользователю объекты, похожие на те, что ему уже понравились.
Отличие от других подходов
Отличие совместной фильтрации от других подходов к рекомендательным системам (например, контентной фильтрации) в том, что она опирается не на характеристики объектов, а на паттерны поведения пользователей. Контентная фильтрация, напротив, анализирует атрибуты самих объектов (жанр, автор, теги и т. п.) и подбирает похожие на основе этих признаков.
Примеры использования
- рекомендательные системы онлайн‑магазинов (Amazon, Ozon);
- стриминговые сервисы (Netflix, Spotify), предлагающие фильмы или музыку на основе предпочтений похожих пользователей;
- социальные сети и платформы контента (YouTube, VK), использующие коллаборативные методы для подбора релевантных публикаций и видео;
- алгоритмы ранжирования в поисковых системах, учитывающие поведение пользователей для персонализации выдачи.
Популярные реализации
Среди популярных реализаций — алгоритмы на основе матричных разложений (например, SVD — Singular Value Decomposition), а также современные нейросетевые подходы (нейронные коллаборативные фильтры), комбинирующие идеи совместной фильтрации с глубокими нейронными сетями.
