Как работают рекомендательные системы

1. Коллаборативная фильтрация (Collaborative Filtering) — классика, но с сюрпризами
Коллаборативная фильтрация — самый старый и до сих пор самый распространённый подход. Её суть: систему не волнует, что из себя представляет товар или контент, она анализирует только поведение пользователей: кто что купил, лайкнул, досмотрел до конца. Главная метрика — косинусное расстояние между векторами пользователей. Если Алиса и Боб поставили 5 звёзд одним и тем же фильмам, система предположит, что и новый фильм, который понравился Бобу, понравится Алисе.
Специалисты выделяют две ветви: User-based (ищем похожих людей) и Item-based (ищем похожие объекты). На практике Item-based работает быстрее и надёжнее — матрица объектов обычно меньше и стабильнее. Например, у Amazon именно item-based лежит в основе знаменитых «покупатели также купили».
- Плюс: высокая гибкость — вообще не нужно понимать предметную область, работает для книг, фильмов, обуви одинаково.
- Минус: Cold start — если у нового пользователя или нового товара нет истории, точность падает до нуля.
- Минус: Разреженность матриц — в реальных системах 99% клеток пустые, метрики близости становятся шумными.
- Подводный камень: эффект «пузыря» — рекомендации становятся всё уже, пользователь может не выйти из своей ниши, а система не предложит ничего радикально нового.
2. Контентная фильтрация (Content-based) — когда важны признаки объекта
Здесь алгоритм опирается на характеристики самих объектов: жанр фильма, цвет товара, длина текста статьи. Cтроятся профили — векторы признаков, и если пользователь покупал только научную фантастику — он увидит только НФ. Самый популярный инструмент — TF-IDF для текстов и SIFT/ORB для изображений или косинусная близость на one-hot encoding категориальных признаков.
Основное преимущество — полная независимость от поведения других людей. Не нужно ждать, пока соберётся статистика, новый фильм может быть рекомендован сразу на основе его метаданных. Ахиллесова пята — «серость»: вы никогда не узнаете, что пользователь обожает ромкомы под настроение, — если признаки не включают эмоциональный окрас, система слепа.
- Плюс: отличное решение для ниш с чёткими признаками — новости, научные статьи, стройматериалы.
- Минус: чрезмерная специализация — пользователь не получает неожиданных рекомендаций, ловится «фильтрующий пузырь».
- Инженерный лайфхак: обязательно добавляйте признаки «тегов» и «контекста» (время дня, гео, устройство) — это сильно повышает AUC до 15%.
- Скрытая ловушка: субъективные характеристики (например, «юмор» или «атмосфера») не кодируются простым тегом — нужны либо ручные краудсорсинговые разметки, либо выученные эмбеддинги.
3. Контекстная и гибридная модели — эволюция алгоритмов
Гибриды объединяют оба предыдущих подхода, чтобы нивелировать их минусы. Самый распространённый вариант — взвешенная сумма: коллаборативная фильтрация даёт 70% веса, контентная — 30%, но веса подбираются под каждую группу товаров. В 2026 году уже есть зрелые фреймворки (LightFM, Spotlight), которые автоматически обучают эмбеддинги сразу на взаимодействиях и признаках.
Отдельного разговора заслуживают контекстные модели — они не просто смотрят на пользователя и товар, но и на обстоятельства: время суток, день недели, погода, текущая локация, тип устройства. Пользователю, который вечером с мобильного заходит на сайт, стоит предлагать не то же самое, что утром с десктопа. Pinterest внедрил контекстные сигналы в 2025 году и получил +35% к CTR.
- Почему гибриды — разумный стандарт: они дают баланс между accuracy и serendipity (неожиданные, но релевантные находки).
- Техническая деталь: при реализации гибрида обязательно разделите датасет на категории — для одних товаров лучше коллаборация, для других контент. Например, у сайта технологий и гаджетов: процессоры (контентная — характеристики чипов) и фирменные блокноты (коллаборативная — нравится дизайн бренда).
- Что говорят Data-инженеры: гибрид с добавлением признака «источник перехода» (поиск, соцсети, email) поднимает точность рекомендаций на 15% на любом датасете — простой лайфхак, о котором молчат.
- Подводный камень: переобучение — если контентных признаков слишком много, гибрид начинает «заучивать» шум, а не сущность, особенно на малых выборках.
4. Ключевые метрики и подводные камни, о которых молчат в обзорах
Самая главная профессиональная шутка: «Научитесь измерять, прежде чем учить модель». В 80% коммерческих проектов first launch делают не на сложных нейросетях, а на простой ранговой логистической регрессии с корректно предобработанными данными. И она даёт на 5% более слабые показатели, но работает в десятки раз быстрее и стабильнее.
Специалисты обращают внимание на неочевидную ловушку: латентная автокорреляция. Если в данных есть повторные действия одного пользователя — система перестаёт видеть различия между людьми. Обязательно нужно подмешивать гауссовский шум в эмбеддинги или делать регулярное «забывание» старых взаимодействий.
- Precision@K и Recall@K — для информационных систем (новости, поиск) важнее recall, для e-commerce (гаджеты) — precision, меньше шума.
- Perplexity — в неявных системах (клики, просмотры) самый точный показатель качества эмбеддингов.
- Long-tail diversity — треть пользователей состоит в «хвосте», у них мало активности, без этой метрики вы спроектируете систему только для супер-популярных объектов.
- Item coverage — сколько всех уникальных объектов рекомендательная система вообще способна рекомендовать. Никто не любит признаваться, что 95% каталога лежит мёртвым грузом.
- Online-метрики (A/B-тест на живых пользователях, days to rebound) — офлайн-метрики часто обманывают. Самый известный пример: Netflix победил в соревновании по точности на +10%, но on-site у неё особо ничего не изменилось.
5. Итоговые рекомендации для сайта «Технологии и гаджеты»
Для новостного портала про технологии не стоит гнаться за сложнейшими рекуррентными нейросетями. Практическая оптимальная конфигурация под 2026 год: трёхслойный гибрид из контентной близости (на основе тегов и категорий статей), коллаборативной близости на истории чтения (Item-based KNN) и контекстных признаков (время дня, тип устройства, ссылка-источник).
Уделите 30% бюджета на data pipeline — чистка данных от ботов, session_id склеивание, защита от автокорреляции. Следующие 30% — на Exploration vs Exploitation механизм (либо epsilon-greedy, либо основанный на bandit-алгоритмах). И только последние 40% — на ML модель. Такое наивное на первый взгляд распределение даёт на 50% более стабильные результаты при стресс-тестах (Black Friday, хайповые новости).
Главный professional secret — используйте дефолтные hyperparameters из открытых библиотек, не кастомьте сразу. Гибкие настройки ведут к переобучению на конкретном трейне, а первый продакшн-запуск должен быть самым простым из возможных. Добавляйте сложность в ранних версиях, когда вы полностью понимаете, как именно users взаимодействуют с контентом. Именно этот прагматичный подход отличает зрелых инженеров от теоретиков.
Добавлено: 23.04.2026
