Открыть сервис

Согласованная фильтрация

Согласованная фильтрация (англ. collaborative filtering) — это метод построения рекомендательных систем, основанный на предположении, что пользователи, проявившие сходные предпочтения в прошлом, будут иметь схожие предпочтения и в будущем. В отличие от контентной фильтрации, которая анализирует свойства объектов (например, жанр фильма или цвет товара), согласованная фильтрация использует исключительно данные о взаимодействиях пользователей с объектами (оценки, покупки, просмотры, лайки). Алгоритмы этого типа не требуют понимания сути самих объектов и могут работать с любыми типами данных (музыка, видео, книги, товары), если существует достаточная история взаимодействий.

История

Истоки согласованной фильтрации лежат в области человеко-машинного взаимодействия и информационного поиска. Одной из первых систем, реализовавшей этот принцип, стала система Tapestry (1992 год), разработанная в исследовательском центре Xerox PARC. Она предназначалась для фильтрации электронной почты и позволяла пользователям помечать сообщения как «интересные» или «неинтересные», после чего система находила другие сообщения, оценённые похожим образом. Термин «collaborative filtering» (совместная фильтрация) ввёл в научный оборот коллектив авторов Tapestry.

В 1994 году был запущен проект GroupLens, также в рамках PARC, который автоматизировал процесс сбора и анализа оценок пользователей для новостных статей. GroupLens продемонстрировал, что алгоритмы, основанные на корреляции Пирсона, могут эффективно предсказывать оценки для новых объектов на основе оценок похожих пользователей. В 1997 году компания Amazon.com внедрила собственную реализацию согласованной фильтрации для рекомендаций книг, что стало одним из первых коммерчески успешных применений метода. К началу 2000-х годов алгоритмы согласованной фильтрации стали стандартом для большинства крупных интернет-платформ (Netflix, YouTube, Spotify).

Основные принципы и предположения

Согласованная фильтрация опирается на два ключевых допущения:

  1. Сходство пользователей: если пользователь A и пользователь B поставили одинаковые оценки нескольким одним и тем же объектам, то их вкусы считаются схожими. Соответственно, объект, который высоко оценил пользователь A, но не видел пользователь B, будет рекомендован пользователю B.
  2. Сходство объектов: если два объекта (например, фильма) получили сходные оценки от одних и тех же пользователей, то эти объекты считаются похожими. Пользователю, который положительно оценил один объект, будет рекомендован другой.

Метод не требует никакой информации о содержании объектов (жанр, автор, состав) или о демографических характеристиках пользователей (возраст, пол, местоположение). Вся информация извлекается из матрицы взаимодействий «пользователь-объект».

Классификация методов

Методы согласованной фильтрации делятся на два основных класса: мемориальные (memory-based) и модельные (model-based).

Мемориальные методы (Memory-based)

Эти методы работают непосредственно с исходной матрицей взаимодействий. Для предсказания оценки пользователя на новый объект алгоритм находит либо похожих пользователей, либо похожие объекты. Основные подтипы:

  • User-based collaborative filtering (фильтрация на основе пользователей): для целевого пользователя ищется группа пользователей с наиболее похожей историей оценок. Затем оценка нового объекта вычисляется как средневзвешенное значение оценок, поставленных этому объекту похожими пользователями. Мера сходства обычно вычисляется с помощью корреляции Пирсона или косинусного сходства.
  • Item-based collaborative filtering (фильтрация на основе объектов): для целевого объекта ищется группа объектов, наиболее похожих на него по оценкам пользователей. Затем оценка, которую целевой пользователь мог бы поставить новому объекту, вычисляется на основе его оценок на похожие объекты. Этот подход часто более эффективен, чем user-based, так как матрица сходства объектов обычно стабильнее и может быть предварительно вычислена.

Преимущества: простота реализации, интерпретируемость результатов, возможность легко добавлять новых пользователей или объекты. Недостатки: плохая масштабируемость при большом количестве пользователей и объектов (вычислительная сложность растёт линейно), чувствительность к разреженности данных (когда большинство пользователей оценили лишь малую часть объектов).

Модельные методы (Model-based)

