Telegram Group & Telegram Channel
🐦 Твиттер выложил код со своими рекомендациями для вкладки For You.

Ссылки
Статья в блоге твиттера
Основной код
Код ML
Аудио обсуждение от твиттера (пока не слушал)

Пролистал
репозиторий, твиттер, комментарии на HN и решил поделиться тем, что нашел.
Важный момент – меня интересуют более практические моменты, которые можно будет применить в своей работе.

Поэтому сразу подборка хайпа, чтобы потом про него не писать:
+ Смотрят на метрики трафика и взаимодействия по авторам во время АБ тестов: Маск, демократы/республиканцы, “power users” – захардкоженный список? Многие захейтили твиттер, но я проблем не вижу, стандартная практика, чтобы нечаянно не уронить трафик некоторым авторам.
UPD:
Кажется, что этот кусок в спешке потерли
за ссылку спасибо @oktai15


+ Бустят авторов с синей галочкой (а с 15 апреля в рекомендациях от не-подписок оставят только их)

+
Много чего не выложили (модели, данные, еще по лицензии нельзя использовать код для коммерческих целей), зато есть описание, код некоторых модулей и сопроводительные README.md

🐦 Обзор.

В твиттере есть две ленты:
Following
– хронологическая лента ваших подписок.
For you - умная лента. Про нее мы и будем говорить. Задача этой ленты с одной стороны показывать интересные посты ваших подписок (In-Network) + показывать контент не подписок для exploration (Out-Network). Соотношение 50/50. Такое соотношение звучит, как бейзлайн. Интересно, это действительно самое оптимальное соотношение по АБ или просто забили?

Термины для удобства:
+ Подписки – аккаунты на которые я подписан.
+ Эмбеддинг – вектор (набор чисел), отражающий пост/автора/юзера.

В репозитории есть схема и таблица описание основных модулей. Советую посмотреть.

Общая схема рекомендаций стандартная:
Генерация кандидатов -> Ранжирование -> Пост-обработка эвристиками.

Генерация кандидатов.
В случае твиттов из подписок (In-Network source) -> берем ваши подписки -> генерим фичи уровня юзер – автор -> скорим простым ранкером (модуль называется RealGraph модель GBDT) на вероятность взаимодействия.
Потом берем последние посты топа предсказанных авторов и скорим посты подписок early bird (модель ЛогРег).
Это основной генератор постов из подписок. Отсюда получаем ~750 постов.

Out-network source (посты от не подписок).
1. Социальный граф.
1. Твитты, с которым взаимодействовали мои подписки.
2. Колаборитвная фильтрация. Лайки юзеров, которые лайкают похожие со мной посты.
2. Эмбеддинги.
1. Разреженные эмбеддинги от модели SimClusters. Юзеры и твиты отображаются в пространство “сообществ”. Статью не читал, пока не оч понял как все устроено.
2. Эмбеддинги от модели TwinHW размерность ~200. Обучают на графах юзер-автор, таргет подписка и юзер-твит, таргет взаимодействие. На инференсе смотрим близость юзера к твиту, юзера к авторам. Статья

