Что такое диверсность рекомендаций
Рекомендательная система, оптимизированная только на точность (relevance), всегда движется к одному результату — показывать пользователю то, что максимально похоже на то, что он уже смотрел. Это логично, но проблематично: пользователь входит в «пузырь» однотипных товаров, которые перестают вызывать интерес.
Диверсность — антидот. Она измеряет степень непохожести товаров в рекомендательном списке друг на друга.
Два основных измерения диверсности:
— Inter-list diversity — непохожесть товаров внутри одного блока рекомендаций
— Intra-user diversity — насколько рекомендации выходят за рамки истории взаимодействий пользователя (связана с понятием novelty)
Как измеряется диверсность
Стандартная метрика — Intra-List Diversity (ILD):
ILD = среднее попарное расстояние между товарами в списке
ILD = Σ dist(i, j) / [n × (n-1) / 2]
Где dist(i, j) — косинусная дистанция между эмбеддингами товаров. Значение ILD от 0 (идентичные товары) до 1 (максимально разные).
Смежные метрики:
— Coverage — доля уникальных позиций каталога, появляющихся в рекомендациях хотя бы раз. Низкий coverage = концентрация на хитах, хвост каталога не работает.
— Serendipity — неожиданность рекомендации, субъективная мера открытия.
Баланс: точность vs разнообразие
Это классический компромисс в рекомендательных системах. Не существует «правильного» значения диверсности — оно зависит от цели блока:
| Тип блока | Нужная диверсность | Логика |
|---|---|---|
| «Похожие товары» | Низкая / умеренная | Цель — альтернативы, а не другие категории |
| «Вам может понравиться» | Высокая | Цель — discovery, расширение горизонта |
| «Часто берут вместе» | Обязательная | Смысл блока — дополнение, а не повторение |
| «Трендовые товары» | Умеренная | Отражает ширину интересов аудитории |
Инструменты управления диверсностью
Maximal Marginal Relevance (MMR) — алгоритм post-processing. При добавлении следующей позиции в список выбирает ту, которая максимально балансирует релевантность и непохожесть на уже выбранные.
Merchandising rules — простой и прозрачный ручной инструмент:
— Не более 2 товаров одного бренда в блоке
— Не более 3 товаров одной категории
— Исключить ранее просмотренные
Смешение алгоритмов — комбинировать collaborative filtering (точность) с content-based (диверсность) в заданной пропорции.
Совет: не оптимизируйте диверсность через A/B тест по одному только CTR — клики не равны продажам. Используйте атрибутированную выручку и repeat visit rate как метрики, отражающие долгосрочный эффект разнообразия рекомендаций.