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: |

The Russian invasion of Ukraine has been a driving force in markets for the past few weeks. Continuing its crackdown against entities allegedly involved in a front-running scam using messaging app Telegram, Sebi on Thursday carried out search and seizure operations at the premises of eight entities in multiple locations across the country. "The inflation fire was already hot and now with war-driven inflation added to the mix, it will grow even hotter, setting off a scramble by the world’s central banks to pull back their stimulus earlier than expected," Chris Rupkey, chief economist at FWDBONDS, wrote in an email. "A spike in inflation rates has preceded economic recessions historically and this time prices have soared to levels that once again pose a threat to growth." The Security Service of Ukraine said in a tweet that it was able to effectively target Russian convoys near Kyiv because of messages sent to an official Telegram bot account called "STOP Russian War." 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 ru


Telegram commit history
FROM American