Перейти до змісту
Стратегія

Рекомендаційні системи для медіа та видань: персоналізація без cookie

9 травня 2025 р.·12 хв читання·Дарина Кравченко
Зображення статті
## Рекомендаційні системи в медіа: унікальний контекст Рекомендаційні системи в медіа відрізняються від класичного e-commerce. У магазині ціль рекомендацій очевидна: купівля. У медіа цілей кілька і вони часто конфліктують: - **Engagement:** утримати читача якомога довше - **Глибина читання:** спрямувати до «важливих» матеріалів, а не лише клікбейту - **Різноманітність:** уникнути «інформаційного міхура», де читач бачить лише підтверджуючий контент - **Монетизація:** балансувати між редакційними та рекламними матеріалами - **Місія видання:** зберігати редакційну ідентичність Додайте до цього загибель third-party cookies і GDPR/CCPA — і задача стає ще цікавішою. ## Виклик cookieless world До 2024 року більшість медіа-рекомендацій спиралась на third-party cookies: ви читали статтю про автомобілі на одному сайті, і рекомендаційна система іншого сайту це «знала». Тепер цього немає. **Що залишилось:** - First-party дані (зареєстровані користувачі) - Сесійні сигнали (поточна сесія без ідентифікації) - Контентні сигнали (що подібне до поточної статті) - Контекстуальні сигнали (час доби, пристрій, реферер) Для більшості медіа більшість відвідувачів — анонімні (70–90%). Це кардинально змінює архітектуру рекомендаційної системи. ## Архітектура рекомендаційної системи для медіа ### Рівень 1: Контентна фільтрація (Content-Based Filtering) Контентна фільтрація не потребує знання про користувача взагалі. Вона відповідає на запитання: «Що схоже на те, що читач переглядає прямо зараз?» **Підхід 1: TF-IDF + косинусна схожість** Класичний і надійний. Кожна стаття — вектор ключових слів (TF-IDF ваги). Схожість визначається через косинусну відстань між векторами. **Переваги:** прозорий, не потребує даних, швидкий. **Обмеження:** не вловлює семантичну схожість («автомобіль» і «машина» — різні слова). **Підхід 2: Text Embeddings** Сучасні трансформерні моделі (multilingual-e5, paraphrase-multilingual-mpnet) генерують густі вектори, що відображають семантику. Статті про «електромобілі» і «Tesla» будуть близько у просторі ембедингів, навіть без спільних слів. **Практична реалізація:** - Завантажити модель (наприклад intfloat/multilingual-e5-small для ресурсоефективності) - Згенерувати ембединги для всіх статей (заголовок + лід) - Зберігати у векторній базі (Qdrant або Faiss) - При кожному запиті — знайти N найближчих сусідів **Переваги:** семантичне розуміння, мовонезалежність. **Обмеження:** потребує GPU для індексування великих бібліотек, ембединги потрібно оновлювати при нових статтях. ### Рівень 2: Сесійні рекомендації Навіть без cookies ви знаєте, що читач переглянув у поточній сесії. Сесійні рекомендаційні системи використовують цю послідовність. **Метод: Session-based Collaborative Filtering** Популярний підхід — BERT4Rec або GRU4Rec. Ці моделі навчаються на послідовностях переглядів: «читач переглянув статтю A → B → C, що буде D?» **Альтернатива: Session к-NN** Простіший підхід: знайти минулі сесії, схожі на поточну (за послідовністю переглядів), і рекомендувати те, що читали в тих сесіях. **Перевага сесійних методів:** не потребують ідентифікації користувача, добре працюють на анонімному трафіку. ### Рівень 3: Для авторизованих користувачів Для зареєстрованих читачів (підписники, зареєстровані) доступна повна потужність колаборативної фільтрації на history. **Matrix Factorization (ALS):** класика для implicit feedback (перегляди, а не явні оцінки). Бібліотека implicit для Python. **Neural Collaborative Filtering:** нейромережевий аналог, краще вловлює нелінійні залежності. **Two-Tower модель:** окремі нейромережі для користувача і контенту, dot product для scoring. Масштабується до мільярдів пар. ## Балансування між engagement і редакційними цілями Це ключова відмінність медіа від e-commerce. Максимізація CTR або часу на сайті — не завжди місія видання. ### Проблема filter bubble Чиста колаборативна фільтрація схильна до гомогенізації: читачам показують все більше однотипного контенту, бо вони на нього кликають. Читач, що цікавиться лише спортом, ніколи не побачить важливих новин з інших розділів. **Рішення:** - **Exploration bonus:** додавати до score нових або недооцінених статей з інших категорій - **Diversity penalty:** штрафувати рекомендації, що занадто схожі між собою - **Editorial pinning:** певні позиції в рекомендаціях завжди зайняті редакційними пріоритетами ### Freshness і decay Новини «протухають» набагато швидше, ніж товари в e-commerce. Стаття про вчорашню подію має отримувати нижчий score, ніж свіжа. **Temporal decay:** множити relevance score на decay-функцію від часу публікації: python def temporal_score(base_score, published_at, half_life_hours=24): hours_ago = (now - published_at).total_seconds() / 3600 decay = 0.5 ** (hours_ago / half_life_hours) return base_score * decay Half-life підбирається під конкретне видання: для новин — 4–12 годин, для аналітики — 7–30 днів. ## Оцінка якості рекомендацій для медіа ### Онлайн-метрики **Click-Through Rate (CTR):** базова метрика, але не єдина. **Depth of engagement:** кількість статей за сесію, час читання. **Return rate:** чи повертається читач через рекомендації? **Diversity:** середня попарна відстань між рекомендованими статтями (вища = різноманітніше). ### Офлайн-метрики **Recall@K:** яка частка реально переглянутих статей потрапила в топ-K рекомендацій? **NDCG (Normalized Discounted Cumulative Gain):** враховує позицію у списку рекомендацій. ### A/B тест з care Медіа-видання мають бути обережні з A/B тестами рекомендацій: короткостроковий CTR може зростати від сенсаційних заголовків, але довгострокова лояльність читача — падати. Вимірюйте subscription rate і 30-денний retention, а не лише сесійний CTR. ## Технічна архітектура рекомендаційного сервісу **Online vs Offline:** - Офлайн: навчання моделей, генерація ембедингів (щодня або щогодини) - Online: real-time scoring і retrieval (< 100 мс) **Кешування:** pre-computed рекомендації для популярних статей (топ-1000 за трафіком). **Candidate generation → Re-ranking:** 1. Retrieval: швидко отримати 100–500 кандидатів (вектор пошук або популярність) 2. Re-ranking: більш складна модель переранжовує кандидатів з урахуванням усіх сигналів **Моніторинг:** логування всіх показів і кліків → daily pipeline для оцінки метрик → дашборд. Рекомендаційні системи для медіа — складніші, ніж для e-commerce, бо балансують між алгоритмічною ефективністю і редакційними цінностями. Найкращі системи не «максимізують кліки», а допомагають читачу знаходити контент, що збагачує його — і повертатись знову.

Стаття в розробці. Підпишіться щоб отримати сповіщення.

Написати нам →
#рекомендаційні системи#медіа#персоналізація
Поділитись:
ДК

Дарина Кравченко

Команда CodeNest

Практикуючий ML-інженер. Спеціалізується на побудові виробничих AI-систем для бізнесу.

🤖

Готові автоматизувати ваш бізнес?

Обговоримо ваш проєкт і запропонуємо оптимальне рішення. Безкоштовна консультація без зобов'язань.

Схожі статті

Впровадити ML у вашому бізнесі?

Від безкоштовної консультації до production-рішення. Обговоримо вашу задачу.