Ранжирование.
После генерации кандидатов мы получаем ~1,500 твиттов, которые могут быть нам интересны. Дальше работает ранкер (сеть с 48Mln параметров, архитектура: parallel masknet Задача ранкера отсортировать эти твиты используя больше признаков (информации).
Код “heavy ranker”

Интересности.
1. Ранкер обучаем на несколько задач. На выходе сигмоиды, предсказываем вероятность разных действий. Список действий тут.
2. Предсказанные вероятности складываем с весами. Максимальный положительный вес – is_replied_reply_engaged_by_author или вероятность, что автор поста ответит на ваш комментарий на его твит. Наиболее отрицательный вес – is_report_tweet_clicked или что вы пожалуетесь на твит.
3. Фичи для обучения ранкера (информация, на основе которой предсказываются вероятности) – в основном счётчики (ожидаемо). Например сколько раз вы лайкали автора за 50 дней. Есть short-term (30min-3days) и long-term (50 days) статистики. Еще заметил, что в название user_author фичей есть версии так, что можно предположить какие фичи постепенно добавляли.



group-telegram.com/c0mmit/42
Create:
Last Update:

🐦 Твиттер выложил код со своими рекомендациями для вкладки For You.

Ссылки
Статья в блоге твиттера
Основной код
Код ML
Аудио обсуждение от твиттера (пока не слушал)

Пролистал
репозиторий, твиттер, комментарии на HN и решил поделиться тем, что нашел.
Важный момент – меня интересуют более практические моменты, которые можно будет применить в своей работе.

Поэтому сразу подборка хайпа, чтобы потом про него не писать:
+ Смотрят на метрики трафика и взаимодействия по авторам во время АБ тестов: Маск, демократы/республиканцы, “power users” – захардкоженный список? Многие захейтили твиттер, но я проблем не вижу, стандартная практика, чтобы нечаянно не уронить трафик некоторым авторам.
UPD:
Кажется, что этот кусок в спешке потерли
за ссылку спасибо @oktai15


+ Бустят авторов с синей галочкой (а с 15 апреля в рекомендациях от не-подписок оставят только их)

+
Много чего не выложили (модели, данные, еще по лицензии нельзя использовать код для коммерческих целей), зато есть описание, код некоторых модулей и сопроводительные README.md

🐦 Обзор.

В твиттере есть две ленты:
Following
– хронологическая лента ваших подписок.
For you - умная лента. Про нее мы и будем говорить. Задача этой ленты с одной стороны показывать интересные посты ваших подписок (In-Network) + показывать контент не подписок для exploration (Out-Network). Соотношение 50/50. Такое соотношение звучит, как бейзлайн. Интересно, это действительно самое оптимальное соотношение по АБ или просто забили?

Термины для удобства:
+ Подписки – аккаунты на которые я подписан.
+ Эмбеддинг – вектор (набор чисел), отражающий пост/автора/юзера.

В репозитории есть схема и таблица описание основных модулей. Советую посмотреть.

Общая схема рекомендаций стандартная:
Генерация кандидатов -> Ранжирование -> Пост-обработка эвристиками.

Генерация кандидатов.
В случае твиттов из подписок (In-Network source) -> берем ваши подписки -> генерим фичи уровня юзер – автор -> скорим простым ранкером (модуль называется RealGraph модель GBDT) на вероятность взаимодействия.
Потом берем последние посты топа предсказанных авторов и скорим посты подписок early bird (модель ЛогРег).
Это основной генератор постов из подписок. Отсюда получаем ~750 постов.

Out-network source (посты от не подписок).
1. Социальный граф.
1. Твитты, с которым взаимодействовали мои подписки.
2. Колаборитвная фильтрация. Лайки юзеров, которые лайкают похожие со мной посты.
2. Эмбеддинги.
1. Разреженные эмбеддинги от модели SimClusters. Юзеры и твиты отображаются в пространство “сообществ”. Статью не читал, пока не оч понял как все устроено.
2. Эмбеддинги от модели TwinHW размерность ~200. Обучают на графах юзер-автор, таргет подписка и юзер-твит, таргет взаимодействие. На инференсе смотрим близость юзера к твиту, юзера к авторам. Статья

Ранжирование.
После генерации кандидатов мы получаем ~1,500 твиттов, которые могут быть нам интересны. Дальше работает ранкер (сеть с 48Mln параметров, архитектура: parallel masknet Задача ранкера отсортировать эти твиты используя больше признаков (информации).
Код “heavy ranker”

Интересности.
1. Ранкер обучаем на несколько задач. На выходе сигмоиды, предсказываем вероятность разных действий. Список действий тут.
2. Предсказанные вероятности складываем с весами. Максимальный положительный вес – is_replied_reply_engaged_by_author или вероятность, что автор поста ответит на ваш комментарий на его твит. Наиболее отрицательный вес – is_report_tweet_clicked или что вы пожалуетесь на твит.
3. Фичи для обучения ранкера (информация, на основе которой предсказываются вероятности) – в основном счётчики (ожидаемо). Например сколько раз вы лайкали автора за 50 дней. Есть short-term (30min-3days) и long-term (50 days) статистики. Еще заметил, что в название user_author фичей есть версии так, что можно предположить какие фичи постепенно добавляли.

BY commit history


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/c0mmit/42

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

A Russian Telegram channel with over 700,000 followers is spreading disinformation about Russia's invasion of Ukraine under the guise of providing "objective information" and fact-checking fake news. Its influence extends beyond the platform, with major Russian publications, government officials, and journalists citing the page's posts. He adds: "Telegram has become my primary news source." At its heart, Telegram is little more than a messaging app like WhatsApp or Signal. But it also offers open channels that enable a single user, or a group of users, to communicate with large numbers in a method similar to a Twitter account. This has proven to be both a blessing and a curse for Telegram and its users, since these channels can be used for both good and ill. Right now, as Wired reports, the app is a key way for Ukrainians to receive updates from the government during the invasion. "This time we received the coordinates of enemy vehicles marked 'V' in Kyiv region," it added. The channel appears to be part of the broader information war that has developed following Russia's invasion of Ukraine. The Kremlin has paid Russian TikTok influencers to push propaganda, according to a Vice News investigation, while ProPublica found that fake Russian fact check videos had been viewed over a million times on Telegram.
from vn


Telegram commit history
FROM American