🌅Рекомендательные алгоритмы в социальных сетях отвечают за retention. Чем лучше мы ранжируем ленту, тем она интереснее для пользователя, и тем охотнее он возвращается в наш сервис. В этом посте поговорим о том, что значит «хорошо ранжировать ленту» с точки зрения retention.
При формировании таргета ранжирующей модели используются данные о реакциях пользователей на посты: просмотрах, лайках, комментариях, и т.д. Такие сигналы, называемые общим словом engagement, положительно скоррелированы с retention. Это подтверждают эксперименты, в которых хронологические ленты сравниваются с ML-лентами. Но у engagement есть обратная сторона: часто посты, собирающие много реакций, могут быть низкого качества, например, кликбейтные или содержащие недостоверные данные. Такой контент уже негативно влияет на retention в долгосрочной перспективе [1]. Кроме того, рекомендуя некачественные посты, мы создаем сервису репутационные риски. В итоге модель, настроенная на engagement, только частично решает задачу увеличения retention.
Проблема решается учётом качества поста в таргете модели. Например, наряду с реакциями пользователей в таргет можно включить скоры качества, полученные с помощью классификаторов контента. Это, во-первых, научит модель поднимать хорошие посты наверх в выдаче, во-вторых, мотивирует авторов делать контент высокого качества. Можно даже попробовать вычислить оптимальный баланс между качеством и engagement в таргете, используя дополнительные предположения об их распределениях [2]. Эксперименты крупных западных платформ показывают, что модели, обученные с учётом качества контента, значимо выигрывают в retention [1].
Минус такого подхода в его субъективности. В конце концов, за решением о том, какой пост считать качественным, стоят не алгоритмы, а те, кто определяет критерии качества или размечает данные для моделей-классификаторов. От работы этих людей зависит, какие посты будут поощряться сервисом, а какие, наоборот, не получат охватов. Правильнее было бы спросить об этом самих пользователей, задав им вопросы, которые коррелируют с retention: «хотите ли вы видеть больше подобных статей? Оскорбляет ли этот пост какую-то категорию людей?» И тоже включить эти данные в таргеты ранжирующих моделей.
Ещё одна проблема учёта качества контента при ранжировании — как измерить результат. Раньше мы опирались на метрики engagement, которые легко двигаются в экспериментах. Теперь же нужно мерить retention, и это требует длинных экспериментов с риском потери метрик реакций на посты. Возможное решение — опросы пользователей. В одном из наших
предыдущих постов успех измерялся именно так. Такие опросы тоже вызывают сложности: смещение аудитории, недостаток данных, результат сильно зависит от формулировки (Готовы ли вы рекомендовать наш сервис вашим друзьям и знакомым?🤮).
С одной стороны, итог банальный: универсального рецепта нет и платформы решают проблемы компромисса между engagement и качеством в ранжировании как могут. С другой стороны, система держится в том числе на иногда субъективных решениях айтишников. Так работал ранний интернет, и, говорят, он был прекрасен🦸♂️.
Если вам понравился пост, обратите внимание на статьи, которые мы использовали при его подготовке. Там не только расширенное обсуждение идей из поста, но и много ссылок на источники по теме.
[1]
What We Know About Using Non-Engagement Signals in Content Ranking[2]
Ranking by Engagement