Эти методы строят сжатую модель данных, которая аппроксимирует исходную матрицу взаимодействий. Наиболее распространённые подходы:

  • Матричная факторизация (Matrix Factorization): исходная матрица «пользователи × объекты» разлагается на произведение двух матриц меньшей размерности — матрицы латентных факторов пользователей и матрицы латентных факторов объектов. Каждый пользователь и каждый объект представляются вектором из k латентных признаков (например, «склонность к драмам», «предпочтение комедий»). Оценка предсказывается как скалярное произведение соответствующих векторов. Алгоритм SVD (Singular Value Decomposition) и его модификации (SVD++, FunkSVD) являются классическими примерами.
  • Вероятностные модели (Probabilistic Models): используют байесовские сети, латентное размещение Дирихле (LDA) или другие статистические методы для моделирования процесса генерации оценок.
  • Глубокое обучение (Deep Learning): нейронные сети (например, автоэнкодеры, нейронные коллаборативные фильтры) применяются для извлечения нелинейных зависимостей из данных. Пример — модель Neural Collaborative Filtering (NCF).

Преимущества: высокая масштабируемость, способность работать с разреженными данными, лучшее качество предсказаний на больших наборах данных. Недостатки: сложность настройки гиперпараметров, меньшая интерпретируемость, необходимость переобучения модели при поступлении новых данных.

Проблемы и ограничения

Несмотря на широкое распространение, согласованная фильтрация имеет ряд фундаментальных проблем:

  • Холодный старт (Cold Start): для нового пользователя или нового объекта нет истории взаимодействий, поэтому невозможно вычислить сходство. Решается гибридными методами (комбинация с контентной фильтрацией) или использованием демографических данных.
  • Разреженность данных (Sparsity): в реальных системах пользователи оценивают лишь ничтожную долю от общего числа объектов (например, 1% от каталога). Это затрудняет нахождение похожих пользователей или объектов. Модельные методы частично решают эту проблему за счёт факторизации.
  • Проблема «серого овцы» (Gray Sheep): пользователи с уникальными или эклектичными вкусами, которые не совпадают ни с одной группой, получают плохие рекомендации.
  • Проблема «чёрной овцы» (Black Sheep): пользователи, которые намеренно или случайно ставят оценки, противоречащие их истинным предпочтениям, искажают модель.
  • Эффект «пузыря фильтров» (Filter Bubble): система, постоянно рекомендующая только то, что пользователь уже оценил положительно, может сужать его кругозор и не показывать неожиданные, но потенциально интересные объекты. Это является следствием алгоритмической обратной связи.
  • Уязвимость к атакам (Shilling Attacks): злоумышленники могут искусственно завышать или занижать оценки для продвижения или дискредитации определённых объектов.

Применение

Согласованная фильтрация является основой рекомендательных систем в следующих областях:

  • Электронная коммерция: рекомендации товаров на сайтах (Amazon, Ozon, Wildberries). Алгоритм item-based collaborative filtering используется для блока «С этим товаром часто покупают».
  • Стриминговые сервисы: рекомендации фильмов и сериалов (Netflix, Кинопоиск, ivi), музыки (Spotify, Яндекс.Музыка), подкастов.
  • Социальные сети: рекомендации друзей, групп, событий (ВКонтакте, Одноклассники).
  • Новостные агрегаторы: персонализация ленты новостей (Google News, Яндекс.Новости).
  • Образовательные платформы: рекомендации курсов, учебных материалов (Coursera, Stepik).

Интересные факты

  • В 2006 году компания Netflix объявила конкурс Netflix Prize с призовым фондом 1 млн долларов США за улучшение точности собственного алгоритма рекомендаций на 10% (по метрике RMSE). Победитель, команда BellKor’s Pragmatic Chaos (2009 год), использовала ансамбль из более чем 100 различных моделей, включая десятки вариантов матричной факторизации.
  • Алгоритм item-based collaborative filtering, реализованный в Amazon, стал одним из первых примеров, когда рекомендательная система коммерчески окупилась: по оценкам компании, до 35% продаж приходилось на рекомендации.
  • В 2010-х годах развитие глубокого обучения привело к появлению моделей, которые превзошли классическую матричную факторизацию на некоторых задачах, однако простые линейные модели (SVD) остаются весьма конкурентоспособными, особенно на разреженных данных.

Источники

  • Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., & Riedl, J. (1994). GroupLens: an open architecture for collaborative filtering of netnews. Proceedings of the 1994 ACM conference on Computer supported cooperative work.
  • Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2001). Item-based collaborative filtering recommendation algorithms. Proceedings of the 10th international conference on World Wide Web.
  • Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix factorization techniques for recommender systems. Computer, 42(8), 30-37.
  • Ricci, F., Rokach, L., & Shapira, B. (2015). Recommender Systems Handbook. Springer.
  • He, X., Liao, L., Zhang, H., Nie, L., Hu, X., & Chua, T. S. (2017). Neural collaborative filtering. Proceedings of the 26th international conference on world wide web.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →