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

Item-to-item collaborative filtering

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

История

Идея коллаборативной фильтрации возникла в середине 1990-х годов в рамках проекта GroupLens (Университет Миннесоты), где впервые была реализована user-based фильтрация (поиск похожих пользователей). Однако этот подход имел существенные недостатки: при росте числа пользователей и объектов вычисления становились слишком ресурсоёмкими, а рекомендации для новых пользователей («холодный старт») были неточными.

В 2001 году инженеры Amazon.com — Грег Линден, Брент Смит и Джереми Йорк — опубликовали статью «Amazon.com Recommendations: Item-to-Item Collaborative Filtering», в которой описали альтернативный метод. Вместо поиска соседей среди пользователей они предложили заранее вычислять матрицу сходства между объектами на основе их совместной встречаемости в покупках или просмотрах. Это позволило значительно ускорить работу рекомендательной системы, так как матрица сходства объектов обновляется реже, чем профили пользователей, и может быть предварительно рассчитана.

С 2000-х годов item-to-item фильтрация стала стандартом для многих крупных интернет-магазинов (Amazon, eBay, Walmart), стриминговых сервисов (Netflix, Spotify) и видеохостингов (YouTube). В 2006 году Netflix провёл конкурс Netflix Prize, в рамках которого команды разрабатывали улучшенные алгоритмы рекомендаций, что стимулировало развитие гибридных методов, включающих item-to-item как один из компонентов.

Принцип работы

Основные этапы

  1. Сбор данных о взаимодействиях. Система фиксирует действия пользователей: покупки, просмотры, оценки (лайки/дизлайки), добавление в избранное. Эти данные представляются в виде матрицы «пользователь-объект», где на пересечении стоит 1 (если взаимодействие было) или 0 (если не было). Для числовых оценок (например, рейтинги от 1 до 5) используется взвешенная версия.
  1. Вычисление сходства объектов. Для каждой пары объектов (i, j) рассчитывается мера сходства. Наиболее распространённые метрики:
  • Косинусное сходство — косинус угла между векторами пользователей, оценивших оба объекта. Чем больше общих пользователей, тем выше сходство.
  • Коэффициент корреляции Пирсона — учитывает не только совместную встречаемость, но и разброс оценок.
  • Jaccard similarity — отношение числа пользователей, взаимодействовавших с обоими объектами, к числу пользователей, взаимодействовавших хотя бы с одним из них.
  • Логарифмическое сходство (log-likelihood) — статистическая мера, учитывающая вероятность случайного совпадения.
  1. Построение матрицы сходства. Результатом является квадратная матрица размером N×N (где N — число объектов), в которой каждый элемент — это мера сходства между двумя объектами. Для экономии памяти и времени вычислений матрица обычно разрежена: хранятся только значения выше определённого порога (например, 0,5) или топ-K наиболее похожих объектов для каждого.
  1. Генерация рекомендаций. Для конкретного пользователя система:
  • Определяет объекты, с которыми пользователь уже взаимодействовал (например, купленные товары или просмотренные фильмы).
  • Для каждого такого объекта находит K наиболее похожих объектов из матрицы сходства.
  • Суммирует или усредняет меры сходства по всем объектам, с которыми взаимодействовал пользователь, и ранжирует кандидатов по убыванию.
  • Исключает объекты, уже знакомые пользователю, и возвращает топ-N наиболее релевантных.

Пример

Допустим, пользователь купил книгу «Война и мир». Система находит, что эта книга наиболее похожа на «Анну Каренину» (сходство 0,9), «Преступление и наказание» (0,7) и «Тихий Дон» (0,5). Если пользователь не покупал эти книги, они будут рекомендованы в порядке убывания сходства.

Преимущества и недостатки

Преимущества

  • Масштабируемость. Матрица сходства объектов вычисляется один раз (или периодически обновляется) и не зависит от числа пользователей. Это позволяет обслуживать миллионы пользователей с низкой задержкой.
  • Стабильность. Сходство объектов меняется реже, чем предпочтения пользователей, поэтому рекомендации остаются актуальными дольше.
  • Простота реализации. Алгоритм интуитивно понятен и не требует сложных математических моделей.
  • Интерпретируемость. Рекомендации легко объяснить: «Вам понравился товар X, поэтому мы предлагаем похожий товар Y».

Недостатки

  • Холодный старт для новых объектов. Если объект только появился в каталоге и не имеет взаимодействий, его сходство с другими объектами равно нулю. Для решения этой проблемы используют гибридные методы, комбинирующие коллаборативную фильтрацию с контентной (на основе признаков объекта).
  • Проблема разреженности. В больших каталогах (например, миллионы товаров) большинство пар объектов не имеют общих пользователей, что приводит к низкой точности сходства.
  • Отсутствие учёта контекста. Алгоритм не учитывает время, местоположение, сезонность или другие факторы, влияющие на выбор пользователя.
  • Тенденция к популярности. Объекты с большим числом взаимодействий (хиты) получают завышенное сходство с другими популярными объектами, что может приводить к однообразию рекомендаций.

Применение

Электронная коммерция

Item-to-item фильтрация является основой рекомендательных блоков «С этим товаром часто покупают» и «Похожие товары» на Amazon, Ozon, Wildberries и других маркетплейсах. Алгоритм позволяет увеличить средний чек и конверсию, предлагая сопутствующие товары (например, к ноутбуку — сумку для ноутбука).

Медиа-сервисы

  • Netflix — рекомендации фильмов и сериалов на основе истории просмотров. Например, если пользователь посмотрел «Игру престолов», ему могут быть рекомендованы «Викинги» или «Последнее королевство».
  • Spotify — плейлисты «Рекомендации на основе ваших треков» и «Похожие исполнители».
  • YouTube — блок «Рекомендованные видео» на основе просмотренных роликов.

Социальные сети

В социальных сетях (VK, Telegram, TikTok) item-to-item фильтрация используется для рекомендации записей, групп или каналов на основе взаимодействий пользователя. Например, если пользователь подписан на паблик о путешествиях, ему могут быть предложены другие паблики о туризме.

Книжные сервисы

Крупные книжные онлайн-магазины и библиотеки (например, «ЛитРес», Bookmate) применяют алгоритм для рекомендаций книг, похожих на прочитанные пользователем.

Разновидности и улучшения

Взвешенная item-to-item фильтрация

Вместо бинарных взаимодействий (купил/не купил) используются числовые оценки (рейтинг, время просмотра, частота покупок). Сходство вычисляется с учётом веса: например, если пользователь поставил фильму 5 звёзд, это взаимодействие имеет больший вес, чем если он поставил 1 звезду.

Гибридные методы

Item-to-item фильтрация часто комбинируется с контентной фильтрацией (анализом признаков объекта: жанр, цвет, цена, автор) и матричной факторизацией (SVD, ALS). Это позволяет решить проблему холодного старта для новых объектов и повысить точность рекомендаций.

Item-to-item с учётом времени

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

Item-to-item на основе сессий

Вместо всей истории пользователя анализируется только текущая сессия (например, товары, просмотренные за последние 30 минут). Это позволяет давать рекомендации в реальном времени, адаптируясь к сиюминутным интересам.

Критика

Основные претензии к item-to-item фильтрации связаны с её склонностью к «эхо-камерам» и пузырям фильтров. Алгоритм, основанный на прошлых взаимодействиях, склонен рекомендовать объекты, похожие на уже знакомые пользователю, что может ограничивать кругозор и препятствовать открытию новых категорий. Кроме того, система может усиливать популярность уже популярных объектов, игнорируя нишевые или малоизвестные.

В контексте электронной коммерции item-to-item фильтрация критикуется за то, что она не учитывает мотивацию покупки (подарок, личное использование, замена) и может рекомендовать товары, которые пользователь уже купил в другом месте.

Источники

  • Linden G., Smith B., York J. Amazon.com Recommendations: Item-to-Item Collaborative Filtering // IEEE Internet Computing. — 2003. — Vol. 7, No. 1. — P. 76–80.
  • Sarwar B., Karypis G., Konstan J., Riedl J. Item-based collaborative filtering recommendation algorithms // Proceedings of the 10th International Conference on World Wide Web. — 2001. — P. 285–295.
  • Koren Y., Bell R., Volinsky C. Matrix Factorization Techniques for Recommender Systems // Computer. — 2009. — Vol. 42, No. 8. — P. 30–37.
  • Ricci F., Rokach L., Shapira B. Recommender Systems Handbook. — 2nd ed. — Springer, 2015. — 1003 p.
  • Aggarwal C. C. Recommender Systems: The Textbook. — Springer, 2016. — 498 p.

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

На главную BFOmetr →