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

"He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. "The result is on this photo: fiery 'greetings' to the invaders," the Security Service of Ukraine wrote alongside a photo showing several military vehicles among plumes of black smoke. Just days after Russia invaded Ukraine, Durov wrote that Telegram was "increasingly becoming a source of unverified information," and he worried about the app being used to "incite ethnic hatred." Given the pro-privacy stance of the platform, it’s taken as a given that it’ll be used for a number of reasons, not all of them good. And Telegram has been attached to a fair few scandals related to terrorism, sexual exploitation and crime. Back in 2015, Vox described Telegram as “ISIS’ app of choice,” saying that the platform’s real use is the ability to use channels to distribute material to large groups at once. Telegram has acted to remove public channels affiliated with terrorism, but Pavel Durov reiterated that he had no business snooping on private conversations. The perpetrators use various names to carry out the investment scams. They may also impersonate or clone licensed capital market intermediaries by using the names, logos, credentials, websites and other details of the legitimate entities to promote the illegal schemes.
from kr


Telegram commit history
FROM American