Блог Productstar
Что такое коллаборативная фильтрация?
Последние несколько лет в интернет-магазинах, онлайн-кинотеатрах и других сервисах активно развиваются алгоритмы отслеживания интересов пользователей, на основе которых составляется индивидуальный список интересных товаров.

Рекомендательные системы — win-win инструмент как для владельцев платформ, так и для их пользователей. Первые повышают объем продаж за счет показа релевантного контента потенциальным покупателям, вторые тратят меньше времени на поиск нужных вещей.

Говоря о рекомендательных системах, часто упоминают «коллаборативную фильтрацию». В этой статье мы простыми словами расскажем, что это такое, как она работает и приведем несколько примеров использования.
Коллаборативная фильтрация простыми словами
Коллаборативная фильтрация — технология прогнозирования предпочтений пользователя с учетом интересов других посетителей интернет-ресурса. На основе собираемой информации система рекомендует те товары, которыми аудитория со схожими интересами уже интересовалась, а конкретный человек — еще нет.

Коллаборативную фильтрацию в основе алгоритмов используют многие крупные сервисы (например, Amazon, eBay, AliExpress, Netflix и другие) и социальные сети (ВКонтакте, Facebook и другие). Умные алгоритмы помогают сервисам предлагать пользователям интересные товары (услуги) и сокращают время поиска нужных вещей.
Принцип работы коллаборативной фильтрации

За сложным и страшным названием кроется простая схема работы. Система делит пользователей на группы по схожим интересам и затем рекомендуем им то, что просматривали (покупали, заказывали) другие люди из этого сегмента.

Рассмотрим пример работы коллаборативной фильтрации на основе сервиса IVI (онлайн-кинотеатр). Пользователь регистрируется, смотрит фильм «Законопослушный гражданин» и дальше получает рекомендации на основе того, что смотрели другие люди, интересовавшиеся этой картиной.
По такому принципу платформа делает разные подборки и рекомендации: по жанрам, актерам, создателям фильмов и т.п.

Здесь действует принцип накопления знаний: чем больше вы смотрите страниц, тем точнее становятся рекомендации. Кстати, некоторые сервисы предлагают пользователям оставлять оценки, чтобы повышалось качество работы системы.

Например, «Яндекс.Фильмы» прямо сообщает посетителям, что для показа качественных рекомендаций надо оценить 10 фильмов.
Типы коллаборативной фильтрации
Коллаборативная фильтрация делится на 3 типа: основанный на соседстве, основанный на модели и гибридный. Далее поговорим о них подробнее.
Основанный на соседстве

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

Функционирование системы, в основе которой лежит этот тип, осуществляется в несколько этапов:

  1. Каждому посетителю присваивается вес с учетом схожести его оценок и оценок активного пользователя.
  2. Выбирается несколько пользователей, которые по весу максимально близки к посетителю. Подобранная группа называется «соседями».
  3. Подбирается релевантный контент с учетом весов и оценок соседей.
Основанный на модели

Этот тип дает рекомендации на основе параметров статистических моделей для оценок пользователей, построенных с помощью метода байесовских сетей, кластеризации, латентной семантической модели и т.п.

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

Данный подход набирает популярность из-за более высокой точности прогнозов, потому что при работе рекомендательной системы учитываются скрытые факторы, объясняющие наблюдаемые оценки.

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

Недостатки тоже есть, но среди основных особо выделяется высокая стоимость реализации модели. Важной задачей на этапе создание становится поиск компромисса между точностью и размером модели, так как из-за сокращения можно потерять полезную информацию.
Гибридный

Гибридный тип распространен больше остальных, особенно если рекомендательная система разрабатывается для коммерческого сайта: интернет-магазина, маркетплейса и т.п. Он объединяет в себе два первых типа и помогает преодолеть ограничения изначального оригинального подхода (основанного на соседстве) и улучшить точность рекомендаций.

Он решает и другие трудности, например, проблему разреженности данных и потери информации. Из-за этого он сложен и дорог в реализации и применении, но при этом приносит компаниям много пользы.
Проблемы коллаборативной фильтрации
Несмотря на всю пользу, которую дает коллаборативная фильтрация, есть и ряд проблем, с которыми сталкиваются разработчики.
Разреженность данных

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

