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

One thing that Telegram now offers to all users is the ability to “disappear” messages or set remote deletion deadlines. That enables users to have much more control over how long people can access what you’re sending them. Given that Russian law enforcement officials are reportedly (via Insider) stopping people in the street and demanding to read their text messages, this could be vital to protect individuals from reprisals. Again, in contrast to Facebook, Google and Twitter, Telegram's founder Pavel Durov runs his company in relative secrecy from Dubai. To that end, when files are actively downloading, a new icon now appears in the Search bar that users can tap to view and manage downloads, pause and resume all downloads or just individual items, and select one to increase its priority or view it in a chat. Although some channels have been removed, the curation process is considered opaque and insufficient by analysts. The account, "War on Fakes," was created on February 24, the same day Russian President Vladimir Putin announced a "special military operation" and troops began invading Ukraine. The page is rife with disinformation, according to The Atlantic Council's Digital Forensic Research Lab, which studies digital extremism and published a report examining the channel.
from fr


Telegram commit history
FROM American