Я просмотрел › 400 000 строк кода, так что вам не придется.

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

Введение

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

Алгоритм состоит из ошеломляющих 48 миллионов параметров, которые разрабатывались в течение двух десятилетий изумительной инженерной мысли и передавали 150 миллиардов твитов на устройства.

Рекомендация твитов

Система состоит из трех основных этапов: поиск кандидатов, ранжирование и фильтрация. На этапе поиска кандидатов Twitter использует несколько разных источников-кандидатов для получения недавних и релевантных твитов для пользователя. Эти источники включают людей, на которых вы подписаны (в сети), и людей, на которых вы не подписаны (вне сети).

Эти модели призваны ответить на важные вопросы о сети Twitter, такие как «Какова вероятность того, что вы будете взаимодействовать с другим пользователем в будущем?»

Давайте разберемся в этом шаг за шагом.

Поиск кандидатов

Твиттер запускает запросы 5 миллиардов раз в день и выполняет в среднем менее 1,5 секунд. Да, верно, 5 и 9 нулей. Для каждого запроса он извлекает 1500 лучших твитов из пула сотен миллионов через эти источники.

Twitter находит кандидатов среди людей, на которых вы подписаны (в сети), и среди людей, на которых вы не подписаны (вне сети). Сегодня временная шкала For You состоит в среднем на 50% из твитов внутри сети и на 50% из твитов вне сети, хотя это может варьироваться от пользователя к пользователю.

In-Network — это когда Твиттер просматривает твиты людей, за которыми вы следите, и показывает вам наиболее релевантные на основе модели, которая ранжирует их по релевантности. Twitter также использует модель под названием Real Graph, чтобы предсказать, насколько вероятно, что вы взаимодействуете с конкретным твитом, на основе ваших взаимодействий с автором твита.

Вне сети — это когда Твиттер пытается найти релевантные твиты от людей, на которых вы не подписаны. Для этого они используют два подхода. Во-первых, проанализировать вовлеченность людей, на которых вы подписаны, и найти твиты, похожие на те, с которыми они взаимодействуют. Второй — использовать метод Embedding Spaces, где они генерируют числовые представления интересов пользователей и контента твитов, чтобы найти сходство между пользователями, твитами и парами «пользователь-твит».

В Twitter также есть инструмент под названием SimClusters, который находит сообщества влиятельных пользователей на основе пользовательских алгоритмов. Твиты могут быть встроены в эти сообщества в зависимости от их текущей популярности в этом сообществе.

Рейтинг

Твиттер хочет показывать вам твиты, которые интересны и актуальны для вас. Они начинают со сбора около 1500 твитов, которые, по их мнению, могут быть хорошими кандидатами. Затем они оценивают каждый твит, чтобы предсказать, насколько он может быть актуален для вас. Эта оценка является основным способом ранжирования твитов на вашей временной шкале.

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

Наконец, Twitter берет все оценки и сортирует твиты от самого высокого к самому низкому. Сначала вам будут показаны твиты с наивысшими баллами, чтобы вы могли увидеть те, которые, скорее всего, будут интересны или актуальны.

Фильтрация

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

  • Фильтрация видимости: Твиттер фильтрует твиты на основе их содержания и ваших предпочтений, таких как блокировка или отключение твитов от определенных учетных записей.
  • Разнообразие авторов. Платформа гарантирует, что в вашей ленте не будет слишком много последовательных твитов от одного автора.
  • Баланс содержания: Твиттер следит за тем, чтобы в вашей ленте был справедливый баланс твитов внутри сети и вне сети.
  • Усталость на основе отзывов. Если вы оставили отрицательный отзыв об определенном твите, Twitter снизит его оценку, чтобы больше не показывать его вам.
  • Социальное доказательство. Твиттер включает в себя только те твиты, которые находятся вне сети и связаны с вами второй степени, гарантируя, что кто-то, на кого вы подписаны, заинтересован в твите или подписан на автора твита.
  • Беседы: ответы на твит объединяются вместе с исходным твитом, чтобы предоставить больше контекста для беседы.
  • Отредактированные твиты. Твиттер определяет, устарели ли твиты, находящиеся на вашем устройстве, и отправляет инструкции по замене их отредактированными версиями.

Что поможет, а что нет

Есть некоторые вещи, о которых вы можете помнить во время твитов, которые могут помочь увеличить или уменьшить количество ваших твитов.

Усиления:

  • Ответы на твиты увеличивают шансы на рекомендации в 1 раз.
  • Включение изображений или видео в твиты может повысить количество рекомендаций в 2 раза.
  • Twitter Blue, платный сервис подписки, может повысить количество рекомендаций в 2–4 раза.
  • Быть частью доверенного круга или иметь группу пользователей, которые часто взаимодействуют с вашими твитами, может повысить количество рекомендаций в 3 раза.
  • Ретвиты от других пользователей могут повысить рекомендации в 20 раз.
  • Лайки на твитах могут повысить рекомендации в 30 раз.

Дебуст:

  • Твиты, которые содержат только URL-адрес без сопроводительного текста, могут быть удалены из рекомендаций.
  • Твиты без текста или с очень маленьким текстом также могут быть исключены из рекомендаций.

Ресурсы





Заключение

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

Twitter использует различные модели и методы, такие как Real Graph, Embedding Spaces и SimClusters, для поиска и ранжирования релевантных твитов. Нейронная сеть играет решающую роль в ранжировании твитов на основе их релевантности и потенциальных взаимодействий.

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