Эта проблема характерна для новых систем. В связи с этим иногда усиливается проблема «холодного старта», о которой поговорим далее.
Масштабируемость

При постепенном росте количества пользователей рано или поздно может возникнуть проблема масштабируемости. Например, у нас есть 100 тысяч пользователей O(M) и 15 тысяч товаров O(N). Тогда алгоритм коллаборативной фильтрации сложен для расчета в такой степени, каким получается выражение O(M x N).

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

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

Другое дело, когда надо дать рекомендации новому пользователю, о котором еще ничего неизвестно. Эта проблема решается сложнее и дороже.
Синонимия

Синонимия — это тенденция, когда похожие или вовсе одинаковые предметы имеют разные имена. Большинство рекомендательных систем не умеют находить скрытые связи, поэтому считают эти предметы разными. Например, «фильмы про сыщиков» и «фильмы про детективов» — это один жанр, но система будет понимать их как разные категории.
Мошенничество

Проблема рекомендательных систем в том, что любой пользователь может ставить оценки. А если это будет, например, производитель конкретных товаров? Он может положительно оценивать свои товары, а на конкурентных оставлять плохие отзывы. Поэтому рекомендательные системы стали сильно влиять на продажи и прибыль, когда коммерческие проекты начали массово использовать их.
Разнообразие

Изначально коллаборативная фильтрация задумывалась как способ продвижения малоизвестных товаров. То есть пользователям на основе их интересов должен был демонстрироваться контент от мелких производителей, которые в другой среде из-за нехватки ресурсов не могут конкурировать с гигантами.

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

«Белые вороны» — пользователи, чье мнение не совпадает с большинством остальных. Возможно, у них специфичные вкусы и взгляды. Из-за этого делать релевантные рекомендации становится проблематично.

Решение этой проблемы разработчики пока что не ищут, потому что таким людям предоставить хорошие рекомендации сложно не только в Сети, но и в реальной жизни.
Где используют коллаборативную фильтрацию
Рассмотрим несколько примеров, где применяется метод коллаборативной фильтрации. Самые очевидные варианты — социальные сети Facebook и ВКонтакте. Он заложен в основе «умных» новостных лент. Наверно, вы замечали, что уже давно посты не показываются в хронологическом порядке. Сервисы определяют ваши интересны и сначала показывают записи, которые заинтересуют вас с большей вероятностью.

По аналогичному принципу сегодня работает еще одна крупная социальная сеть — Instagram. Если раньше мы видели публикации по новизне, то сегодня система автоматически подбирает сначала то, что заинтересует нас. И чем больше ставим лайков и оставляем комментариев, тем точнее работают рекомендации.

Еще один наглядный пример — YouTube. Он делает рекомендации видео на основе того, что мы смотрели до этого. Помимо этого, площадка предлагает ознакомиться с материалами других пользователей, интересы которых максимально совпадают с нашими.

Ранее в статье мы упоминали об онлайн-кинотеатре IVI. Он подбирает фильмы на основе интересов пользователя, предварительно проанализировав предыдущие просмотры и оценки. Также предлагаются подборки фильмов, которые формируются на основе схожести интересов с интересами других пользователей. Стоит отметить, что по такому принципу сегодня работают все крупные онлайн-кинотеатры.

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

К сожалению, коллаборативная фильтрация — не идеальное решение для построение рекомендательной системы для пользователей. Зато у этого метода есть особенности, которых лишены другие алгоритмы.

Раньше в основе систем лежали интересы самого пользователя. В результате он оказывался замкнут в кругу собственных предпочтений и с трудом получал информацию о новом контенте, который на первый взгляд не соответствовал его интересам. Теперь пользователи могут знакомиться с полным спектром товаров площадки и выбирать для себя что-то новое, полезное и интересное.
Ещё больше о рекомендательных системах можно узнать на нашем годовом курсе «Профессия: Аналитик
(с 0 до PRO)». Присоединяйся!
Получить консультацию по курсу Аналитики
Мы расскажем детали курса, а также забронируем для вас текущую цену курса