Facebook объяснила принцип работы своей рекомендательной системы

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

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

Как это работает?

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

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

Источник: Facebook

Для этого могут использоваться характеристики сообщения, например, кто отмечен на фотографии и когда она была опубликована , чтобы предсказать, понравится ли она Хуану. Например, если он часто переписывается с Саанви в мессенджере или комментариях под постами, а ее новое видео было выложено вскоре после их общения, высока вероятность, что Хуану понравится оно понравится.

Если в прошлом Хуан смотрел больше видеоконтента, чем фотографий, его с меньшей вероятностью заинтересует фото кокер-спаниеля Вэя. В этом случае алгоритм ранжирования Facebook выдаст видео с пробежки Саанви выше, чем фото собаки Вэя.

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

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

Сужение выборки

Система собирает все посты-кандидаты, которые может ранжировать для Хуана (фото кокер-спаниеля, бегущее видео, пост про Млечный путь и рецепт закваски). Этот арсенал включает в себя весь недавно размещенный контент друзей, групп или страниц, на которые подписан Хуан.

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

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

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

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


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

Все интересное про диджитал у нас в телеграме, а может быть и у вас: https://t.me/performance_360

Другие хорошие статьи